Reference to Video erlaubt es dir, das Aussehen von Charakteren, Objekten und Szenen festzuziehen, damit deine KI-generierten Videos visuell konsistent bleiben. Statt zu hoffen, dass das Modell deinen Prompt korrekt interpretiert, lieferst du visuelle Anker – Referenzbilder, die dem Modell genau sagen, wie dein Motiv aussieht.
Diese Funktion ist auf Kling O3- und Grok Imagine R2V-Modellen im Venice Video Studio verfügbar. Jede Modellfamilie nutzt einen anderen Ansatz für Referenzbilder – siehe die modellspezifischen Abschnitte unten.
Wann Reference to Video verwenden
Verwende Reference to Video, wenn du brauchst:
- Charakter-Konsistenz – dieselbe Person oder Figur über mehrere Shots
- Produktgenauigkeit – ein reales Produkt, das identisch zum Original aussehen muss
- Szenenkontinuität – eine bestimmte Umgebung oder ein Hintergrund über mehrere Generationen
- Multi-Charakter-Szenen – mehrere unterschiedliche Charaktere, die interagieren, ohne sich zu vermischen
Für einfache Text-to-Video oder Image-to-Video ohne kritische Konsistenz funktionieren die Standardmodelle gut auch ohne Referenzen.
Verfügbare Modelle
| Modell | Ansatz | Geeignet für |
|---|
| Kling O3 Pro R2V | Elements + Scene-Images | Komplexe Multi-Charakter-Szenen mit präziser Identitätskontrolle |
| Kling O3 Standard R2V | Elements + Scene-Images | Schnellere Iteration auf element-basierten Szenen |
| Grok Imagine R2V | Flache Referenzbilder | Schnelle referenzgetriebene Generierung mit bis zu 7 Bildern |
Kling O3 verwendet einen strukturierten Ansatz mit Elements (Charakter-Identitätsanker mit Frontal- + Referenzbildern) und Scene-Images. Grok Imagine R2V ist einfacher – du lädst Referenzbilder direkt hoch und referenzierst sie im Prompt mit @Image1, @Image2 usw.
Kling O3 Reference to Video
Kernkonzepte
Kling O3 Reference to Video nutzt drei Arten visueller Inputs, die zusammenspielen:
| Input | Pflicht | Zweck | Wie im Prompt referenzieren |
|---|
| Elements | Mindestens ein visueller Input* | Identität eines Charakters oder Objekts fixieren | @Element1, @Element2 usw. |
| Szenen-Referenzbilder | Mindestens ein visueller Input* | Umgebung, Stil und Stimmung setzen | @Image1, @Image2 usw. |
| Start-Frame | Mindestens ein visueller Input* | Erstes Frame des Videos steuern | – (per Upload gesetzt) |
| End-Frame | Nein | Letztes Frame des Videos steuern | – (per Upload gesetzt) |
*Mindestens eines aus: Start-Frame, Elements oder Szenen-Referenzbildern ist Pflicht.
Elements
Ein Element ist ein Charakter oder Objekt, das im Video visuell stabil bleiben soll. Jedes Element besteht aus:
- Frontalbild (Pflicht pro Element) – ein klares, frontales Foto des Motivs. Das ist der primäre Identitätsanker. Stell dir das wie das „Passfoto” deines Charakters oder Produkts vor.
- Referenzbilder (1–3, optional) – zusätzliche Ansichten desselben Motivs (Seitenansicht, 45°-Winkel, Rücken). Sie helfen dem Modell, das Motiv im 3D-Raum zu verstehen. Falls nicht angegeben, wird automatisch das Frontalbild als Referenz verwendet.
Du kannst pro Generierung bis zu 7 Elements hinzufügen (begrenzt durch das Gesamtmaximum). Referenziere sie im Prompt mit @Element1, @Element2 usw.
Szenen-Referenzbilder
Szenen-Referenzen definieren die „Bühne”, auf der die Handlung stattfindet. Sie beeinflussen:
- Beleuchtung und Farbpalette
- Architektur und Umgebungsdetails
- Gesamten visuellen Stil und Stimmung
Du kannst bis zu 4 Scene-Images hinzufügen. Referenziere sie als @Image1, @Image2 usw. im Prompt.
Limits
Die Gesamtzahl der Bilder über alle Input-Arten ist begrenzt:
| Limit | Wert |
|---|
| Mindestens erforderlich | Mindestens 1 visueller Input (Start-Frame, Element oder Scene-Image) |
| Kombiniertes Gesamtmaximum (Erst-Frame + End-Frame + Elements + Scene-Images) | 7 maximal |
| Elements (ohne Start-/End-Frame) | 7 maximal |
| Elements (mit Start- oder End-Frame) | 3 maximal |
| Szenen-Referenzbilder | 4 maximal |
| Referenzbilder pro Element | 1–3 |
Beispielszenarien:
- 7 Elements + 0 Scene-Images = 7 ✓ (keine Frames)
- 5 Elements + 2 Scene-Images = 7 ✓ (keine Frames)
- Erst-Frame (1) + 3 Elements + 3 Scene-Images = 7 ✓
- Erst-Frame (1) + End-Frame (1) + 3 Elements + 2 Scene-Images = 7 ✓
- Erst-Frame (1) + 4 Elements = ✗ (max. 3 Elements mit Frame)
- Erst-Frame (1) + End-Frame (1) + 4 Elements = ✗ (max. 3 Elements mit Frames)
Jedes Element benötigt ein Frontalbild. Wenn du keine Referenzbilder für ein Element angibst, wird das Frontalbild automatisch als Referenz verwendet.
Multi-Shot-Modus
Multi-Shot erlaubt es dir, eine einzige Generierung in mehrere Szenen aufzuteilen, jede mit eigenem Prompt und eigener Dauer. Elements und Scene-Referenzen werden über alle Shots übernommen und sorgen für Konsistenz. Die Gesamtdauer über alle Shots darf 15 Sekunden nicht überschreiten.
Schritt-für-Schritt-Anleitung (Video Studio)
1. Video Studio öffnen und Modell auswählen
Geh zu venice.ai/video. Wähle im Model-Browser links eines der Kling O3 Reference to Video-Modelle:
- Kling O3 Pro R2V – höhere Qualität, längere Generierungszeit (~6 Min.)
- Kling O3 Standard R2V – schneller, kostengünstiger für Iteration
Du musst mindestens einen visuellen Input bereitstellen, um ein Video zu generieren: einen Start-Frame, ein Element oder ein Szenen-Referenzbild. Im Input-Panel siehst du den Abschnitt Elements. Klicke Add Element, um ein Element für Charaktere oder Objekte zu erzeugen, die visuell konsistent bleiben sollen.
Für jedes Element:
- Klicke das Frontal-Feld, um ein klares, frontales Bild deines Charakters oder Objekts hochzuladen
- Optional Add unter Reference Images klicken, um zusätzliche Winkel (1–3) hochzuladen
Wiederhole das für weitere Charaktere oder Objekte (bis zu 7 Elements insgesamt oder 3, wenn Start-/End-Frames verwendet werden).
Die kombinierte Summe aus Erst-Frame, End-Frame, Elements und Scene-Images darf 7 nicht überschreiten. Details siehe Limits.
Beste Referenzbilder: Verwende gut ausgeleuchtete Fotos mit sauberem Hintergrund. Liefere Front-, Seiten- und 45°-Ansichten für die stärkste Identitätsfixierung. Achte darauf, dass alle Referenzbilder denselben visuellen Stil teilen (nicht photorealistisch mit Anime mischen).
3. Szenen-Referenzbilder hinzufügen (optional)
Unter dem Elements-Abschnitt siehst du Scene Reference Images. Lade Bilder hoch, die die gewünschte Umgebung definieren – einen bestimmten Ort, ein Lichtsetup oder einen Kunststil.
Sie werden automatisch als @Image1, @Image2 usw. getagged.
4. Start-Frame hochladen (optional)
Wenn du das exakte erste Frame deines Videos kontrollieren willst, wechsle zum Input-Typ Image und lade einen Start-Frame hoch. Optional kannst du auch einen End-Frame setzen.
5. Prompt schreiben
Beschreibe im Prompt-Feld die gewünschte Handlung und referenziere deine Elements und Scene-Images per @-Tags:
@Element1 walks through the streets of @Image1, looking up at the buildings.
The camera slowly tracks from behind, revealing the city skyline.
Für Multi-Charakter-Szenen:
@Element1 and @Element2 enter the cafe in @Image1 from opposite sides.
@Element1 waves and walks toward @Element2, who is sitting at a corner table.
6. Einstellungen konfigurieren
Öffne Video Settings, um anzupassen:
| Einstellung | Optionen | Default |
|---|
| Dauer | 3 s – 15 s | 5 s |
| Aspect Ratio | 16:9, 9:16, 1:1 | 16:9 |
| Audio generieren | On/Off | Off |
Die Audiogenerierung ergänzt native Soundeffekte, Dialog und Ambient-Audio synchron zum Video. Die Kosten steigen um ~25 %.
7. Generieren
Klicke Generate Video. Kling O3 braucht in der Regel 4–6 Minuten, abhängig vom Modell-Tier und der Dauer. Du kannst mehrere Generierungen in die Queue stellen und Ergebnisse in der Video-Galerie durchstöbern.
Multi-Shot-Storyboarding
Für narrative Sequenzen Multi-Shot nutzen, um separate Szenen in einer einzigen Generierung zu definieren.
- Im Prompt-Bereich auf Add Shot klicken, um weitere Shots anzulegen
- Pro Shot einen eigenen Prompt schreiben
- Pro Shot die Dauer setzen (jeweils 3–15 s, gesamt ≤ 15 s)
Elements und Scene-Referenzen bleiben über alle Shots automatisch erhalten:
Shot 1 (5s): @Element1 stands at the edge of @Image1, looking out at the horizon.
Slow camera push forward.
Shot 2 (5s): Close-up of @Element1's face as they turn toward the camera.
Soft natural lighting, shallow depth of field.
Shot 3 (5s): @Element1 walks away from camera into the distance.
Wide cinematic shot, golden hour lighting.
Die Gesamtdauer im Multi-Shot darf 15 Sekunden nicht überschreiten. Beispiel: Drei 5-Sekunden-Shots = maximal 15 s.
Prompting-Tipps
Den Prompt strukturieren
Folge diesem Muster für verlässliche Ergebnisse:
[Subjekt mit @Element-Tag] + [Aktion] + [Umgebung mit @Image-Tag] + [Kamerabewegung] + [Beleuchtung/Stil]
Beispiel:
@Element1 hops happily across the candy ground of @Image1, stops to look at a
giant lollipop, tilts its head curiously. Cinematic tracking shot, soft warm lighting.
Prompts mit 50–150 Wörtern
Kürzere Prompts fehlt Detail. Längere führen zu Widersprüchen. Ziel der „Sweet Spot”.
Einfache Kamerasprache nutzen
Das Modell reagiert am besten auf klare Kameraanweisungen:
| Nutze | Vermeide |
|---|
slow camera push forward | dolly zoom with rack focus transition |
tracking shot from behind | complex handheld parallax movement |
close-up | extreme macro with tilt-shift bokeh |
wide cinematic shot | anamorphic ultra-wide establishing crane shot |
Einheitlichen Wortschatz verwenden
Wenn du einen Charakter mit „a red jacket” beschreibst, wechsle im nächsten Prompt nicht zu „crimson coat”. Das Modell behandelt unterschiedliche Wörter als unterschiedliche Absicht.
Kameraanweisungen früh platzieren
Setze die Kameraanweisung nahe dem Prompt-Anfang, das ist verlässlicher:
Cinematic tracking shot of @Element1 walking through @Image1, leaves
blowing in the wind, golden afternoon light.
Kling O3 – Preise
Kling O3 Reference-to-Video-Modelle nutzen ein dauerbasiertes Pricing:
| Modell | Pro Sekunde (ohne Audio) | Pro Sekunde (mit Audio) |
|---|
| Kling O3 Pro R2V | $0,112 | $0,140 |
| Kling O3 Standard R2V | $0,112 | $0,140 |
Beispiel: Ein 10-Sekunden-Video mit Audio = 10 × $0,14 = $1,40
Nutze die Video-Quote-API für genaues Pricing vor der Generierung.
Kling O3 – API-Nutzung
Kling O3 Reference to Video ist auch über die Venice-API verfügbar. Vollständige Details in der Video-Queue-API.
Python
import requests
response = requests.post(
"https://api.venice.ai/api/v1/video/queue",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"model": "kling-o3-pro-reference-to-video",
"prompt": "@Element1 walks through @Image1, camera tracking from behind",
"duration": "8",
"aspect_ratio": "16:9",
"audio": True,
"elements": [
{
"frontal_image_url": "https://example.com/character-front.jpg",
"reference_image_urls": [
"https://example.com/character-side.jpg",
"https://example.com/character-angle.jpg"
]
}
],
"image_urls": [
"https://example.com/scene-background.jpg"
]
}
)
queue_id = response.json()["id"]
Node.js
const response = await fetch("https://api.venice.ai/api/v1/video/queue", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "kling-o3-pro-reference-to-video",
prompt: "@Element1 walks through @Image1, camera tracking from behind",
duration: "8",
aspect_ratio: "16:9",
audio: true,
elements: [
{
frontal_image_url: "https://example.com/character-front.jpg",
reference_image_urls: [
"https://example.com/character-side.jpg",
"https://example.com/character-angle.jpg"
]
}
],
image_urls: [
"https://example.com/scene-background.jpg"
]
})
});
const { id: queueId } = await response.json();
cURL
curl https://api.venice.ai/api/v1/video/queue \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-o3-pro-reference-to-video",
"prompt": "@Element1 walks through @Image1, camera tracking from behind",
"duration": "8",
"aspect_ratio": "16:9",
"audio": true,
"elements": [
{
"frontal_image_url": "https://example.com/character-front.jpg",
"reference_image_urls": [
"https://example.com/character-side.jpg",
"https://example.com/character-angle.jpg"
]
}
],
"image_urls": [
"https://example.com/scene-background.jpg"
]
}'
Element-Schema
Jedes Element im elements-Array akzeptiert:
| Feld | Typ | Pflicht | Beschreibung |
|---|
frontal_image_url | string | Ja | Klare frontale Bild-URL |
reference_image_urls | string[] | Nein | Zusätzliche Winkel-URLs (1–3). Falls weggelassen, wird das Frontalbild als Referenz verwendet. |
Die API unterstützt auch video_url für video-basierte Elements, aber das ist im Video Studio UI derzeit nicht verfügbar.
Kling O3 – Fehlerbehebung
| Problem | Wahrscheinliche Ursache | Lösung |
|---|
| Generate-Button ist deaktiviert | Kein visueller Input bereitgestellt | Mindestens einen visuellen Input ergänzen: Start-Frame, Element oder Scene-Image |
| Fehler „Number of images exceeds the limit” | Zu viele kombinierte Inputs | Summe aus Erst-Frame + End-Frame + Elements + Scene-Images muss ≤ 7 sein |
| Charaktergesicht ändert sich zwischen Shots | Anderes oder fehlendes Frontalbild | Dasselbe Frontalbild konsistent verwenden, Beschreibung identisch halten |
| Kamerabewegung wirkt zufällig | Mehrere oder widersprüchliche Kameraanweisungen | Eine einzige Kameraanweisung verwenden und früh im Prompt platzieren |
| Stil wechselt zwischen Generierungen | Inkonsistente Scene-Referenzen oder gemischte Stile | Dieselben Scene-Images wiederverwenden, Style-Keywords konstant halten |
| Elements verschmelzen in Multi-Charakter-Szenen | Vage räumliche Anweisungen | Position jedes Elements explizit angeben: „foreground left”, „entering from right” |
| Hintergrund wirkt verzerrt | Überladenes oder komplexes Scene-Referenzbild | Saubere, hochwertige Scene-Referenzbilder nutzen |
| Bewegung wirkt unnatürlich | Zu viele Aktionen in einem Prompt | Aktion vereinfachen, kürzere Dauer nutzen, eine Aktion pro Shot |
Teste zuerst mit 3–5 Sekunden, bevor du längere Dauern committest. Kürzere Clips bleiben konsistenter und du kannst schneller iterieren.
Grok Imagine Reference to Video
Grok Imagine R2V verfolgt einen einfacheren Ansatz als Kling O3. Statt strukturierter Elements mit Frontal-/Referenzbild-Trennung lädst du flache Referenzbilder hoch und referenzierst sie direkt im Prompt mit @Image1, @Image2 usw. Das Modell integriert diese Motive in das generierte Video.
Wie es funktioniert
- Lade 1–7 Referenzbilder hoch – Fotos von Charakteren, Objekten oder Szenen, die im Video vorkommen sollen
- Schreibe einen Prompt, der das Video beschreibt, und nutze
@Image1, @Image2 usw., um bestimmte Bilder zu referenzieren
- Das Modell generiert ein Video, das diese Referenzen einbezieht
Wenn du keine @Image-Tags im Prompt verwendest, werden alle hochgeladenen Bilder automatisch referenziert.
Einstellungen
| Einstellung | Optionen | Default |
|---|
| Aspect Ratio | 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16 | 16:9 |
| Auflösung | 480p, 720p | 480p |
| Dauer | 5 s, 8 s, 10 s | 8 s |
Grok Imagine R2V unterstützt weder Audiogenerierung, Multi-Shot-Modus noch Elements. Für diese Funktionen Kling O3 R2V verwenden.
Schritt-für-Schritt-Anleitung (Video Studio)
1. Modell auswählen
Geh zu venice.ai/video. Im Model-Browser Grok Imagine R2V wählen.
2. Referenzbilder hochladen
Klicke References in der Input-Toolbar (oder nutze das +-Menü), um das Referenzbild-Panel zu öffnen. Lade 1–7 Bilder der Charaktere, Objekte oder Szenen hoch, die im Video erscheinen sollen.
Jedes Bild wird automatisch in der Hochlade-Reihenfolge (links nach rechts) als @Image1, @Image2 usw. getagged.
3. Prompt schreiben
Beschreibe das gewünschte Video. Nutze @Image-Tags, um bestimmte Bilder zu referenzieren:
@Image1 and @Image2 walking together through a sunlit park,
camera slowly tracking alongside them, warm afternoon light.
Tippe @ im Prompt-Feld, um ein Autocomplete-Menü der verfügbaren Bildreferenzen zu sehen.
Wenn du @Image-Tags ganz weglässt, fügt das Backend automatisch Referenzen auf alle hochgeladenen Bilder voran. Praktisch, wenn du alle Bilder nutzen willst, ohne anzugeben, welches wie.
4. Einstellungen konfigurieren und generieren
Öffne Video Settings, um Aspect Ratio, Auflösung und Dauer anzupassen. Klicke Generate Video.
Grok Imagine R2V – Preise
Grok Imagine R2V verwendet Dauer- und Auflösungs-basiertes Pricing:
| Auflösung | Pro Sekunde |
|---|
| 480p | ~$0,063 |
| 720p | ~$0,088 |
Beispiel: Ein 8-Sekunden-Video in 480p = 8 × $0,063 = ~$0,50
Grok Imagine erhebt eine Content-Moderations-Gebühr für generierte Videos, auch wenn das Video abgelehnt wird. Das ist in den vor der Generierung angezeigten Credit-Kosten berücksichtigt.
Grok Imagine R2V – API-Nutzung
Python
import requests
response = requests.post(
"https://api.venice.ai/api/v1/video/queue",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"model": "grok-imagine-reference-to-video",
"prompt": "@Image1 and @Image2 walking through a park, cinematic tracking shot",
"duration": "8",
"aspect_ratio": "16:9",
"referenceImageUrls": [
"https://example.com/character-a.jpg",
"https://example.com/character-b.jpg"
]
}
)
queue_id = response.json()["id"]
Node.js
const response = await fetch("https://api.venice.ai/api/v1/video/queue", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "grok-imagine-reference-to-video",
prompt: "@Image1 and @Image2 walking through a park, cinematic tracking shot",
duration: "8",
aspect_ratio: "16:9",
referenceImageUrls: [
"https://example.com/character-a.jpg",
"https://example.com/character-b.jpg"
]
})
});
const { id: queueId } = await response.json();
cURL
curl https://api.venice.ai/api/v1/video/queue \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-reference-to-video",
"prompt": "@Image1 and @Image2 walking through a park, cinematic tracking shot",
"duration": "8",
"aspect_ratio": "16:9",
"referenceImageUrls": [
"https://example.com/character-a.jpg",
"https://example.com/character-b.jpg"
]
}'
API-Parameter
| Feld | Typ | Pflicht | Beschreibung |
|---|
model | string | Ja | Muss grok-imagine-reference-to-video sein |
prompt | string | Ja | Text-Prompt mit optionalen @Image1-, @Image2-Referenzen |
referenceImageUrls | string[] | Ja | 1–7 Bild-URLs oder Data-URLs |
duration | string | Nein | "5", "8" (Default) oder "10" |
aspect_ratio | string | Nein | z. B. "16:9" (Default), "9:16", "1:1" |
resolution | string | Nein | "480p" (Default) oder "720p" |
Grok Imagine R2V nutzt die Felder elements, image_urls oder imageUrl nicht. Alle Referenzbilder werden über referenceImageUrls übergeben.
Grok Imagine R2V – Fehlerbehebung
| Problem | Wahrscheinliche Ursache | Lösung |
|---|
| Generate-Button ist deaktiviert | Keine Referenzbilder hochgeladen | Mindestens 1 Referenzbild hochladen |
| Fehler „At least one reference image is required” | referenceImageUrls ist leer oder fehlt | Mindestens eine Bild-URL in referenceImageUrls angeben |
Falsches Bild dem @Image-Tag zugeordnet | Bildreihenfolge passt nicht zu den Tags | @Image1 entspricht dem ersten Bild in deiner Upload-Reihenfolge (links nach rechts). Bei Bedarf umsortieren. |
| Motiv erscheint nicht im Video | Zu viele Referenzen ohne explizite Tags | @Image-Tags im Prompt nutzen, um explizit zu sagen, welche Bilder verwendet werden sollen |
| Niedrige Output-Qualität | 480p-Auflösung verwendet | 720p für höhere Qualität versuchen (höhere Kosten) |
| Video zu kurz | Default-Dauer ist 8 s | Dauer auf "10" setzen für längere Videos |