Image-to-video workflow

Live
Create a traceable media pipeline without losing request lineage.
Open in ChatGPT
(opens in new tab)
Last verified: 2026-08-28

Define the asset contract

Store asset_id, source generation ID, model, prompt, region, output URL, and review state for every image. Wan 3 now accepts image-conditioned video directly through POST /videos/generations.

Animate one or two keyframes

Set mode to image-to-video, pass the opening image as first_frame, and optionally pass last_frame to control the ending composition.
json
{
"model": "modelrush/wan3-spicy",
"mode": "image-to-video",
"prompt": "A slow dolly move as the product turns toward the light",
"first_frame": "https://cdn.your-app.com/opening.png",
"last_frame": "https://cdn.your-app.com/ending.png",
"duration": 5,
"resolution": "1080P",
"ratio": "16:9",
"audio": true
}
Save the returned generation ID. Use a signed webhook for terminal results and polling only as recovery. Attach the completed output to the original asset lineage. Use reference-to-video instead when the job depends on multiple image, video, or audio references.