HiAPI
Blog

Benutzerhandbuch

Veo 3.1 Lite Bild-zu-Video: Fotos über die hiapi API in kurze Videos verwandeln

Schritt-für-Schritt-Workflow für Bild-zu-Video, echte Preise und ein direkt ausführbares API-Beispiel.

Sep 6, 2026
Veo 3.1 Lite Bild-zu-Video: Fotos über die hiapi API in kurze Videos verwandeln

TL;DR

  • Worum es geht: Ein echter End-to-End-Workflow, der ein einzelnes statisches Foto mit veo-3.1-lite/image-to-video auf der hiapi API in einen vertikalen Kurzvideoclip mit nativem Audio verwandelt. Jedes Bild, jeder Prompt und jeder API-Aufruf auf dieser Seite ist die echte Ausgabe der gezeigten Anfrage.
  • Warum sich Bild-zu-Video für Kurzvideo-Inhalte eignet: Du behältst die volle Kontrolle über Bildkomposition, Markenauftritt und Produktinszenierung im statischen Bild und lässt das Modell dann Bewegung und Umgebungsgeräusche hinzufügen – statt darauf zu hoffen, dass ein Text-zu-Video-Prompt zufällig die gewünschte Einstellung erzeugt.
  • Verifizierte API-Fakten: Der Task akzeptiert genau fünf Eingabefelder – prompt, image_url (eine einzelne öffentliche URL, kein Array), duration (4, 6 oder 8 Sekunden), resolution (720p oder 1080p) und generate_audio (Boolescher Wert). Das Schema ist strikt – jedes andere Feld wird abgelehnt.
  • Echte Kosten: Ein 4-Sekunden-Clip in 720p mit nativem Audio kostet $0.40 ($0.10/Sekunde); ohne Audio sinkt der Preis auf $0.24 ($0.06/Sekunde). Aktuelle Tarife findest du unter pricing.
  • Echte Renderzeit: Der unten eingebettete 4-Sekunden-Clip brauchte von der Task-Übermittlung bis zur herunterladbaren Datei etwa 55 Sekunden.

Warum Bild-zu-Video für Kurzvideo-Inhalte geeignet ist

TikTok- und Reels-Clips entscheiden sich am ersten Frame – dem Thumbnail, anhand dessen Menschen entscheiden, ob sie tippen. Text-zu-Video ist bei der Komposition ein Glücksspiel: Du beschreibst eine Szene und hoffst, dass das Modell sie so rahmt, wie du es brauchst. Bild-zu-Video dreht das um. Du legst mit einem statischen Bild die exakte Einstellung fest – Produktplatzierung, Licht, Seitenverhältnis – und übergibst dem Modell nur die Bewegung: Was soll schweben, dampfen, Wellen schlagen oder sich leicht bewegen, während die Kamera still bleibt.

Genau für diese Arbeitsteilung ist veo-3.1-lite/image-to-video gedacht: Gib ihm ein Foto und einen Bewegungs-Prompt, und es liefert ein MP4 mit nativem 9:16-Support und synchronem Audio zurück – ganz ohne Videobearbeitung.

Demo: ein statisches Foto, dann in Bewegung

Um das Ganze konkret zu machen, haben wir den gesamten Ablauf mit einem einfachen Motiv selbst durchlaufen: einem Eiskaffee-Matcha-Latte, komponiert so, wie ein Getränkerezept- oder Café-Account ihn für einen vertikalen Feed fotografieren würde.

Schritt 1 – das Quellfoto

Dieses statische Bild wurde mit gpt-image-2/text-to-image im Seitenverhältnis 9:16 und dem folgenden exakten Prompt generiert:

A vertical 9:16 studio product photograph of an iced matcha latte in a clear glass
on a white marble countertop, visible ice cubes and vivid green matcha layered against
milk, soft warm morning sunlight streaming in from the left casting a long soft shadow,
a small bamboo matcha whisk and a light wooden scoop with loose matcha powder resting
beside the glass, fine condensation droplets on the glass exterior, a blurred
cream-and-beige kitchen background with shallow depth of field, warm natural color
grade, high-resolution commercial beverage photography, no text, no watermark,
no hands, no logos

Jedes statische Bild funktioniert, solange es eine öffentliche URL ist – ein echtes Produktfoto, ein Screenshot oder ein KI-generiertes Standbild wie hier.

Schritt 2 – in Bewegung bringen

Das ist die echte Ausgabe – ein 4-Sekunden-MP4 in 720p und 9:16 mit synchronem Audio, erzeugt aus dem obigen Standbild und dem folgenden Bewegungs-Prompt:

Camera holds a slow, steady static shot with no camera movement or zoom. Gentle
wisps of steam rise from the iced matcha latte, fine condensation droplets slowly
trickle down the glass, and the ice cubes shift subtly with a soft clink. Warm
morning sunlight flickers gently as if from a light breeze outside a nearby window.
Soft ambient cafe background sound with a faint ceramic clink and quiet room tone.

Beachte, dass dieser Prompt das Motiv selbst kaum beschreibt – das Foto definiert es bereits. Er beschreibt nur, was sich bewegen und was zu hören sein soll, und genau darin liegt der ganze Sinn von Bild-zu-Video statt Text-zu-Video bei einer bereits komponierten Einstellung.

Den API-Aufruf auslösen

Im Hintergrund läuft jedes Modell auf hiapi – ob Bild oder Video – über dasselbe asynchrone Task-Muster: übermitteln, abfragen, herunterladen. Für veo-3.1-lite/image-to-video sieht die Anfrage so aus:

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-lite/image-to-video",
    "input": {
      "prompt": "Camera holds a slow, steady static shot with no camera movement or zoom. Gentle wisps of steam rise from the iced matcha latte...",
      "image_url": "https://your-cdn.example.com/still.jpg",
      "duration": 4,
      "resolution": "720p",
      "generate_audio": true
    }
  }'

Dies gibt sofort eine taskId zurück. Frage sie ab, bis der Status success lautet, und hole die Datei dann aus output[0].url – der Link läuft ab, also lade sofort herunter, statt direkt darauf zu verlinken:

import subprocess, json, time

def animate_still(token, image_url, prompt, duration=4, resolution="720p", audio=True):
    def curl(args):
        r = subprocess.run(
            ["curl", "-s", "--max-time", "60", *args,
             "-H", f"Authorization: Bearer {token}"],
            capture_output=True, check=True,
        )
        return json.loads(r.stdout)

    payload = {
        "model": "veo-3.1-lite/image-to-video",
        "input": {
            "prompt": prompt,
            "image_url": image_url,
            "duration": duration,
            "resolution": resolution,
            "generate_audio": audio,
        },
    }
    task = curl(["-X", "POST", "https://api.hiapi.ai/v1/tasks",
                 "-H", "Content-Type: application/json",
                 "-d", json.dumps(payload)])
    task_id = task["data"]["taskId"]

    while True:
        status = curl([f"https://api.hiapi.ai/v1/tasks/{task_id}"])["data"]
        if status["status"] in ("success", "fail"):
            break
        time.sleep(5)

    if status["status"] != "success":
        raise RuntimeError(status.get("error"))
    return status["output"][0]["url"]  # download immediately — this link expires

Das ist dasselbe dokumentierte Muster wie bei jedem taskbasierten Modell auf hiapi, und genau dieses Muster haben wir verwendet, um den obigen Clip zu rendern.

Was das Schema tatsächlich akzeptiert

Wir haben dies manuell gegen den Live-Endpunkt verifiziert, also behandle es als Fakt und nicht als Vermutung:

  • prompt – String, beschreibt die Bewegung (und das Audio, wenn generate_audio aktiviert ist).
  • image_url – eine einzelne öffentliche URL. Kein Array wie bei einigen anderen i2v-Modellen der Plattform – eine Liste hier zu übergeben, schlägt fehl.
  • duration – Ganzzahl, nur 4, 6 oder 8 Sekunden. Andere Werte werden nicht akzeptiert.
  • resolution – "720p" oder "1080p".
  • generate_audio – Boolescher Wert. Aktiviert oder deaktiviert natives synchrones Audio.
  • Das Schema ist strikt: Bei einem nicht erkannten Feld wird die Anfrage direkt abgelehnt, statt stillschweigend ignoriert.

Was ein Clip tatsächlich kostet

Die Preisgestaltung richtet sich nach den Ausgabesekunden und hängt von Auflösung und aktiviertem Audio ab (Stand September 2026 – prüfe vor einer größeren Budgetplanung die Live-Preisseite):

  • 720p mit Audio: $0.10/Sekunde – $0.40 für einen 4-Sekunden-Clip.
  • 720p ohne Audio: $0.06/Sekunde – derselbe Clip sinkt auf $0.24.
  • 1080p mit Audio: $0.14/Sekunde.
  • 1080p ohne Audio: $0.10/Sekunde.

Für einen Kurzvideo-Kalender ist diese Rechnung der eigentliche Hebel: Eine Charge von zehn 4-Sekunden-Clips in 720p mit Audio kostet etwa $4.00; dieselbe Charge ohne Audio $2.40. Wenn Sounddesign für den Post wichtig ist (Café-Umgebungsgeräusche, haptische Klickgeräusche des Produkts, Schritte), lass das Audio aktiviert – das ist der Unterschied zwischen einem Demo-Clip und einem Werk, das wie vor Ort gedreht wirkt.

Wenn du mehr als 8 Sekunden pro Clip brauchst oder die Kamerabewegung bei längeren Laufzeiten unabhängig steuern möchtest, bietet hiapi außerdem veo-3.1-fast (höhere Wiedergabetreue, ab $0.25/Sekunde) und die Flaggschiff-Stufe veo-3.1 (ab $0.57/Sekunde) – beide unterstützen Text-zu-Video und Bild-zu-Video. Für die meisten kurzen Social-Clips ist lite jedoch die richtige Standardwahl: Die Kosten sind nur ein Bruchteil, und die Ausgabe ist bereits für vertikale Clips unter 10 Sekunden abgestimmt.

Für einen anderen Ansatz zum selben Kurzvideo-Problem – längere Clips, mehr manuelle Kontrolle über Anfangs- und Endframe – haben wir auch die Rechnung für einen Kurzvideo-Workflow mit seedance-2.0-mini aufgestellt, der natives Audio aus Fotos gegen Laufzeiten von bis zu 15 Sekunden und einen niedrigeren Sekundentarif eintauscht.

Häufig gestellte Fragen

Akzeptiert veo-3.1-lite/image-to-video mehrere Referenzbilder? Nein. image_url akzeptiert nur eine öffentliche URL. Wenn du ein Modell brauchst, das mehrere Referenzbilder verschmelzen kann, ist das ein anderer Aufruf – prüfe die eigene Seite dieses Modells für sein exaktes Eingabeschema, bevor du annimmst, es sei dasselbe wie hier.

Kann ich mit einem einzigen Aufruf einen Clip von mehr als 8 Sekunden erhalten? Mit lite nicht. Das Feld duration akzeptiert nur 4, 6 oder 8. Für längere Einzelvideos sieh dir andere Videomodelle in der Video-API-Sammlung der Plattform an, von denen mehrere Laufzeiten über 15 Sekunden unterstützen.

Enthält die Ausgabe bereits natives Audio, oder muss ich den Ton in der Nachbearbeitung hinzufügen? Wenn generate_audio auf true steht, enthält das zurückgegebene MP4 bereits eine synchrone AAC-Tonspur – kein separater Audiodesign-Schritt nötig. Wenn du den Clip selbst vertonen oder keine Umgebungsgeräusche möchtest, setze es auf false.

Brauche ich überhaupt ein Videomodell, oder kann ich die Ausgabe von gpt-image-2 direkt veröffentlichen? Viele Kurzvideo-Feeds mischen statische und bewegte Inhalte, daher ist ein mit gpt-image-2/text-to-image erzeugtes Standbild für sich genommen ein guter Post. Bild-zu-Video eignet sich, wenn die Plattform (oder die aktuelle Situation) Bewegung braucht – Produktdetails, subtile Vorher-Nachher-Effekte, Loops – ohne neu zu drehen.

Was passiert, wenn ich eine ungültige duration übergebe (z. B. 5)? Die Anfrage wird abgelehnt, bevor irgendein Task erstellt wird – du erhältst sofort einen Schemafehler, statt einen Render zu verschwenden.

Bereit zum Ausprobieren? Die Modellseite von veo-3.1-lite/image-to-video hat einen Live-Playground, in dem du dein eigenes Foto und deinen Prompt einfügen kannst, bevor du eine einzige Zeile Code schreibst.

Ä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