{"openapi":"3.1.0","info":{"title":"Pixel Lab API","description":"\nThe API provides endpoints for creating AI-generated pixel art images, rotations,\nanimations, and more. Making it easy for applications to integrate pixel art\ngeneration capabilities.\n\n### Python Client\n\nFor convenience, a Python client library is available to simplify integration with your applications.\nVisit our [GitHub repository](https://github.com/pixellab-code/pixellab-python) for installation \ninstructions and examples.\n\n```bash\npip install pixellab\n```\n\n### Authentication\n\nThe API uses a simple token based authentication system. After creating an account, you can find your API token \nin your [account settings](https://pixellab.ai/account). Include this token in all API requests using the Bearer authentication scheme:\n\n```bash\ncurl -X POST https://api.pixellab.ai/v1/generate-image-pixflux \\\n    -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n        \"description\": \"cute dragon\",\n        \"image_size\": {\"width\": 128, \"height\": 128}\n    }'\n```\n\nOr use the Python client:\n\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\nclient.generate_image_pixflux(\n    description=\"cute dragon\",\n    image_size=dict(width=128, height=128),\n)\n```\n\n### Supported models\n\n- **Generate Image Bitforge**: Apply custom art styles using reference images.\n- **Generate Image Pixflux**: Generate pixel art from text descriptions.\n- **Animate (skeleton)**: Generate 4 frames of an animation from skeleton poses.\n- **Animate (text)**: Generate animation from text descriptions.\n- **Inpaint**: Edit and modify existing pixel art.\n- **Rotate**: Rotate an object or a character.\n","version":"dev"},"paths":{"/generate-image-pixflux":{"post":{"tags":["Generate Image"],"summary":"Generate image (pixflux)","description":"Creates a pixel art image based on the provided parameters. Called \"Create image (new)\" in the plugin.\n\nSupported image size: \n- Minimum area 32x32 and maximum area 400x400  \n\nSupported features:\n- Init image\n- Forced palette\n- Transparent background\n\nUsing the Python client:\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\n\nresponse = client.generate_image_pixflux(\n    description=\"cute dragon\",\n    image_size=dict(width=128, height=128),\n)\nresponse.image.pil_image()\n```","operationId":"generate_image_pixflux_generate_image_pixflux_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImagePixfluxRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImagePixfluxResponse"},"example":{"image":{"type":"base64","base64":"data:image/png;base64,..."},"usage":{"type":"usd","usd":0.01}}}}},"401":{"description":"Invalid API token"},"402":{"description":"Insufficient credits"},"422":{"description":"Validation error"},"429":{"description":"Too many requests"},"529":{"description":"Rate limit exceeded"}},"security":[{"HTTPBearer":[]}]}},"/generate-image-bitforge":{"post":{"tags":["Generate Image"],"summary":"Generate image (bitforge)","description":"Generates a pixel art image based on the provided parameters. Called \"Generate image (style)\" in the plugin.\n\nSupported image size: \n- Maximum area 200x200  \n\nSupported features:\n- Style image\n- Inpainting\n- Init image\n- Forced palette\n- Transparent background\n\nUsing the Python client:\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\n\nresponse = client.generate_image_bitforge(\n    description=\"cute dragon\",\n    image_size=dict(width=128, height=128),\n)\nresponse.image.pil_image()\n```","operationId":"generate_image_bitforge_generate_image_bitforge_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageBitforgeRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageBitforgeResponse"},"example":{"image":{"type":"base64","base64":"data:image/png;base64,..."},"usage":{"type":"usd","usd":0.01}}}}},"401":{"description":"Invalid API token"},"402":{"description":"Insufficient credits"},"422":{"description":"Validation error"},"429":{"description":"Too many requests"},"529":{"description":"Rate limit exceeded"}},"security":[{"HTTPBearer":[]}]}},"/animate-with-skeleton":{"post":{"tags":["Animate"],"summary":"Generate animation using skeletons","description":"Creates a pixel art animation based on the provided parameters. Called \"Animate with skeleton\" in the plugin.\n\nSupported image sizes: \n- 16x16\n- 32x32\n- 64x64\n- 128x128\n- 256x256  \n\nSupported features:\n- Inpainting\n- Init image\n- Forced palette\n\nUsing the Python client:\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\n\nresponse = client.animate_with_skeleton(\n    view=\"side\",\n    direction=\"south\",\n    image_size=dict(width=64, height=64),\n    reference_image=reference_image,\n    inpainting_images=existing_animation_frames,\n    mask_images=mask_images,\n    skeleton_keypoints=skeleton_keypoints,\n)\nimages = [image.pil_image() for image in response.images]\n```","operationId":"animate_with_skeleton_animate_with_skeleton_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimateWithSkeletonRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimateWithSkeletonResponse"},"example":{"images":[{"type":"base64","base64":"data:image/png;base64,..."},{"type":"base64","base64":"data:image/png;base64,..."},{"type":"base64","base64":"data:image/png;base64,..."}],"usage":{"type":"usd","usd":0.01}}}}},"401":{"description":"Invalid API token"},"402":{"description":"Insufficient credits"},"422":{"description":"Validation error"},"429":{"description":"Too many requests"},"529":{"description":"Rate limit exceeded"}},"security":[{"HTTPBearer":[]}]}},"/animate-with-text":{"post":{"tags":["Animate"],"summary":"Generate animation using text description","description":"Creates a pixel art animation based on text description and parameters.\n\nSupported image sizes: \n- 64x64\n\nSupported features:\n- Text-guided animation generation\n- Inpainting\n- Init image\n- Forced palette\n- Multiple frames\n\nUsing the Python client:\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\n\nresponse = client.animate_with_text(\n    description=\"human mage\",\n    action=\"walk\",\n    view=\"side\",\n    direction=\"south\",\n    image_size=dict(width=64, height=64),\n    reference_image=reference_image,\n    n_frames=4\n)\nimages = [image.pil_image() for image in response.images]\n```","operationId":"animate_with_text_animate_with_text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimateWithTextRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated animation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimateWithTextResponse"},"example":{"images":[{"type":"base64","base64":"data:image/png;base64,..."},{"type":"base64","base64":"data:image/png;base64,..."},{"type":"base64","base64":"data:image/png;base64,..."},{"type":"base64","base64":"data:image/png;base64,..."}],"usage":{"type":"usd","usd":0.01}}}}},"401":{"description":"Invalid API token"},"402":{"description":"Insufficient credits"},"422":{"description":"Validation error"},"429":{"description":"Too many requests"},"529":{"description":"Rate limit exceeded"}},"security":[{"HTTPBearer":[]}]}},"/rotate":{"post":{"tags":["Rotate"],"summary":"Rotate character or object","description":"Rotates a pixel art image based on the provided parameters. Called \"Rotate\" in the plugin.\n\nSupported image sizes: \n- 16x16\n- 32x32\n- 64x64\n- 128x128    \n\nSupported features:\n- Init image\n- Forced palette\n\nUsing the Python client:\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\n\nresponse = client.rotate(\n    from_view=\"side\",\n    to_view=\"side\",\n    from_direction=\"south\",\n    to_direction=\"east\",\n    image_size=dict(width=16, height=16),\n    from_image=image_of_subject_facing_south,\n)\nresponse.image.pil_image()\n```","operationId":"generate_rotation_rotate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateResponse"},"example":{"image":{"type":"base64","base64":"data:image/png;base64,..."},"usage":{"type":"usd","usd":0.01}}}}},"401":{"description":"Invalid API token"},"402":{"description":"Insufficient credits"},"422":{"description":"Validation error"},"429":{"description":"Too many requests"},"529":{"description":"Rate limit exceeded"}},"security":[{"HTTPBearer":[]}]}},"/inpaint":{"post":{"tags":["Inpaint"],"summary":"Inpaint image","description":"Creates a pixel art image based on the provided parameters. Called \"Inpaint\" in the plugin.\n\nSupported image size: \n- Maximum area 200x200\n\nSupported features:\n- Inpainting\n- Init image\n- Forced palette\n- Transparent background\n\nUsing the Python client:\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\n\nresponse = client.inpaint(\n    description=\"boy with wings\",\n    image_size=dict(width=16, height=16),\n    inpainting_image=image_of_boy_without_wings,\n    mask_image=mask_image,\n)\nresponse.image.pil_image()\n```","operationId":"generate_inpainting_inpaint_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InpaintRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InpaintResponse"},"example":{"image":{"type":"base64","base64":"data:image/png;base64,..."},"usage":{"type":"usd","usd":0.01}}}}},"401":{"description":"Invalid API token"},"402":{"description":"Insufficient credits"},"422":{"description":"Validation error"},"429":{"description":"Too many requests"},"529":{"description":"Rate limit exceeded"}},"security":[{"HTTPBearer":[]}]}},"/estimate-skeleton":{"post":{"tags":["Animate"],"summary":"Estimate skeleton","description":"Estimates the skeleton of a character, returning a list of keypoints to use with the skeleton animation tool.\n\nSupported image sizes: \n- 16x16\n- 32x32\n- 64x64\n- 128x128\n- 256x256\n\nUsing the Python client:\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\n\nresponse = client.estimate_skeleton(\n    image=image_of_the_character_on_a_transparent_background,\n)\nresponse.keypoints\n```","operationId":"estimate_skeleton_estimate_skeleton_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimateSkeletonRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated image","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimateSkeletonResponse"},"example":{"image":{"type":"base64","base64":"data:image/png;base64,..."},"usage":{"type":"usd","usd":0.01}}}}},"401":{"description":"Invalid API token"},"402":{"description":"Insufficient credits"},"422":{"description":"Validation error"},"429":{"description":"Too many requests"},"529":{"description":"Rate limit exceeded"}},"security":[{"HTTPBearer":[]}]}},"/balance":{"get":{"tags":["Account"],"summary":"Get balance","description":"Returns the current balance for your account.\n\nUsing the Python client:\n```python\nimport pixellab\n\nclient = pixellab.Client(secret=\"YOUR_API_TOKEN\")\nbalance = client.get_balance()\nprint(f\"Current balance: {balance.usd} USD\")\n```","operationId":"get_balance_balance_get","responses":{"200":{"description":"Successfully retrieved balance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditsResponse"},"example":{"usd":100.0}}}},"401":{"description":"Invalid API token"}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"AnimateWithSkeletonRequest":{"properties":{"image_size":{"$ref":"#/components/schemas/app__endpoints__external__v1__animate_with_skeleton__ImageSize"},"guidance_scale":{"type":"number","maximum":20.0,"minimum":1.0,"title":"Guidance Scale","description":"How closely to follow the reference image and skeleton keypoints","default":4.0},"view":{"$ref":"#/components/schemas/CameraView","description":"Camera view angle","default":"side"},"direction":{"$ref":"#/components/schemas/Direction","description":"Subject direction","default":"east"},"isometric":{"type":"boolean","title":"Isometric","description":"Generate in isometric view","default":false},"oblique_projection":{"type":"boolean","title":"Oblique Projection","description":"Generate in oblique projection","default":false},"init_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/Base64Image"},"type":"array"},{"type":"null"}],"title":"Init Images","description":"Initial images to start the generation from"},"init_image_strength":{"type":"integer","maximum":999.0,"minimum":1.0,"title":"Init Image Strength","description":"Strength of the initial image influence","default":300},"skeleton_keypoints":{"items":{"items":{"$ref":"#/components/schemas/Point"},"type":"array"},"type":"array","title":"Skeleton Keypoints","description":"Skeleton pose keypoints. Requires EXACTLY 3 frames — the model is a 3-frame window; other counts are rejected with a 422."},"reference_image":{"$ref":"#/components/schemas/Base64Image","description":"Reference image"},"inpainting_images":{"items":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}]},"type":"array","title":"Inpainting Images","description":"Images used for showing the model with connected skeleton","default":[null,null,null]},"mask_images":{"items":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}]},"type":"array","title":"Mask Images","description":"Inpainting / mask image (black and white image, where the white is where the model should inpaint)"},"color_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Forced color palette, image containing colors used for palette"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed decides the starting noise"}},"type":"object","required":["image_size","reference_image"],"title":"AnimateWithSkeletonRequest","description":"Request model for animation using skeleton endpoint","example":{"image_size":{"height":64,"width":64}}},"AnimateWithSkeletonResponse":{"properties":{"usage":{"$ref":"#/components/schemas/Usage"},"images":{"items":{"$ref":"#/components/schemas/Base64Image"},"type":"array","title":"Images"}},"type":"object","required":["usage","images"],"title":"AnimateWithSkeletonResponse"},"AnimateWithTextRequest":{"properties":{"image_size":{"$ref":"#/components/schemas/app__endpoints__external__v1__animate_with_text__ImageSize"},"description":{"type":"string","title":"Description","description":"Character description"},"negative_description":{"type":"string","title":"Negative Description","description":"Negative prompt to guide what not to generate","default":""},"action":{"type":"string","title":"Action","description":"Action description"},"text_guidance_scale":{"anyOf":[{"type":"number","maximum":20.0,"minimum":1.0},{"type":"null"}],"title":"Text Guidance Scale","description":"How closely to follow the text prompts","default":8.0},"image_guidance_scale":{"anyOf":[{"type":"number","maximum":20.0,"minimum":1.0},{"type":"null"}],"title":"Image Guidance Scale","description":"How closely to follow the reference image","default":1.4},"n_frames":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":2.0},{"type":"null"}],"title":"N Frames","description":"Length of full animation (the model will always generate 4 frames)","default":4},"start_frame_index":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":0.0},{"type":"null"}],"title":"Start Frame Index","description":"Starting frame index of the full animation","default":0},"view":{"$ref":"#/components/schemas/CameraView","description":"Camera view angle","default":"side"},"direction":{"$ref":"#/components/schemas/Direction","description":"Subject direction","default":"east"},"init_images":{"anyOf":[{"items":{"$ref":"#/components/schemas/Base64Image"},"type":"array"},{"type":"null"}],"title":"Init Images","description":"Initial images to start the generation from"},"init_image_strength":{"type":"integer","maximum":999.0,"minimum":1.0,"title":"Init Image Strength","description":"Strength of the initial image influence","default":300},"reference_image":{"$ref":"#/components/schemas/Base64Image","description":"Reference image"},"inpainting_images":{"items":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}]},"type":"array","title":"Inpainting Images","description":"Existing animation frames to guide the generation","default":[null,null,null,null]},"mask_images":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}]},"type":"array"},{"type":"null"}],"title":"Mask Images","description":"Inpainting / mask image (black and white image, where the white is where the model should inpaint)","default":[null,null,null,null]},"color_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Forced color palette, image containing colors used for palette"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed for reproducible results (0 for random)","default":0}},"type":"object","required":["image_size","description","action","reference_image"],"title":"AnimateWithTextRequest","description":"Request model for animation using text endpoint","example":{"action":"walk","description":"human mage","direction":"south","image_size":{"height":64,"width":64},"view":"side"}},"AnimateWithTextResponse":{"properties":{"usage":{"$ref":"#/components/schemas/Usage"},"images":{"items":{"$ref":"#/components/schemas/Base64Image"},"type":"array","title":"Images"}},"type":"object","required":["usage","images"],"title":"AnimateWithTextResponse"},"Base64Image":{"properties":{"type":{"type":"string","const":"base64","title":"Type","description":"Image data type","default":"base64"},"base64":{"type":"string","title":"Base64","description":"Base64 encoded image data"}},"type":"object","required":["base64"],"title":"Base64Image","description":"A base64 encoded image.\n\nAttributes:\n    type (Literal[\"base64\"]): Always \"base64\" to indicate the image encoding type\n    base64 (str): The base64 encoded image data"},"CameraView":{"type":"string","enum":["side","low top-down","high top-down"],"title":"CameraView"},"CreditsResponse":{"properties":{"type":{"type":"string","const":"usd","title":"Type","default":"usd"},"usd":{"type":"number","title":"Usd"}},"type":"object","required":["usd"],"title":"CreditsResponse","description":"Response model for credits endpoint\n\nAttributes:\n    credits (float): The user's current credit balance"},"Detail":{"type":"string","enum":["low detail","medium detail","highly detailed"],"title":"Detail"},"Direction":{"type":"string","enum":["north","north-east","east","south-east","south","south-west","west","north-west"],"title":"Direction"},"EstimateSkeletonRequest":{"properties":{"image":{"$ref":"#/components/schemas/Base64Image","description":"Image for which to estimate the skeleton"}},"type":"object","title":"EstimateSkeletonRequest","description":"Request model for estimate skeleton endpoint"},"EstimateSkeletonResponse":{"properties":{"usage":{"$ref":"#/components/schemas/Usage"},"keypoints":{"items":{"$ref":"#/components/schemas/Keypoint"},"type":"array","title":"Keypoints"}},"type":"object","required":["usage","keypoints"],"title":"EstimateSkeletonResponse"},"GenerateImageBitforgeRequest":{"properties":{"description":{"type":"string","title":"Description","description":"Text description of the image to generate"},"negative_description":{"type":"string","title":"Negative Description","description":"Text description of what to avoid in the generated image","default":""},"image_size":{"$ref":"#/components/schemas/app__endpoints__external__v1__generate_image_bitforge__ImageSize"},"text_guidance_scale":{"type":"number","maximum":20.0,"minimum":1.0,"title":"Text Guidance Scale","description":"How closely to follow the text description","default":8.0},"extra_guidance_scale":{"type":"number","maximum":20.0,"minimum":0.0,"title":"Extra Guidance Scale","description":"(Deprecated)","default":3.0},"style_strength":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Style Strength","description":"Strength of the style transfer (0-100). 50 = balanced.","default":0},"outline":{"anyOf":[{"$ref":"#/components/schemas/Outline"},{"type":"null"}],"description":"Outline style reference"},"shading":{"anyOf":[{"$ref":"#/components/schemas/Shading"},{"type":"null"}],"description":"Shading style reference"},"detail":{"anyOf":[{"$ref":"#/components/schemas/Detail"},{"type":"null"}],"description":"Detail style reference"},"view":{"anyOf":[{"$ref":"#/components/schemas/CameraView"},{"type":"null"}],"description":"Camera view angle"},"direction":{"anyOf":[{"$ref":"#/components/schemas/Direction"},{"type":"null"}],"description":"Subject direction"},"isometric":{"type":"boolean","title":"Isometric","description":"Generate in isometric view","default":false},"oblique_projection":{"type":"boolean","title":"Oblique Projection","description":"Generate in oblique projection","default":false},"no_background":{"type":"boolean","title":"No Background","description":"Generate with transparent background","default":false},"coverage_percentage":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Coverage Percentage","description":"Percentage of the canvas to cover"},"init_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Initial image to start from"},"init_image_strength":{"type":"integer","maximum":999.0,"minimum":1.0,"title":"Init Image Strength","description":"Strength of the initial image influence","default":300},"style_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Reference image for style transfer"},"inpainting_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Reference image which is inpainted"},"mask_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Inpainting / mask image (black and white image, where the white is where the model should inpaint)"},"color_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Forced color palette, image containing colors used for palette"},"skeleton_guidance_scale":{"type":"number","maximum":5.0,"minimum":0.0,"title":"Skeleton Guidance Scale","description":"How closely to follow the skeleton keypoints","default":1.0},"skeleton_keypoints":{"anyOf":[{"items":{"$ref":"#/components/schemas/Point"},"type":"array"},{"type":"null"}],"title":"Skeleton Keypoints","description":"Skeleton points. Warning! Sizes that are not 16x16, 32x32 and 64x64 can cause the generations to be lower quality"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed decides the starting noise"}},"type":"object","required":["description","image_size"],"title":"GenerateImageBitforgeRequest","description":"Request model for image generation endpoint","example":{"description":"cute dragon","image_size":{"height":128,"width":128},"no_background":true,"style_guidance_scale":3.0,"style_strength":20,"text_guidance_scale":3.0}},"GenerateImageBitforgeResponse":{"properties":{"usage":{"$ref":"#/components/schemas/Usage"},"image":{"$ref":"#/components/schemas/Base64Image"}},"type":"object","required":["usage","image"],"title":"GenerateImageBitforgeResponse"},"GenerateImagePixfluxRequest":{"properties":{"description":{"type":"string","title":"Description","description":"Text description of the image to generate"},"negative_description":{"type":"string","title":"Negative Description","description":"(Deprecated)","default":""},"image_size":{"$ref":"#/components/schemas/app__endpoints__external__v1__generate_image_pixflux__ImageSize"},"text_guidance_scale":{"type":"number","maximum":20.0,"minimum":1.0,"title":"Text Guidance Scale","description":"How closely to follow the text description","default":8},"outline":{"anyOf":[{"$ref":"#/components/schemas/Outline"},{"type":"null"}],"description":"Outline style reference (weakly guiding)"},"shading":{"anyOf":[{"$ref":"#/components/schemas/Shading"},{"type":"null"}],"description":"Shading style reference (weakly guiding)"},"detail":{"anyOf":[{"$ref":"#/components/schemas/Detail"},{"type":"null"}],"description":"Detail style reference (weakly guiding)"},"view":{"anyOf":[{"$ref":"#/components/schemas/CameraView"},{"type":"null"}],"description":"Camera view angle (weakly guiding)"},"direction":{"anyOf":[{"$ref":"#/components/schemas/Direction"},{"type":"null"}],"description":"Subject direction (weakly guiding)"},"isometric":{"type":"boolean","title":"Isometric","description":"Generate in isometric view (weakly guiding)","default":false},"no_background":{"type":"boolean","title":"No Background","description":"Generate with transparent background, (blank background over 200x200 area)","default":false},"init_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Initial image to start from"},"init_image_strength":{"type":"integer","maximum":999.0,"minimum":1.0,"title":"Init Image Strength","description":"Strength of the initial image influence","default":300},"color_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Forced color palette, image containing colors used for palette"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed decides the starting noise"}},"type":"object","required":["description","image_size"],"title":"GenerateImagePixfluxRequest","description":"Request model for pixflux image generation endpoint","example":{"description":"cute dragon","image_size":{"height":128,"width":128},"no_background":true}},"GenerateImagePixfluxResponse":{"properties":{"usage":{"$ref":"#/components/schemas/Usage"},"image":{"$ref":"#/components/schemas/Base64Image"}},"type":"object","required":["usage","image"],"title":"GenerateImagePixfluxResponse"},"InpaintRequest":{"properties":{"description":{"type":"string","title":"Description","description":"Text description of the image to generate"},"negative_description":{"type":"string","title":"Negative Description","description":"Text description of what to avoid in the generated image","default":""},"image_size":{"$ref":"#/components/schemas/app__endpoints__external__v1__generate_inpainting__ImageSize"},"text_guidance_scale":{"type":"number","maximum":10.0,"minimum":1.0,"title":"Text Guidance Scale","description":"How closely to follow the text description","default":3.0},"extra_guidance_scale":{"type":"number","maximum":20.0,"minimum":0.0,"title":"Extra Guidance Scale","description":"(Deprecated)","default":3.0},"outline":{"anyOf":[{"$ref":"#/components/schemas/Outline"},{"type":"null"}],"description":"Outline style reference"},"shading":{"anyOf":[{"$ref":"#/components/schemas/Shading"},{"type":"null"}],"description":"Shading style reference"},"detail":{"anyOf":[{"$ref":"#/components/schemas/Detail"},{"type":"null"}],"description":"Detail style reference"},"view":{"anyOf":[{"$ref":"#/components/schemas/CameraView"},{"type":"null"}],"description":"Camera view angle"},"direction":{"anyOf":[{"$ref":"#/components/schemas/Direction"},{"type":"null"}],"description":"Subject direction"},"isometric":{"type":"boolean","title":"Isometric","description":"Generate in isometric view","default":false},"oblique_projection":{"type":"boolean","title":"Oblique Projection","description":"Generate in oblique projection","default":false},"no_background":{"type":"boolean","title":"No Background","description":"Generate with transparent background","default":false},"init_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Initial image to start from"},"init_image_strength":{"type":"integer","maximum":999.0,"minimum":1.0,"title":"Init Image Strength","description":"Strength of the initial image influence","default":300},"inpainting_image":{"$ref":"#/components/schemas/Base64Image","description":"Reference image which is inpainted"},"mask_image":{"$ref":"#/components/schemas/Base64Image","description":"Inpainting / mask image. (black and white image, where the white is where the model should inpaint)."},"color_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Forced color palette, image containing colors used for palette"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed decides the starting noise"}},"type":"object","required":["description","image_size","inpainting_image","mask_image"],"title":"InpaintRequest","description":"Request model for image generation endpoint","example":{"description":"cute dragon","image_size":{"height":128,"width":128},"no_background":true}},"InpaintResponse":{"properties":{"usage":{"$ref":"#/components/schemas/Usage"},"image":{"$ref":"#/components/schemas/Base64Image"}},"type":"object","required":["usage","image"],"title":"InpaintResponse"},"Keypoint":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"},"label":{"type":"string","title":"Label"},"z_index":{"type":"number","title":"Z Index"}},"type":"object","required":["x","y","label","z_index"],"title":"Keypoint"},"Outline":{"type":"string","enum":["single color black outline","single color outline","selective outline","lineless"],"title":"Outline"},"Point":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"},"label":{"$ref":"#/components/schemas/SkeletonLabel"},"z_index":{"type":"integer","title":"Z Index","default":0}},"type":"object","required":["x","y","label"],"title":"Point"},"RotateRequest":{"properties":{"image_size":{"$ref":"#/components/schemas/app__endpoints__external__v1__generate_rotation__ImageSize"},"image_guidance_scale":{"type":"number","maximum":20.0,"minimum":1.0,"title":"Image Guidance Scale","description":"How closely to follow the reference image","default":3.0},"view_change":{"anyOf":[{"type":"integer","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"View Change","description":"How many degrees to tilt the subject"},"direction_change":{"anyOf":[{"type":"integer","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Direction Change","description":"How many degrees to rotate the subject"},"from_view":{"anyOf":[{"$ref":"#/components/schemas/CameraView"},{"type":"null"}],"description":"From camera view angle","default":"side"},"to_view":{"anyOf":[{"$ref":"#/components/schemas/CameraView"},{"type":"null"}],"description":"To camera view angle","default":"side"},"from_direction":{"anyOf":[{"$ref":"#/components/schemas/Direction"},{"type":"null"}],"description":"From subject direction","default":"south"},"to_direction":{"anyOf":[{"$ref":"#/components/schemas/Direction"},{"type":"null"}],"description":"From subject direction","default":"east"},"isometric":{"type":"boolean","title":"Isometric","description":"Generate in isometric view","default":false},"oblique_projection":{"type":"boolean","title":"Oblique Projection","description":"Generate in oblique projection","default":false},"init_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Initial image to start from"},"init_image_strength":{"type":"integer","maximum":999.0,"minimum":1.0,"title":"Init Image Strength","description":"Strength of the initial image influence","default":300},"mask_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Inpainting / mask image. Requires init image! (black and white image, where the white is where the model should inpaint)"},"from_image":{"$ref":"#/components/schemas/Base64Image","description":"Reference image to rotate"},"color_image":{"anyOf":[{"$ref":"#/components/schemas/Base64Image"},{"type":"null"}],"description":"Forced color palette, image containing colors used for palette"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Seed decides the starting noise"}},"type":"object","required":["image_size","from_image"],"title":"RotateRequest","description":"Request model for image generation endpoint","example":{"description":"cute dragon","from_direction":"south","from_view":"side","image_guidance_scale":7.5,"image_size":{"height":128,"width":128},"to_direction":"east","to_view":"side"}},"RotateResponse":{"properties":{"usage":{"$ref":"#/components/schemas/Usage"},"image":{"$ref":"#/components/schemas/Base64Image"}},"type":"object","required":["usage","image"],"title":"RotateResponse"},"Shading":{"type":"string","enum":["flat shading","basic shading","medium shading","detailed shading","highly detailed shading"],"title":"Shading"},"SkeletonLabel":{"type":"string","enum":["NOSE","NECK","RIGHT SHOULDER","RIGHT ELBOW","RIGHT ARM","LEFT SHOULDER","LEFT ELBOW","LEFT ARM","RIGHT HIP","RIGHT KNEE","RIGHT LEG","LEFT HIP","LEFT KNEE","LEFT LEG","RIGHT EYE","LEFT EYE","RIGHT EAR","LEFT EAR"],"title":"SkeletonLabel"},"Usage":{"properties":{"type":{"type":"string","enum":["usd","generations"],"title":"Type","default":"usd"},"usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usd"},"generations":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Generations"}},"type":"object","title":"Usage"},"app__endpoints__external__v1__animate_with_skeleton__ImageSize":{"properties":{"width":{"type":"integer","maximum":256.0,"minimum":16.0,"title":"Width","description":"Image width in pixels"},"height":{"type":"integer","maximum":256.0,"minimum":16.0,"title":"Height","description":"Image height in pixels"}},"type":"object","required":["width","height"],"title":"ImageSize","example":{"height":128,"width":128}},"app__endpoints__external__v1__animate_with_text__ImageSize":{"properties":{"width":{"type":"integer","maximum":64.0,"minimum":64.0,"title":"Width","description":"Image width in pixels"},"height":{"type":"integer","maximum":64.0,"minimum":64.0,"title":"Height","description":"Image height in pixels"}},"type":"object","required":["width","height"],"title":"ImageSize","example":{"height":64,"width":64}},"app__endpoints__external__v1__generate_image_bitforge__ImageSize":{"properties":{"width":{"type":"integer","maximum":200.0,"minimum":16.0,"title":"Width","description":"Image width in pixels"},"height":{"type":"integer","maximum":200.0,"minimum":16.0,"title":"Height","description":"Image height in pixels"}},"type":"object","required":["width","height"],"title":"ImageSize","example":{"height":128,"width":128}},"app__endpoints__external__v1__generate_image_pixflux__ImageSize":{"properties":{"width":{"type":"integer","maximum":400.0,"minimum":16.0,"title":"Width","description":"Image width in pixels"},"height":{"type":"integer","maximum":400.0,"minimum":16.0,"title":"Height","description":"Image height in pixels"}},"type":"object","required":["width","height"],"title":"ImageSize","example":{"height":128,"width":128}},"app__endpoints__external__v1__generate_inpainting__ImageSize":{"properties":{"width":{"type":"integer","maximum":200.0,"minimum":16.0,"title":"Width","description":"Image width in pixels"},"height":{"type":"integer","maximum":200.0,"minimum":16.0,"title":"Height","description":"Image height in pixels"}},"type":"object","required":["width","height"],"title":"ImageSize","example":{"height":128,"width":128}},"app__endpoints__external__v1__generate_rotation__ImageSize":{"properties":{"width":{"type":"integer","maximum":200.0,"minimum":16.0,"title":"Width","description":"Image width in pixels"},"height":{"type":"integer","maximum":200.0,"minimum":16.0,"title":"Height","description":"Image height in pixels"}},"type":"object","required":["width","height"],"title":"ImageSize","example":{"height":128,"width":128}}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"servers":[{"url":"/v1"}]}