Pose Control
The Pose Control endpoint allows you to take an existing image of a model and generate new variations where the model assumes a different body pose. The AI meticulously preserves the model's facial features, clothing, and background.
Model Name: pose-control
Lifecycle: stable
Processing Time: ~15s–30s
Output Format: Auto (JPEG or PNG)
Delivery Methods: URL
Credits: 1 to 5 per pose generated (1k: 1, 2k: 3, 4k: 5)
Request
Submit your model image and a list of desired poses to the universal /v1/run endpoint:
https://fititon.app/api/v1/runRequest Examples
You can repose a model using a reference image (template) or a text description (custom).
curl -X POST https://fititon.app/api/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model_name": "pose-control",
"inputs": {
"modelImage": "https://example.com/model-standing.jpg",
"quality": "2k",
"poses": [
{
"type": "template",
"cdnUrl": "https://example.com/pose-reference.jpg",
"title": "Hands on hips"
},
{
"type": "custom",
"text": "Sitting on a chair with legs crossed"
}
]
}
}'Response
Because generation can take up to 30 seconds, the /v1/run endpoint returns a 201 Created status immediately with an asynchronous job id. You must poll the Status API using GET /v1/status/{id} to retrieve the final results. Alternatively, you can configure webhooks to receive notifications automatically. Please note that our webhook dispatcher enforces a strict 15-second timeout. Your server must acknowledge the webhook with a 2xx status code within 15 seconds, or we will consider it failed and retry it later.
{
"id": "123a87r9-4129-4bb3-be18-9c9fb5bd7fc1",
"status": "starting",
"created_at": "2026-07-18T17:30:00.000Z",
"error": null,
"output": null
}Once the status changes to "succeeded", the output field will contain an array of URLs pointing to your generated images. The images are returned in the exact same order as the poses array provided in your initial request:
{
"id": "123a87r9-4129-4bb3-be18-9c9fb5bd7fc1",
"status": "succeeded",
"created_at": "2026-07-18T17:30:00.000Z",
"error": null,
"output": [
"https://cdn.fititon.app/users/123/results/fititon-pose-123-0.png",
"https://cdn.fititon.app/users/123/results/fititon-pose-123-1.png"
]
}Request Parameters
Required Parameters
modelImageRequiredstringThe source image of the person you wish to repose. Can be a publicly accessible URL or a Base64-encoded image string.
Pro Tip: Full-body photos from head to feet yield the best results — the AI needs to see the whole body to properly re-pose it. Tight-fitting clothes show body structure better than bulky or layered outfits. Simple, uncluttered backgrounds let the AI focus cleanly on the body shape.
Formatting Requirement
When submitting a Base64 string, it must include the standard data URI prefix (e.g., data:image/jpeg;base64,...).
posesRequiredarray of objectsAn array defining the poses you want to generate. You can mix and match template and custom poses in the same request.
- Template Pose: Uses an image as a structural reference. You can provide any valid image URL to use as a reference pose, or you can use one of our officially supported templates listed below.
type(string): Must be"template".cdnUrl(string): URL of the reference image demonstrating the desired pose.title(string, optional): A descriptive label.
- Custom Pose: Uses a text prompt to define the pose.
type(string): Must be"custom".text(string): Text describing the new pose (e.g.,"standing with arms crossed").
Official Pose Templates
While you can supply your own reference images via cdnUrl, we offer a curated directory of highly-optimized pose templates. Click any URL below to preview the pose.
Female Poses
| Title | Template URL (`cdnUrl`) |
|---|---|
Male Poses
| Title | Template URL (`cdnUrl`) |
|---|---|
Optional Parameters
quality'1k' | '2k' | '4k'Output resolution tier.
Default: 1k
ratiostringDefines the width-to-height ratio of the generated image. If empty, the system defaults to the original image's aspect ratio.
Supported values: '1:1', '3:4', '4:3', '9:16', '16:9', '2:3', '3:2', '4:5', '5:4', '21:9'.
Runtime Errors
Runtime errors for this feature use the shared set documented in Error Handling. If an error occurs during processing, the status will update to "error" and the error field will contain the specific failure reason.
Credit Cost
For Developer API requests, the cost scales linearly based on the number of poses requested, and depends on the chosen output quality tier.
Formula: Cost = QualityCredits × NumberOfPoses
| Quality Tier | Credits Per Pose |
|---|---|
| 1k (Default) | 1 |
| 2k | 3 |
| 4k | 5 |
Example: Requesting an array of 3 poses at 1k quality costs 3 credits total. Requesting the same 3 poses at 4k quality costs 15 credits total.
