About Pose Changer
Repose a person from a short description or a pose photo.
Call it with the model name popnow/pose-changer-v1/edit on POST /jobs/createTask, from 30 credits per image ($0.03).
Introduction
Pose Changer moves a person into a new pose. You send two photos, the person and a pose reference, and get back the first person holding the second photo's pose: arms, legs, head tilt and gaze, with their own face and outfit.
Key features
Two photos, no prompt
The tool runs Qwen-Image-Edit-2511 with the AnyPose base and helper LoRAs by lilylilith and the author's instruction. The prompt field is only for extra direction.
The LoRAs make the difference
With the same photos and seed, the base model without the LoRAs pasted the dancer from the pose photo into the first scene. With them, the woman from the first photo took the dancer's pose.
Keep your scene with one line
Out of the box the result often takes the pose photo's backdrop. Adding "Remove the background of image 2, and replace it with the background of image 1." kept a wood-panelled library and a salt flat in our runs.
Request parameters
| Parameter | Required | Description |
|---|---|---|
aspect_ratio | No | The shape of the frame: wide, square or tall. 1:1 · 16:9 · 9:16 · 4:3 · 3:4 · 3:2 · 2:3 · 21:9 · 9:21 |
image_url | Yes | The picture to start from. |
output_format | No | File type of the result. jpeg · png · webp · Default: jpeg |
prompt | No | Optional extra direction added after the built-in pose instruction, e.g. to keep your own background or outfit. |
reference_image_url | Yes | A photo of the pose to copy; only the pose is used. JPEG, PNG or WebP, up to 10 MB. |
seed | No | Reuse the same number to get a repeatable result. ≥ 0 · ≤ 2147483647 |
Pricing
Prices are in credits, the same credits you use on the website (1 credit = $0.001). The hold is taken when the task is accepted and settled to the actual charge when it finishes; failed tasks are refunded.
| Option | Credits per image | ≈ USD |
|---|---|---|
| Standard | 30 | $0.03 |
For an exact number before you run, send the same body to POST /jobs/quote.
Use cases
Catalogue variants
Turn one shot of an outfit into standing, seated and leaning versions from simple pose references shot against a plain wall, without rebooking the model or the location.
Consistent characters
Keep a character's face and costume while changing the pose a scene needs, so a storyboard or a comic keeps one recognisable cast.
Pose libraries
Keep a folder of reference poses shot on a plain backdrop and apply them to any portrait.
Prompt guide & pro tips
Match the build
Copying a woman's pose onto a man in our tests pulled his face toward hers. A reference of a similar build and gender kept the identity.
Name what must stay
If the outfit changes, say so: "She keeps her emerald satin dress." fixed a case where sweatpants from the reference appeared.
Show the whole body
Full-body photos on both sides give the cleanest result; a waist-up source forces the model to invent legs and floor.
Keep one person per photo
Group shots in either photo confuse which body to move and which pose to copy. Crop to one person first, then run each person separately.
API quick start
Call the Pose Changer API in three steps
- Create an API key. Sign in to PopNow and create a key in the API console. Keys start with sk-popnow- and use the same credits as the website.
- Send the request. POST /jobs/createTask with model popnow/pose-changer-v1/edit and an input object that follows the parameter table. The response returns a task ID straight away.
- Get the result. Poll GET /jobs/recordInfo with the task ID, or pass a callBackUrl and we post the result to it. Download the output links when the task succeeds.
# 1. Create the task. Keep the Idempotency-Key if you retry after a network error.
export IDEMPOTENCY_KEY="$(uuidgen)"
curl -X POST https://api.popnow.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-d '{
"model": "popnow/pose-changer-v1/edit",
"input": {
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"reference_image_url": "https://media.popnow.ai/influencer/examples/ava.webp",
"output_format": "jpeg"
}
}'
# 2. Copy data.taskId from the response, then poll until state is succeeded, failed, canceled or expired.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $POPNOW_API_KEY"Replace the prompt and any links with your own. The API tab has the response, polling and callback reference.
Pose Changer API questions
How much does the Pose Changer API cost?
Pose Changer costs 30 credits ($0.03) per image. Credits are the same as on the website (1 credit = $0.001), and failed tasks are refunded.
What is the model name for Pose Changer in the API?
Put popnow/pose-changer-v1/edit for Pose Changer in the model field of POST /jobs/createTask.
Which photo is which?
image_url is the person you want to re-pose. reference_image_url is the photo whose pose you want to copy; the person in it is not kept.
How is this different from a normal image editor?
With the same two photos, instruction and seed, the base model without the AnyPose LoRAs put the dancer from the pose photo into the first scene instead of re-posing the woman. With the LoRAs, the woman took the dancer's pose.
Why did my background change?
The LoRAs were trained to place the person into the pose photo. Add "Remove the background of image 2, and replace it with the background of image 1." to the prompt.
Can I use a drawing or a 3D mannequin as the pose?
Photos of real people worked best in our tests. The author notes that flat 2D art styles are weak.
What are the limits of the Pose Changer API?
Aspect ratios: 1:1 · 16:9 · 9:16 · 4:3 · 3:4 · 3:2 +3; Prompt length (characters): 1,000; Largest upload: 10 MB. Requests outside these limits are rejected before anything is charged.
Can I try Pose Changer without writing code?
Yes. The Playground runs Pose Changer on your PopNow credits, needs no API key, and shows the matching code for every run.