HiAPI
Blog

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.

Oct 15, 2026
Come si usa l'API video Wan 2.7 di Wanxiang? Guida in cinese per text-to-video e image-to-video

TL;DR

  • Wan 2.7 di Wanxiang è un modello video di Alibaba; su HiAPI sono disponibili text-to-video wan2.7-video/text-to-video e image-to-video wan2.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 chiama ratio, non aspect_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)

  1. Apri la pagina del modello Wan 2.7 text-to-video e registrati o accedi.
  2. Incolla il prompt e scegli durata, risoluzione e formato.
  3. Clicca su Genera e scarica il video non appena è pronto.

Chiamata API

  1. Crea una API Key nella console.
  2. POST https://api.hiapi.ai/v1/tasks per inviare il task; la risposta contiene taskId.
  3. GET /v1/tasks/{taskId} per controllare lo stato; quando status è success, scarica il video da output[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 per taskId.
  • 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.

Inizia a creare con artefatti IA persistenti

Ottieni la tua chiave API e chiama modelli di immagini, video e audio tramite un'unica API basata sui task.

Leggi la documentazione API