Image to Video

Submit an image-to-video generation job

Submit a generation job. Returns a request_id which you poll with GET /api/image-to-video/{request_id}/status until the job is completed or failed.

post/api/image-to-video

Request

  • Base URL
    https://open.eternalai.org
  • Auth
    • HTTP bearer
    • or API key in header api-key

Request body

promptstring required

Text description of the desired video. Keep concise for best results.

image_urlstring required

Starting still (jpg/png/webp). Accepts a publicly reachable URL or a base64-encoded data URI (e.g. data:image/jpeg;base64,...). Maximum image file size is 15 MB.

model_id'wan-ai/wan2.2-i2v-a14b-lightning' required

Generation model. Use the literal string wan-ai/wan2.2-i2v-a14b-lightning — this is currently the only supported model. Any other value returns 400.

end_image_urlstring nullable

Optional end frame for two-image conditioning. URL or base64 data URI.

duration'1' | '2' | '3' | '4' | '5'

Output length in seconds. Send as a string, not a number. "3" works; 3 returns {"error": "invalid JSON body"} even though the JSON parses fine — the failure is schema-type validation. UIs that bind to <input type="number"> must String(value) before sending.

aspect_ratio'auto' | '16:9' | '9:16' | '1:1' | '4:3' | '3:4'

Output aspect ratio.

resolution'480p' | '580p' | '720p'

Output resolution.

negative_promptstring

Things to avoid.

cfg_scalenumber

CFG scale. Higher values follow the prompt more strictly.

seedinteger

Deterministic seed. Omit for a random seed each call.

Example request

{
  "model_id": "wan-ai/wan2.2-i2v-a14b-lightning",
  "duration": "5"
}

Response

Job accepted.

statusboolean
errorstring nullable

Example response

{
  "status": true,
  "result": {
    "request_id": "9a4f1c84-2bb3-4d29-a4e1-7c0d3b8f5a91"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.