wan2.7-i2v
wan/wan2.7-i2vAnimate a first-frame image.
- second
- Price: $0.1Price: $0.15
- Wan
- 5 min
Overview
The request waits for the accepted task. Billing uses measured output seconds at the selected resolution. Outputs include a watermark. Video continuation and supplied audio are unsupported. A timed-out accepted task must be reconciled before another generation is requested.
After COMPLETED, read run.output.video_url, run.output.task_id, run.output.duration and run.output.resolution. Download the temporary video URL promptly.
Input
These go in the input object of the run request.
| Field | Type | Required | Description |
|---|---|---|---|
| prompt | string | No | Scene and movement. Maximum: 5000 |
| image | string | Yes | Public HTTPS first-frame image URL; aspect ratio follows the image. Replace IMAGE_URL in the example with your own accessible image URL. |
| duration | integer | No | Requested output seconds. Default: 5Minimum: 2 Maximum: 15 |
| resolution | string | No | Output resolution and billing tier. Allowed: 720P, 1080P Default: "720P" |
Requests up to 1 MB.
Example
Use your own API key and a saved idempotency key for each new job. Replace image or media placeholders with your own publicly reachable HTTPS URLs. Keep the same key and request body when recovering a timeout.
# Set IMAGE_URL to a publicly accessible first-frame image URL. Requires jq.
: "${IMAGE_URL:?Set IMAGE_URL to your first-frame image URL}"
REQUEST_BODY=$(jq --arg image "$IMAGE_URL" 'walk(if . == "IMAGE_URL" then $image else . end)' <<'JSON'
{"provider":"wan","endpoint":"wan2.7-i2v","input":{"prompt":"A blue ceramic cup on a white table","duration":2,"resolution":"720P","image":"IMAGE_URL"}}
JSON
)
# Set once per job; reuse this key and the identical body after a timeout.
: "${AGENTSKY_IDEMPOTENCY_KEY:?Set a unique, saved key for this job}"
curl --fail-with-body https://gateway.agentsky.dev/v1/run \
-H "authorization: Bearer $AGENTSKY_API_KEY" \
-H "content-type: application/json" \
-H "Idempotency-Key: $AGENTSKY_IDEMPOTENCY_KEY" \
-d "$REQUEST_BODY"
# If status is READY/RUNNING, poll GET /v1/runs/{runId} with the same API key.Pricing
720P (default): $0.1 · 1080P: $0.15 per second using your plan when signed in. Read the final customer charge from price.amount.value after the run finishes. A RUNNING response is not the final bill.
