HiAPI
Blog

Tutorial

Wan 3.0 API-Anleitung: curl, Python und alle Parameter

So rufst du Wan 3.0 Standard auf: Aufgabe senden und Ergebnis abrufen, Erst-/Letztbild und Referenzmodus, alle Parameter, häufige Fehler, 480P 5 Sekunden $0.20.

Oct 19, 2026
Wan 3.0 API-Anleitung: curl, Python und alle Parameter

Wan 3.0 Standard (wan3.0-video) läuft auf HiAPI über die einheitliche asynchrone Schnittstelle: POST /v1/tasks zum Senden, du erhältst eine taskId, und mit GET /v1/tasks/{taskId} holst du das Ergebnis ab. Ein einziger Prompt genügt für ein Video mit Ton; du kannst auch ein Erstbild, ein Letztbild oder bis zu 10 Referenzbilder, 5 Referenzvideos und 5 Referenzaudios zur Steuerung der Generierung hinzufügen. Dieser Artikel enthält direkt ausführbare curl- und Python-Beispiele, alle aktuellen Parameter und einige Punkte, die du vor dem Livegang beachten solltest.

Zuerst der Preis

Auflösung Pro Sekunde 5 Sekunden
480P $0.04 $0.20
720P $0.08 $0.40
1080P (Standard) $0.16 $0.80

Aktueller HiAPI-Preis, geprüft am 18. Oktober 2026. Ton ist standardmäßig aktiviert und kostet nichts extra.

Achte auf die Standardwerte: Ohne resolution gilt 1080P, ohne duration gelten 5 Sekunden – das sind $0.80 pro Video. Gib beim Testen von Prompts unbedingt explizit "resolution": "480P" an.

Für schnellere Ergebnisse kannst du die beschleunigte Version wan3.0-video-prime verwenden; sie kostet mehr als das Doppelte der Standardversion (480P $0.0875 pro Sekunde).

Ein echtes fertiges Video

480P, 16:9, 5 Sekunden, mit Ton:

A steaming noodle stall at a night market, close on the cook's hands as she lifts a tangle of noodles from a boiling pot and swirls them into a blue-rimmed bowl; slow push-in, warm tungsten light against cool blue street glow, steam drifting through the frame. Sound: rolling boil, the clink of a ladle, crowd murmur and a scooter passing in the distance.

Mit diesem Prompt generieren →

wan3.0-video, 480P, 5 Sekunden, $0.20.

Erstes Video zum Laufen bringen

Vorbereitung: Erstelle im Dashboard einen API Key. Neue Nutzer erhalten bei der Registrierung 200 Credits gratis.

curl: Aufgabe senden

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "input": {
      "prompt": "A steaming cup of coffee on a wooden table, soft morning light, gentle steam rising. Sound: a quiet cafe.",
      "resolution": "480P",
      "duration": 5,
      "aspect_ratio": "16:9"
    }
  }'

Es wird sofort eine taskId zurückgegeben, die Generierung läuft im Hintergrund:

{"code": 200, "message": "success", "data": {"taskId": "tk-hiapi-..."}}

curl: Ergebnis abfragen

curl -s https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
  -H "Authorization: Bearer $HIAPI_KEY"

Sobald data.status zu success wird, ist data.output[0].url die Video-Adresse. Die temporäre Adresse läuft nach etwa 7 Tagen ab; lade sie also möglichst schnell herunter und speichere sie dauerhaft.fail bedeutet Fehler, es wird nichts berechnet.

Python

import os, time, requests

KEY = os.environ["HIAPI_KEY"]
BASE = "https://api.hiapi.ai/v1"
H = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}

r = requests.post(f"{BASE}/tasks", headers=H, json={
    "model": "wan3.0-video",
    "input": {
        "prompt": "A steaming cup of coffee on a wooden table, soft morning light, gentle steam rising. Sound: a quiet cafe.",
        "resolution": "480P",
        "duration": 5,
    },
})
task_id = r.json()["data"]["taskId"]

while True:
    d = requests.get(f"{BASE}/tasks/{task_id}", headers=H).json()["data"]
    if d["status"] in ("success", "fail"):
        break
    time.sleep(10)

print(d["output"][0]["url"] if d["status"] == "success" else d)

Kurze Videos sind meist in wenigen Minuten fertig; ein Polling-Intervall von 10 Sekunden reicht aus.

Alle Parameter

Feld Erforderlich Wert Beschreibung
prompt Ja Text Szene, Aktion, Kamera, Licht und Ton werden hier beschrieben; im Referenzmodus verweist du mit Image1, Video1, Audio1 auf das Material
resolution Nein 480P / 720P / 1080P (Standard) Bestimmt den Sekundenpreis
duration Nein Ganzzahl 2–30, Standard 5 Gesamtdauer der Referenzvideos plus Ausgabedauer darf 30 Sekunden nicht überschreiten
aspect_ratio Nein adaptive (Standard) / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 adaptive wählt automatisch anhand von Material und Prompt
audio Nein Boolesch, Standard true Ob eine synchrone Tonspur enthalten ist
seed Nein 0–2147483647 Festlegen erleichtert die Reproduzierbarkeit
first_frame_url Nein 1 Bild-URL Erstbild-Modus
last_frame_url Nein 1 Bild-URL Zusammen mit dem Erstbild verwenden, um das Letztbild festzulegen
reference_image_urls Nein Maximal 10 Referenzbilder
reference_video_urls Nein Maximal 5, je 1–15 Sekunden, insgesamt ≤15 Sekunden Referenzvideos
reference_audio_urls Nein Maximal 5 WAV/MP3 Müssen zusammen mit Bildern oder Videos verwendet werden
reference_file_urls Nein Maximal 1 Dokument oder Präsentation
reference_link_urls Nein Maximal 1 Webseite ohne Anmeldung

Die beiden Modi lassen sich nicht mischen: Erstbild/Letztbild-Modus und reference_*-Referenzmodus schließen sich gegenseitig aus; pro Anfrage kannst du nur einen wählen.

Beispiel für den Referenzmodus:

{
  "model": "wan3.0-video",
  "input": {
    "prompt": "Use Image1 as the product: slow quarter orbit around it on a wooden counter, soft morning window light. Sound: gentle pouring water.",
    "reference_image_urls": ["https://example.com/product.jpg"],
    "resolution": "480P",
    "duration": 5
  }
}

Häufige Fehler

Alle werden beim Senden synchron als HTTP 400 zurückgegeben; es wird keine Aufgabe erstellt und nichts berechnet:

  • duration: maximum: got 99, want 30: Die Dauer überschreitet 30 Sekunden.
  • resolution: value must be one of '480P', '720P', '1080P': Das P der Auflösung muss großgeschrieben sein.
  • additional properties 'negative_prompt', 'image_urls' not allowed: Dieses Modell hat keinen Negative Prompt; das Feld für Referenzbilder heißt reference_image_urls, nicht image_urls.
  • Ein falscher API Key führt zu HTTP 401, unzureichendes Guthaben zu 402.

Wenn eine Aufgabe nach der Erstellung fehlschlägt, steht in der Ergebnisabfrage status: "fail", der HTTP-Statuscode bleibt jedoch 200; prüfe daher data.status.

Vor dem Livegang beachten

  • Callback statt Polling verwenden: Füge auf oberster Ebene des Request-Bodys "callback": {"url": "https://deine-domain/hiapi/callback", "when": "final"} hinzu; HiAPI benachrichtigt dich dann aktiv, wenn die Aufgabe abgeschlossen ist.callback gehört auf die oberste Ebene, nicht in input.
  • Doppelte Abrechnung verhindern: Sende beim Absenden den Request-Header Idempotency-Key. Wenn du bei Netzwerk-Timeout mit demselben Key erneut versuchst, wird die ursprüngliche taskId zurückgegeben und keine weitere Aufgabe erstellt.
  • Rechtzeitig dauerhaft speichern: Temporäre Adressen laufen nach etwa 7 Tagen ab. Wenn du sie langfristig behalten möchtest, übergib beim Erstellen "storage": "persistent" oder stelle später auf dauerhaften Speicher um; siehe Dokumentation zum Erstellen von Aufgaben.

Häufige Fragen

Geht es auch ohne Referenzbilder?

Ja. Nur mit prompt lässt sich bereits ein Video erzeugen; Referenzmaterial ist optional.

Kostet Ton extra?

Nein.audio ist standardmäßig aktiviert; der Preis hängt nur von Auflösung und Sekundenzahl ab. Wenn du keinen Ton willst, übergib false.

Ich möchte Hochformat?

Übergib bei aspect_ratio den Wert 9:16.

Kann ich Erstbild und Referenzbilder zusammen verwenden?

Nein, du musst dich für eines entscheiden.

Weitere Prompt-Schreibweisen findest du in der Wan 3.0 Prompt-Sammlung, zu allen 4 Szenarien gibt es echte fertige Videos. Du kannst auch direkt den Nudelstand-Prompt oben kopieren und für $0.20 ein Video generieren.

Ähnliche Artikel

Alle Artikel ansehen →

Starte mit persistenten KI-Artefakten

Hol dir deinen API-Key und rufe Bild-, Video- und Audiomodelle über eine einzige task-basierte API auf.

API-Dokumentation lesen