Wan 2.2 Image to Video Fast Serverless API

Transforms simple text prompts into breathtaking cinematic-quality videos in minutes.

~54.46s
POST /v2/wan-2.2-i2v-fast · submit + poll
 1# pip install "segmind>=1.1.0"
 2# export SEGMIND_API_KEY="YOUR_API_KEY"
 3from segmind import SegmindClient, InferenceFailed, InferenceTimeout
 4
 5# Async (v2) — recommended for long-running / video models.
 6# run() blocks up to 600s; submit_async + job.wait(timeout=...) sets a longer
 7# deadline and keeps the request_id so you can re-poll later.
 8client = SegmindClient()                      # reads SEGMIND_API_KEY
 9payload = {
10    "image": "https://segmind-resources.s3.amazonaws.com/output/310df0db-0c5e-4c5a-8c78-5db73fbc7c91-bcd49a2d-a0a9-465e-aefd-ca9b5ebb11a7.jpeg",
11    "prompt": "4K cinematic close-up of a bloodied, battle-worn Viking warrior kneeling in a snowy sacred cave, eyes wide and glassy with intensity.His long braided blonde beard is frosted with snow, blood streaks run down his face and shoulders.The background is dimly lit by a flickering flame behind him — ancient carvings and symbols glow faintly on the icy stone wall.Camera slowly pushes in on his face as snow swirls in slow motion, and he breathes heavily, lips slightly parted.Suddenly, subtle glitch effects ripple across his face — like time distorting — as if a divine force is entering his mind.In the distance, an echo of a woman’s voice is heard whispering prophecy.As his eyes narrow, a faint blue rune glow reflects in his iris, foreshadowing something ancient and powerful.The camera holds as his expression changes — from fear… to understanding… to resolve.",
12    "go_fast": True,
13    "num_frames": 81,
14    "resolution": "480p",
15    "aspect_ratio": "16:9",
16    "sample_shift": 12,
17    "frames_per_second": 16,
18    "high_noise_lora_scale": 1,
19    "low_noise_lora_scale": 1,
20    "high_noise_lora_scale_2": 1,
21    "low_noise_lora_scale_2": 1,
22    "high_noise_lora_scale_3": 1,
23    "low_noise_lora_scale_3": 1,
24}
25job = client.submit_async("wan-2.2-i2v-fast", **payload)
26print(job.request_id)                         # available immediately
27try:
28    result = job.wait(timeout=900, interval=2.0)
29    print(result["status"])                  # COMPLETED
30    print(result.get("output"))              # model output (e.g. video URL)
31except InferenceTimeout as e:
32    print("still running:", e.request_id)    # re-poll later with this id
33except InferenceFailed as e:
34    print("failed:", e.detail)
35
36# Fast models (<=600s) can use the one-liner instead:
37# result = segmind.run("wan-2.2-i2v-fast", **payload)

API Endpoint

POSThttps://api.segmind.com/v1/wan-2.2-i2v-fast

Parameters

imagerequired
string (uri)

Input image URL for video base. Choose a detailed image for best results.

promptrequired
string

Descriptive prompt for video content. Include vivid details for a richer video.

aspect_ratiooptional
string

Defines frame aspect ratio. Use 16:9 for landscape and 9:16 for portrait videos.

Default: "16:9"
Allowed values :
"16:9""9:16"
frames_per_secondoptional
integer

Determines video smoothness. Choose 16 fps for optimal balance.

Default: 16Range: 5 - 24
go_fastoptional
boolean

Activates faster video generation. Disable for quality over speed.

Default: true
high_noise_loraoptional
string

URL to high noise LoRA model for style customization. Supports arbitrary .safetensors URLs from the Internet.

Default: null
high_noise_lora_2optional
string

URL to high noise LoRA model for style customization. Supports arbitrary .safetensors URLs from the Internet.

Default: null
high_noise_lora_3optional
string

URL to high noise LoRA model for style customization. Supports arbitrary .safetensors URLs from the Internet.

Default: null
high_noise_lora_scaleoptional
number

Controls high noise LoRA influence strength. 0.0 = disabled, 1.0 = full strength, 2.0 = maximum.

Default: 1Range: 0 - 2
high_noise_lora_scale_2optional
number

Controls high noise LoRA influence strength. 0.0 = disabled, 1.0 = full strength, 2.0 = maximum.

Default: 1Range: 0 - 2
high_noise_lora_scale_3optional
number

Controls high noise LoRA influence strength. 0.0 = disabled, 1.0 = full strength, 2.0 = maximum.

Default: 1Range: 0 - 2
last_imageoptional
string (uri)

Optional end image to guide the video towards a specific final frame.

Default: null
low_noise_loraoptional
string

URL to low noise LoRA model for style customization. Supports arbitrary .safetensors URLs from the Internet.

Default: null
low_noise_lora_2optional
string

URL to low noise LoRA model for style customization. Supports arbitrary .safetensors URLs from the Internet.

Default: null
low_noise_lora_3optional
string

URL to low noise LoRA model for style customization. Supports arbitrary .safetensors URLs from the Internet.

Default: null
low_noise_lora_scaleoptional
number

Controls low noise LoRA influence strength. 0.0 = disabled, 1.0 = full strength, 2.0 = maximum.

Default: 1Range: 0 - 2
low_noise_lora_scale_2optional
number

Controls low noise LoRA influence strength. 0.0 = disabled, 1.0 = full strength, 2.0 = maximum.

Default: 1Range: 0 - 2
low_noise_lora_scale_3optional
number

Controls low noise LoRA influence strength. 0.0 = disabled, 1.0 = full strength, 2.0 = maximum.

Default: 1Range: 0 - 2
negative_promptoptional
string

Text describing what you want to avoid in the video. Helps improve quality by excluding unwanted elements.

Default: ""
num_framesoptional
integer

Sets video frame count; 81 frames for optimal detail. Increase for smoother motion.

Default: 81Range: 81 - 100
resolutionoptional
string

Sets video resolution. Use 720p for higher clarity, 480p for faster generation.

Default: "480p"
Allowed values :
"480p""720p"
sample_shiftoptional
number

Adjusts image sampling shift. Use lower values for subtle changes.

Default: 12Range: 1 - 20
seedoptional
integer

Sets randomness; leave blank for complete randomization. Use a specific seed for reproducibility.

Default: null

Response Type

Returns: Video

Asynchronous requests (v2)

Use Async for video, long-running (>~60s), or high-concurrency workloads; Sync is simplest for fast image & LLM calls. Async submits a request and you poll it to completion.

  1. 1
    POST /v2/wan-2.2-i2v-fast

    Submitreturns request_id, status_url, response_url

  2. 2
    GET /v2/requests/{id}/status

    Polluntil COMPLETED or FAILED

  3. 3
    GET /v2/requests/{id}

    Resultfinal response body

Status states

QUEUEDAccepted, waiting for a worker
PROCESSINGRunning on a worker
COMPLETEDDone — result body is ready
FAILEDErrored (incl. content/RAI blocks)
  • A FAILED request is served as HTTP 422 — the body still carries the error detail.
  • An unknown or expired request_id returns HTTP 404.
  • Results are retained for 1 hour, then expire.
  • Content / RAI blocks surface as FAILED, not a separate state.
  • Track completion by polling the status endpoint.

Common Error Codes

The API returns standard HTTP status codes. Detailed error messages are provided in the response body.

400

Bad Request

Invalid parameters or request format

401

Unauthorized

Missing or invalid API key

403

Forbidden

Insufficient permissions

404

Not Found

Model or endpoint not found

406

Insufficient Credits

Not enough credits to process request

429

Rate Limited

Too many requests

500

Server Error

Internal server error

502

Bad Gateway

Service temporarily unavailable

504

Timeout

Request timed out