Drive a still character image with motion from a reference video, or replace a character in footage (depending on model). Results are usually asynchronous — use Jobs when status is PENDING.
URL: POST https://api.thefluxtrain.com/api/v1/motion-control/animate
Authentication: x-api-key
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
image | string | Yes | — | Character / subject image URL |
video | string | Yes | — | Motion reference or source video URL |
model_variant | string | No | pro | std, pro, or wan-2.2-animate-replace |
refert_num | integer | No | 1 | Reference frames (1 or 5) for Wan |
frames_per_second | integer | No | 24 | Output FPS (Wan) |
go_fast | boolean | No | true | Faster processing (Wan) |
resolution | string | No | — | e.g. 720 for Wan |
duration | number | No | 5.0 | Estimated duration in seconds (0.1–60) |
prompt | string | No | "" | Optional guidance prompt |
keep_original_sound | boolean | No | true | Keep reference audio |
character_orientation | string | No | video | image or video |
folder_id | string | No | — | Folder UUID in your account |
message_id | string | No | — | Your own tracking ID |
{
"image": "https://example.com/character.png",
"video": "https://example.com/dance.mp4",
"model_variant": "pro",
"duration": 5,
"folder_id": "your-folder-uuid"
}
Same job shape as Video generation.
| Field | Type | Description |
|---|---|---|
id | string | Job ID |
url | string | Output video URL when complete |
status | string | SUCCESS, PENDING, FAILED, etc. |
media_type | string | VIDEO |
meta | object | Metadata |
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"url": "https://storage.example/animated.mp4",
"status": "SUCCESS",
"media_type": "VIDEO",
"meta": {}
},
"error": null
}