Tutoriale
Come si usa l'API video Wan 2.7 di Wanxiang? Guida in cinese per text-to-video e image-to-video
Esempi curl e Python, come passare l'array media, primo e ultimo frame e audio di guida, oltre alle trappole comuni come le risoluzioni in maiuscolo.
TL;DR
- Wan 2.7 di Wanxiang è un modello video di Alibaba; su HiAPI sono disponibili text-to-video
wan2.7-video/text-to-videoe image-to-videowan2.7-video/image-to-video, da 2 a 15 secondi per clip. Apri la pagina del modello per generare online; i nuovi utenti ricevono 200 crediti alla registrazione. - Fatturazione al secondo, stesso prezzo per text-to-video e image-to-video: 720P $0.10 al secondo, 1080P $0.167 al secondo. 5 secondi in 720P costano $0.50.
- Due trappole comuni: la risoluzione va scritta in maiuscolo
720P/1080P, il default è 1080P; il parametro del formato per il text-to-video si chiamaratio, nonaspect_ratio.
Prima guarda il risultato
Text-to-video, esempio dalla pagina del modello, prompt in cinese:
一位穿着白色毛衣的年轻女子坐在咖啡馆窗边,窗外是雨天的街道,她轻轻端起咖啡杯,目光望向窗外,暖黄色灯光映照在她的脸上,雨滴顺着玻璃缓缓流下,电影级浅景深,35mm胶片质感,温暖色调,慢镜头特写
Genera con questo prompt → (1080P, 16:9)
wan2.7-video/text-to-video esempio dalla pagina del modello, 1080P, circa 8 secondi, circa $1.336 al prezzo attuale.
Image-to-video, usando un'immagine di una fattoria in stile plastilina come primo frame:

黏土动画风格,欢乐农场场景缓缓活起来。奶牛妈妈慢慢咀嚼嘴里的青草,小牛好奇地歪头张望。身后的母鸡们低头啄食地上的谷粒,小狗摇着尾巴朝镜头方向小跑几步。泥坑里的小猪满足地打了个滚,溅起小小的泥花。远处红色谷仓的风车缓缓转动,绿色山丘上白云悠悠飘过。地面上的小花随微风轻轻摇摆,整个画面充满温暖的午后阳光,定格动画质感,童趣十足。
Genera con questo prompt → (carica il tuo primo frame)
wan2.7-video/image-to-video esempio dalla pagina del modello, 1080P, circa 8 secondi, circa $1.336 al prezzo attuale.
Il prompt per l'image-to-video si scrive descrivendo «chi fa cosa», uno per uno: la mucca mastica l'erba, le galline becchettano, il cane trotta, il maialino si rotola. Basta assegnare una piccola azione a ogni soggetto nell'immagine e l'intero quadro prende vita.
Due percorsi per iniziare
Prova online (senza scrivere codice)
- Apri la pagina del modello Wan 2.7 text-to-video e registrati o accedi.
- Incolla il prompt e scegli durata, risoluzione e formato.
- Clicca su Genera e scarica il video non appena è pronto.
Chiamata API
- Crea una API Key nella console.
POST https://api.hiapi.ai/v1/tasksper inviare il task; la risposta contienetaskId.GET /v1/tasks/{taskId}per controllare lo stato; quandostatusèsuccess, scarica il video daoutput[0].url.
curl: il primo video
5 secondi in 720P, $0.50:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.7-video/text-to-video",
"input": {
"prompt": "一只橘猫趴在洒满阳光的窗台上打哈欠,尾巴轻轻摆动,暖色调,浅景深",
"resolution": "720P",
"ratio": "16:9",
"duration": 5
}
}'
Risposta:
{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}
Controlla il risultato:
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
Python: invio, polling e download
# pip install requests;先 export HIAPI_KEY=你的 Key
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(model, timeout_s=900, **params):
body = {"model": model, "input": params}
# 重试提交同一个任务时带同一个 Idempotency-Key,避免重复扣费
headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
r.raise_for_status()
res = r.json()
if res.get("code") != 200:
raise RuntimeError(res)
task_id = res["data"]["taskId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d)
time.sleep(10)
raise TimeoutError(task_id)
url = generate(
"wan2.7-video/text-to-video",
prompt="一只橘猫趴在洒满阳光的窗台上打哈欠,尾巴轻轻摆动,暖色调,浅景深",
resolution="720P", ratio="9:16", duration=5,
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Image-to-video: passa i materiali con media
Per l'image-to-video non si usa image_url, ma un array media, in cui ogni elemento specifica tipo e indirizzo, da 1 a 3 elementi:
{
"model": "wan2.7-video/image-to-video",
"input": {
"prompt": "镜头缓慢推进,花瓣被风吹起,人物转头微笑",
"media": [
{"type": "first_frame", "url": "https://your-cdn.example.com/start.jpg"},
{"type": "last_frame", "url": "https://your-cdn.example.com/end.jpg"}
],
"resolution": "720P",
"duration": 5
}
}
type ha quattro valori:
type |
Funzione |
|---|---|
first_frame |
Immagine del primo frame |
last_frame |
Immagine dell'ultimo frame, usata con il primo per la transizione |
driving_audio |
Audio di guida, fa muovere il video seguendo il suono |
first_clip |
Video iniziale, da cui continuare la generazione |
Panoramica dei parametri
| Parametro | Valori | Descrizione |
|---|---|---|
prompt |
Stringa, obbligatorio | Massimo 5000 caratteri, in cinese o inglese |
negative_prompt |
Stringa | Contenuti da non far comparire, massimo 500 caratteri |
resolution |
720P / 1080P, default 1080P |
Maiuscolo, determina direttamente il prezzo |
ratio |
16:9 9:16 1:1 4:3 3:4, default 16:9 |
Solo text-to-video |
duration |
Intero da 2 a 15, default 5 | Unità: secondi |
audio_url |
wav/mp3, 2–30 secondi, massimo 15 MB | Solo text-to-video, opzionale |
prompt_extend |
Default true |
Ottimizza automaticamente il prompt; imposta false per generare esattamente dal testo originale |
seed |
0–2147483647 | Seed fisso per facilitare la riproduzione |
watermark |
Default false |
Se aggiungere la filigrana di generazione AI |
Calcola il costo
| Durata | 720P ($0.10/secondo) | 1080P ($0.167/secondo) |
|---|---|---|
| 2 secondi | $0.20 | $0.334 |
| 5 secondi | $0.50 | $0.835 |
| 10 secondi | $1.00 | $1.67 |
| 15 secondi | $1.50 | $2.505 |
Con $10 in 720P si generano 100 secondi. Il default di resolution è 1080P; durante la messa a punto del prompt scrivi 720P per risparmiare il 40%.
Da controllare prima del rilascio
- Usa i callback invece del polling: aggiungi al livello superiore della richiesta (allo stesso livello di
input)"callback": {"url": "https://tuo-dominio/hiapi/callback"}e deduplica pertaskId. - Salva subito i file:
output[0].urlè un link temporaneo; appena ricevuto, salvalo nel tuo storage. - Riprova con una chiave di idempotenza: aggiungi l'header
Idempotency-Key; con la stessa chiave il retry crea il task una sola volta. - Rimborso automatico in caso di errore: si paga solo per i video generati con successo.
Domande frequenti
Posso scrivere la risoluzione in minuscolo 720p?
No. In minuscolo restituisce direttamente un 400: resolution: value must be one of '720P', '1080P'.
Perché passare aspect_ratio dà errore?
Il parametro del formato per il text-to-video di Wan 2.7 si chiama ratio. Passare aspect_ratio restituisce un 400: additional properties 'aspect_ratio' not allowed.
Come si imposta il formato per l'image-to-video?
L'image-to-video non ha un parametro di formato: segue il primo frame.
Si possono generare video da 15 secondi?
Sì, duration va da 2 a 15 secondi.
Come scegliere tra Wan 2.7 e Wan 3.0?
Su HiAPI, Wan 3.0 è reference-to-video e usa immagini di riferimento per fissare persone e prodotti; se ti serve solo text-to-video o image-to-video, usa Wan 2.7.
Per altri esempi di scrittura, vedi Casi di prompt per Wan 2.7 text-to-video (in inglese). Se vuoi prima provarne uno, vai alla pagina del modello e genera.
Articoli correlati
Vedi tutti gli articoli →-
Tutoriale
Come chiamare hailuo-2.3-fast/image-to-video tramite l'API HiAPI: pratica con curl e Python
La prima richiesta funzionante per il livello image-to-video veloce ed economico — dall'ID del modello al download di un MP4
-
Tutoriale
Come chiamare hailuo-2.3/text-to-video tramite l'API HiAPI: curl, Python ed esempi di richiesta eseguibili
-
Tutoriale
Utilizzare Kandinsky 6.0 Pro su HiAPI per la generazione di video da testo: tutorial con curl e Python
Dimostrazione pratica guidata dalla richiesta: costruire la chiamata da prompt a clip video, inviare la richiesta, monitorare lo stato di completamento e scaricare il risultato