Skip to main content
Motion control takes the motion from a video and applies it to the character in your image. The result is a new video: face and style from the image, motion from the video.

The three-file flow

1

Upload the motion video

Include the target model id so the server applies the correct duration rules and does not trim the video.
2

Upload the character image

The photo or illustration you want to animate. A front-facing face gives the most stable results.
3

Send a job with two references

The order does not determine the role — the type field is what tells them apart.

Rules that differ from regular video models

parameters.orientation only applies here:
  • "image" — the output ratio follows the character image.
  • "video" — the output ratio follows the motion video.
Any other value (or this key sent to a non-motion model) is ignored without an error.
If the server replies Durasi video referensi tidak bisa dibaca, the file is not a valid MP4 or its stream has no length metadata. Transcode it:

Why you cannot set the duration yourself

Motion control billing is calculated from the length of the motion video that was actually processed. If the server trusted the client’s duration value, a 30-second video could be billed as 3 seconds. That is why the duration is re-measured from the stored file and the value you send is overwritten. In practice: if you need a 6-second output, cut the reference video to 6 seconds before uploading it.

Check-list before you send

One file only. Motion clearly visible, subject stays inside the frame, stable lighting, no text burned into the picture. Duration 3–30 seconds (10 seconds if orientation: "image").
Minimum resolution of 300 px on the shortest side, front-facing face, not covered by objects, style consistent with what you want in the final result. One character image at most for the sharpest result.
Check first: GET /api/v1/user/credits for the balance, then read the motion model’s per-second price in the catalog. The reference video’s duration determines the bill, so a longer video means more credits.
Motion control models can be disabled at any time. If you receive a 409, do not try other spellings — refetch GET /api/v1/models and move the request to an available model.