Skip to content
Open CastalyConsole

Video

wan2.7-i2v API

Use the exact wan2.7-i2v model ID through Modelflare asynchronous video routing.

Use the exact model ID wan2.7-i2v. The model field must match this page exactly.

Sample outputwan2.7-i2vPOST /v1/videos5.0s

Parameters: duration=5resolution=1080pratio=16:9Input image

Prompt: One continuous take, no cuts. The ribbon of film keeps unwinding and speeds up until every frame is lit, tightening into a neon helix that lifts off the deck and climbs past the parapet into the dusk sky, the woman in the cobalt coat turning to follow it up. The camera starts low behind her, is pushed back as the helix rises, then cranes up over the parapet and looks along the coil toward the city. One hard magenta key stays raking across the deck. Real weight and inertia, paper and emulsion catching the light, no text.

Request that produced this sample, with the input media URL replaced
{
"model": "wan2.7-i2v",
"prompt": "One continuous take, no cuts. The ribbon of film keeps unwinding and speeds up until every frame is lit, tightening into a neon helix that lifts off the deck and climbs past the parapet into the dusk sky, the woman in the cobalt coat turning to follow it up. The camera starts low behind her, is pushed back as the helix rises, then cranes up over the parapet and looks along the coil toward the city. One hard magenta key stays raking across the deck. Real weight and inertia, paper and emulsion catching the light, no text.",
"seconds": "5",
"duration": 5,
"resolution": "1080p",
"ratio": "16:9",
"aspect_ratio": "16:9",
"image": "https://example.com/input-image.png"
}

Use a Modelflare API key with https://modelflare.dev/v1. The gateway entry point is POST /v1/videos.

HTTP
Authorization: Bearer YOUR_MODELFLARE_API_KEY
Terminal windowbash
curl https://modelflare.dev/v1/videos \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.7-i2v",
"input": {"prompt": "The camera moves closer as the lanterns begin to glow in time with the music.", "media": [{"type": "first_frame", "url": "https://example.com/first-frame.png"}]},
"parameters": {"resolution": "1080P", "duration": 5, "prompt_extend": false, "watermark": false}
}'

Save the task ID. Poll GET /v1/videos/{task_id} and download with GET /v1/videos/{task_id}/content. Result URLs may expire, so transfer the file promptly.

Terminal windowbash
curl https://modelflare.dev/v1/videos/TASK_ID \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"

Wan commonly uses input and parameters; frame-guided and reference-media modes must not be mixed.

Wan2.7 I2V uses input.prompt and input.media. Follow the documented combinations for first/last frames, driving audio, and an initial clip.

Field Required Notes
model Yes wan2.7-i2v
input.prompt Yes Motion and scene description
input.media[] Yes first_frame, last_frame, driving_audio, or first_clip
parameters.resolution No 720P / 1080P (default 1080P)
parameters.duration No Total duration; includes the input clip for continuation
parameters.prompt_extend No Set false when this dedicated model contract requires it
parameters.watermark No Whether to add a watermark

I2V media must follow a supported combination such as first_frame, first_frame + last_frame, first_frame + driving_audio, or first_clip with the documented optional end frame. Each media type appears at most once; output is 720P or 1080P.

Terminal windowbash
curl https://modelflare.dev/v1/videos \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.7-i2v",
"input": {"prompt": "镜头从第一帧推进到最后一帧", "media": [
{"type": "first_frame", "url": "https://example.com/first.png"},
{"type": "last_frame", "url": "https://example.com/last.png"}
]},
"parameters": {"resolution": "1080P", "duration": 8, "prompt_extend": false}
}'

Invalid model parameters return a 4xx with a request ID. An asynchronous task can also enter failed after creation succeeds; use error_code and error_message from the poll response as the final task reason. Do not retry the same request with a different JSON shape.

This page covers Modelflare model generation and editing calls. Search or map enrichment, voice management, and element-library management are resource APIs outside this public model-call surface and are not required request fields.

This model uses per-second video billing. See the model pricing page for the current customer price, reference list price, and complete specification.

Model ID Difference
wan2.7-i2v The model documented on this page.
Media contract · v1

Contract ID: media.wan2-7-i2v.v1Adapter: video.wan.i2v.v1@v1Fingerprint: f88d7c8cb3fd7273312b35a66e10fc485ceaa6e2848487aa73b4819fff587413

Official source: Alibaba Cloud Model Studio

Contract parameters

Intent fieldControlOptions
resolutionselect720p / 1080p
durationselect2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15

Supported capability

  • allowed_values · resolution · 720p, 1080p
  • allowed_values · duration · 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
  • required_assets · reference_asset_ids
  • max_assets · reference_asset_ids · 3
  • prompt_optional_with_reference · prompt

Structured request example

reference

Intent

{
  "duration": 2,
  "prompt": "A red paper kite over a quiet harbour at dusk.",
  "reference_asset_ids": [
    "asset_example"
  ],
  "resolution": "720p"
}

Provider request

{
  "input": {
    "media": [
      {
        "type": "first_frame",
        "url": "https://example.com/reference.png"
      }
    ],
    "prompt": "A red paper kite over a quiet harbour at dusk."
  },
  "model": "wan2.7-i2v",
  "parameters": {
    "duration": 2,
    "resolution": "720P"
  }
}