Skip to main content
POST
Estimate the price of a video character replacement
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.

Example:

"Wan2_2_Animate_14B_INT8"

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

Response

Calculated price for video replace inference.

data
object