MarketSupport← Back to app

Wan

Wan models are called through one unified, asynchronous job API. Start a task with POST /api/generate, then poll GET /api/generate/{taskId} until it finishes. This family exposes 18 endpoints.

Overview

Every endpoint shares the same envelope — only model and the input fields change. Run any from the Models Market playground.

Authentication

Create an API key at /api-keys, then send it as a Bearer token. Requests from the browser while logged in also work via the session cookie.

Authorization: Bearer <YOUR_API_KEY>

Create Task

POST
POST https://97ai.97claude.com/api/generate

Body: { "model": "<slug>", "input": { … } }

Response: { "taskId": "<id>", "state": "waiting" }

Query Result

GET
GET https://97ai.97claude.com/api/generate/<taskId>

Response: { "taskId", "state": "waiting" | "success" | "fail", "resultUrls": [ … ], "creditsConsumed", "failMsg", "balance" }

Asynchronous
A 200 from Create Task only means the task was accepted — not finished. Poll this endpoint until state becomes success or fail. Failed tasks are not billed.

Endpoints

ModelTaskmodel slug
Wan 2.7 ImageText to Imagewan/2-7-image
Wan 2.7 Image ProText to Imagewan/2-7-image-pro
Wan 2.2 A14BImage to Videowan/2-2-a14b-image-to-video-turbo
Wan 2.2 A14BSpeech to Videowan/2-2-a14b-speech-to-video-turbo
Wan 2.2 A14BText to Videowan/2-2-a14b-text-to-video-turbo
Wan 2.2 Animate MoveLip Syncwan/2-2-animate-move
Wan 2.2 Animate ReplaceLip Syncwan/2-2-animate-replace
Wan 2.6Image to Videowan/2-6-image-to-video
Wan 2.6Text to Videowan/2-6-text-to-video
Wan 2.6Video to Videowan/2-6-video-to-video
Wan 2.6 FlashImage to Videowan/2-6-flash-image-to-video
Wan 2.6 FlashVideo to Videowan/2-6-flash-video-to-video
Wan 2.5Image to Videowan/2-5-image-to-video
Wan 2.5Text to Videowan/2-5-text-to-video
Wan 2.7Text to Videowan/2-7-text-to-video
Wan 2.7Image to Videowan/2-7-image-to-video
Wan 2.7 VideoeditVideo Editingwan/2-7-videoedit
Wan 2.7 R2VVideo to Videowan/2-7-r2v

Wan 2.7 Image · Text to Image

POSTText to Imagewan/2-7-image
input fields
promptstringrequired

Text prompt describing the desired output.

aspect_ratiostringoptional

Output aspect ratio, e.g. "1:1", "16:9".

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-7-image",
    "input": { "prompt": "a red panda", "aspect_ratio": "1:1" }
  }'

Wan 2.7 Image Pro · Text to Image

POSTText to Imagewan/2-7-image-pro
input fields
promptstringrequired

Text prompt describing the desired output.

aspect_ratiostringoptional

Output aspect ratio, e.g. "1:1", "16:9".

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-7-image-pro",
    "input": { "prompt": "a red panda", "aspect_ratio": "1:1" }
  }'

Wan 2.2 A14B · Image to Video

POSTImage to Videowan/2-2-a14b-image-to-video-turbo
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-2-a14b-image-to-video-turbo",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Wan 2.2 A14B · Speech to Video

POSTSpeech to Videowan/2-2-a14b-speech-to-video-turbo
input fields
promptstringrequired

Text prompt describing the desired output.

video_urlstringrequired

Source video URL to transform.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-2-a14b-speech-to-video-turbo",
    "input": { "prompt": "make it snow", "video_url": "https://example.com/in.mp4" }
  }'

Wan 2.2 A14B · Text to Video

POSTText to Videowan/2-2-a14b-text-to-video-turbo
input fields
promptstringrequired

Text prompt describing the desired output.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-2-a14b-text-to-video-turbo",
    "input": { "prompt": "a red panda surfing" }
  }'

Wan 2.2 Animate Move · Lip Sync

POSTLip Syncwan/2-2-animate-move
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-2-animate-move",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Wan 2.2 Animate Replace · Lip Sync

POSTLip Syncwan/2-2-animate-replace
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-2-animate-replace",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Wan 2.6 · Image to Video

POSTImage to Videowan/2-6-image-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-6-image-to-video",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Wan 2.6 · Text to Video

POSTText to Videowan/2-6-text-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-6-text-to-video",
    "input": { "prompt": "a red panda surfing" }
  }'

Wan 2.6 · Video to Video

POSTVideo to Videowan/2-6-video-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

video_urlstringrequired

Source video URL to transform.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-6-video-to-video",
    "input": { "prompt": "make it snow", "video_url": "https://example.com/in.mp4" }
  }'

Wan 2.6 Flash · Image to Video

POSTImage to Videowan/2-6-flash-image-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-6-flash-image-to-video",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Wan 2.6 Flash · Video to Video

POSTVideo to Videowan/2-6-flash-video-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

video_urlstringrequired

Source video URL to transform.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-6-flash-video-to-video",
    "input": { "prompt": "make it snow", "video_url": "https://example.com/in.mp4" }
  }'

Wan 2.5 · Image to Video

POSTImage to Videowan/2-5-image-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-5-image-to-video",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Wan 2.5 · Text to Video

POSTText to Videowan/2-5-text-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-5-text-to-video",
    "input": { "prompt": "a red panda surfing" }
  }'

Wan 2.7 · Text to Video

POSTText to Videowan/2-7-text-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-7-text-to-video",
    "input": { "prompt": "a red panda surfing" }
  }'

Wan 2.7 · Image to Video

POSTImage to Videowan/2-7-image-to-video
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-7-image-to-video",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Wan 2.7 Videoedit · Video Editing

POSTVideo Editingwan/2-7-videoedit
input fields
promptstringrequired

Text prompt describing the desired output.

video_urlstringrequired

Source video URL to transform.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-7-videoedit",
    "input": { "prompt": "make it snow", "video_url": "https://example.com/in.mp4" }
  }'

Wan 2.7 R2V · Video to Video

POSTVideo to Videowan/2-7-r2v
input fields
promptstringrequired

Text prompt describing the desired output.

video_urlstringrequired

Source video URL to transform.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan/2-7-r2v",
    "input": { "prompt": "make it snow", "video_url": "https://example.com/in.mp4" }
  }'