curl --request GET \
--url https://api.budgetpixel.com/v1/poses \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.budgetpixel.com/v1/poses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.budgetpixel.com/v1/poses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.budgetpixel.com/v1/poses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.budgetpixel.com/v1/poses"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.budgetpixel.com/v1/poses")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.budgetpixel.com/v1/poses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"has_more": true,
"how_to_use": "<string>",
"poses": [
{
"cover": {
"angle": "front",
"azimuth": 0,
"elevation": 0,
"figure": "woman",
"height": 1152,
"id": "<string>",
"label": "Back left · from above",
"made_by": "<string>",
"mention": "@seiza_pose.back",
"thumbnail_url": "<string>",
"url": "<string>",
"view": true,
"width": 864
},
"created_at": "2023-11-07T05:31:56Z",
"creator": {
"display_name": "<string>",
"username": "<string>"
},
"description": "Sits on the floor leaning back, the weight on both palms placed flat behind the hips. One knee is bent up towards the chest, the other leg stretched out straight and relaxed. The torso angles slightly back and the head faces forward.",
"difficulty": "everyday",
"fit": "women",
"handle": "sitting_knee_up_pose",
"holdable": true,
"id": "<string>",
"mention": "@sitting_knee_up_pose",
"name": "Sitting Knee Up",
"pictures": [
{
"angle": "front",
"azimuth": 0,
"elevation": 0,
"figure": "woman",
"height": 1152,
"id": "<string>",
"label": "Back left · from above",
"made_by": "<string>",
"mention": "@seiza_pose.back",
"thumbnail_url": "<string>",
"url": "<string>",
"view": true,
"width": 864
}
],
"props": [
"chair"
],
"rating": 0,
"shelf": "sitting",
"shelf_label": "Sitting",
"slug": "sitting-knee-up-pose",
"source": "house",
"support": "sitting",
"tags": [
"floor",
"relaxed"
],
"uses": 123,
"view_count": 3
}
],
"shelves": [
{
"id": "sitting",
"label": "Sitting"
}
],
"total": 123
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}List poses
The shared pose library: body positions drawn on two faceless grey mannequins, a woman and a man, from the front and from other angles. Every pose is one a real body can do, and every pose works for every user.
Posing. Write a pose’s mention after a character in the prompt of any image or
video generation on a model that takes characters: "@rosa in @sitting_knee_up_pose on a beach at sunset". The mannequin that matches the character’s gender goes with it as a
reference image (the woman when the gender isn’t known) and the pose’s description is
added; the character takes the position and keeps their own face, build and clothes. A
pose goes with the nearest character written before it. Add a view for another angle:
@sitting_knee_up_pose.three_quarter (front by default; every picture’s mention
names its view). Using a pose adds no fee: the generation costs the model’s normal price.
A list carries each pose’s own pictures; view_count counts the views members made from
other places on the globe, which GET /v1/poses/{handle} lists in full.
Free — no credits. Limited to 300 calls per day and 30 a minute per account.
curl --request GET \
--url https://api.budgetpixel.com/v1/poses \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.budgetpixel.com/v1/poses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.budgetpixel.com/v1/poses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.budgetpixel.com/v1/poses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.budgetpixel.com/v1/poses"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.budgetpixel.com/v1/poses")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.budgetpixel.com/v1/poses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"has_more": true,
"how_to_use": "<string>",
"poses": [
{
"cover": {
"angle": "front",
"azimuth": 0,
"elevation": 0,
"figure": "woman",
"height": 1152,
"id": "<string>",
"label": "Back left · from above",
"made_by": "<string>",
"mention": "@seiza_pose.back",
"thumbnail_url": "<string>",
"url": "<string>",
"view": true,
"width": 864
},
"created_at": "2023-11-07T05:31:56Z",
"creator": {
"display_name": "<string>",
"username": "<string>"
},
"description": "Sits on the floor leaning back, the weight on both palms placed flat behind the hips. One knee is bent up towards the chest, the other leg stretched out straight and relaxed. The torso angles slightly back and the head faces forward.",
"difficulty": "everyday",
"fit": "women",
"handle": "sitting_knee_up_pose",
"holdable": true,
"id": "<string>",
"mention": "@sitting_knee_up_pose",
"name": "Sitting Knee Up",
"pictures": [
{
"angle": "front",
"azimuth": 0,
"elevation": 0,
"figure": "woman",
"height": 1152,
"id": "<string>",
"label": "Back left · from above",
"made_by": "<string>",
"mention": "@seiza_pose.back",
"thumbnail_url": "<string>",
"url": "<string>",
"view": true,
"width": 864
}
],
"props": [
"chair"
],
"rating": 0,
"shelf": "sitting",
"shelf_label": "Sitting",
"slug": "sitting-knee-up-pose",
"source": "house",
"support": "sitting",
"tags": [
"floor",
"relaxed"
],
"uses": 123,
"view_count": 3
}
],
"shelves": [
{
"id": "sitting",
"label": "Sitting"
}
],
"total": 123
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}Authorizations
API key as a bearer token: Authorization: Bearer bpx_live_xxx
Query Parameters
Words that must all appear in the pose's name, handle, description or tags (e.g. knee up).
One shelf.
standing, sitting, lying, kneeling_crouching, walking_running, jumping_action, dance, sports_fitness, glamour, gestures_upper_body women or men: the poses made for them plus the unisex ones (unisex lists them all). Every pose works for any character: the mannequin follows the character's gender.
women, men, unisex 1 <= x <= 50x >= 0