Wan 2.2 Ultra Fast · Text to Video
wavespeed-ai/wan-2.2/t2v-480p-ultra-fast
wavespeed-ai/wan-2.2/t2v-480p-ultra-fast. Acesse modelos de IA de vários provedores por uma única API. Compare recursos, parâmetros e preços.
Referência completa de parâmetros, esquema de saída e preços atuais
| Model Hub | Uma plataforma para tudo | Mais popular | Termos | Acesse modelos de IA de vários provedores por uma única API. Compare recursos, parâmetros e preços. |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 2000 chars | |
| sizeAspect ratio | select | 832*480 | 832*480 | 480*832 | |
| durationDuration | select | 5 | 5 | 8 | |
| negative_promptNegative prompt | textarea | — | ≤ 2000 chars | |
| seedSeed | number | -1 | -1 ~ 2147483647 · step 1 |
API
Acesse modelos de IA de vários provedores por uma única API. Compare recursos, parâmetros e preços.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.framedance.ai/api/v1/marketplace/run/wavespeed-ai/wan-2.2/t2v-480p-ultra-fast" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "A calm ocean wave at sunrise, gentle motion, slow cinematic camera push-in",
"size": "832*480",
"duration": 5,
"seed": -1
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.framedance.ai/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.framedance.ai/api/v1/marketplace/run/wavespeed-ai/wan-2.2/t2v-480p-ultra-fast",
headers=HEADERS,
json={
"input": {
"prompt": "A calm ocean wave at sunrise, gentle motion, slow cinematic camera push-in",
"size": "832*480",
"duration": 5,
"seed": -1
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 600s server-side.
deadline = time.time() + 660
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.framedance.ai/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.framedance.ai/api/v1/marketplace/run/wavespeed-ai/wan-2.2/t2v-480p-ultra-fast", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"prompt": "A calm ocean wave at sunrise, gentle motion, slow cinematic camera push-in",
"size": "832*480",
"duration": 5,
"seed": -1
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 600s server-side.
const deadline = Date.now() + 660 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.framedance.ai/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);