Skip to main content
POST
Estimate the price of a video character replacement
No model is currently available for this endpoint. The previous model (Wan2_2_Animate_14B_INT8) has been retired, and a new character-replacement model is coming to this endpoint soon. In the meantime, use MiniMaxH3_33B_Turbo_INT8 on Video Animation: pass the character as a reference image and the source motion as a reference video (2–5 s).
Estimate the cost of a video replacement job before submitting it.

Authorizations

Authorization
string
header
required

Sanctum personal access token, sent as Authorization: Bearer <token>. The token is opaque — it carries no claims and no embedded expiry, so do not attempt to decode it. Issue and revoke tokens from your account dashboard.

Headers

Accept
enum<string>
default:application/json
required
Available options:
application/json

Body

multipart/form-data

Video replace price calculation parameters

Every example in this schema is a working set for the model example shown — they are not defaults and not portable. Sizes, step counts, frame counts and frame rates are all per-model: read info.limits and info.defaults for the model you actually intend to use from GET /api/v2/models. Substituting a different model while keeping these values is the most common source of a 422.

model
string
required

The model to use for video replacement. Available models can be retrieved via the GET /api/v2/models endpoint.

video
file | null

Input video file. If provided, duration and dimensions are extracted automatically. Required if duration is not provided.

duration
number<float> | null

Input video duration in seconds. Required if video file is not provided. The accepted range is model-specific — read info.limits.min_duration/max_duration for your model from GET /api/v2/models. Some models additionally cap duration per output format via info.limits.max_duration_by_format.

Example:

5

width
integer | null

Output video width in pixels. If omitted and video file is provided, uses video native width. The accepted range is model-specific — read info.limits.min_width/max_width and min_height/max_height for your model from GET /api/v2/models. Some models also publish dimension_multiple or resolution_step: values are snapped DOWN to that grid before validation, so an off-grid size is silently reduced rather than rejected. max_pixels and max_ratio, where present, cap total area and aspect ratio on top of the per-side bounds.

Example:

512

height
integer | null

Output video height in pixels. If omitted and video file is provided, uses video native height. The accepted range is model-specific — read info.limits.min_width/max_width and min_height/max_height for your model from GET /api/v2/models. Some models also publish dimension_multiple or resolution_step: values are snapped DOWN to that grid before validation, so an off-grid size is silently reduced rather than rejected. max_pixels and max_ratio, where present, cap total area and aspect ratio on top of the per-side bounds.

Example:

512

steps
integer

Optional on the quote. Validated against info.limits.min_steps / max_steps exactly as on generation (which defaults it to 4).

Example:

4

Response

Calculated price for video replace inference.

data
object