Sie rufen Gemini Omni 1.1 Flash mit der Modell-ID gemini-omni-1.1-flash über Googles Interactions API auf – nicht über den generateContent-Endpunkt für Textmodelle. Wer lediglich ein Gemini-Textbeispiel kopiert und den Modellnamen ersetzt, erhält daher einen 404-Fehler.
Diese Anleitung führt Sie vom leeren Terminal zu einer getesteten Videoerzeugungsanfrage. Sie erstellen einen API-Schlüssel, senden den ersten Request mit curl und Python, konfigurieren Ausgabeparameter, behandeln große Antworten und speichern den Ablauf als wiederholbaren Test.
Gemini Omni 1.1 Flash ist seit dem 27. August 2026 allgemein verfügbar (GA). Die Änderungen dieser Version finden Sie in Was ist neu in Gemini Omni 1.1 Flash.
Voraussetzungen
Sie benötigen:
- ein Google-Konto für Google AI Studio,
- einen Gemini-API-Schlüssel,
- aktivierte Abrechnung,
- curl, das Python SDK oder einen anderen HTTP-Client.
Omni bietet keine kostenlose Stufe. Ihre erste Anfrage wird abgerechnet – anders als bei der kostenlosen Nutzung der Gemini-Textmodelle.
Speichern Sie den Schlüssel als Umgebungsvariable:
export GEMINI_API_KEY="your_key_here"
Die offiziellen SDKs lesen diese Variable automatisch aus der Umgebung. So gelangt das Geheimnis nicht in Ihr Repository.
Erste Videoerzeugung mit curl
Der Endpunkt ist POST /v1beta/interactions:
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-1.1-flash",
"input": "A marble rolling fast on a chain reaction style track, continuous smooth shot."
}'
Die minimale Anfrage benötigt nur zwei Felder:
modelinput
Das generierte Video wird als Base64-Daten in output_video.data zurückgegeben.
Video mit Python speichern
Installieren Sie zuerst das SDK:
pip install google-genai
Anschließend können Sie das Video dekodieren und speichern:
import base64
from google import genai
client = genai.Client() # liest GEMINI_API_KEY aus der Umgebung
interaction = client.interactions.create(
model="gemini-omni-1.1-flash",
input="A marble rolling fast on a chain reaction style track, continuous smooth shot.",
)
with open("marble.mp4", "wb") as f:
f.write(base64.b64decode(interaction.output_video.data))
JavaScript
Mit @google/genai funktioniert der Ablauf genauso:
import { GoogleGenAI } from '@google/genai';
import * as fs from 'fs';
const ai = new GoogleGenAI({});
const interaction = await ai.interactions.create({
model: 'gemini-omni-1.1-flash',
input: 'A marble rolling fast on a chain reaction style track, continuous smooth shot.',
});
if (interaction.output_video?.data) {
fs.writeFileSync('marble.mp4', Buffer.from(interaction.output_video.data, 'base64'));
}
Die Generierung kann einige Zeit dauern. Die Latenz hängt unter anderem von Dauer, Auflösung und aktueller API-Auslastung ab. Setzen Sie daher ein großzügiges Client-Timeout, bevor Sie einen langsamen Request als Fehler bewerten.
Auflösung und Seitenverhältnis
Das Ausgabeformat konfigurieren Sie über response_format:
interaction = client.interactions.create(
model="gemini-omni-1.1-flash",
input="A drone shot of a mountain landscape at sunrise.",
response_format={
"type": "video",
"aspect_ratio": "16:9",
"resolution": "1080p",
},
)
| Feld | Werte | Standard |
|---|---|---|
type |
video |
video |
aspect_ratio |
16:9, 9:16
|
16:9 |
resolution |
360p, 720p, 1080p, 4k
|
720p |
delivery |
Inline-Base64, uri
|
Inline |
Verwenden Sie 360p für schnelle und günstige Prompt-Entwürfe. Die Generierung ist bis zu 60 % schneller als bei 720p und kostet nur ein Drittel. Rendern Sie erst den finalen Prompt in höherer Auflösung. 1080p und 4k sind Upscales der generierten Frames, keine nativen Renderings.
Die Preisübersicht zeigt die Kosten pro Sekunde für jede Stufe.
Nicht unterstützte Parameter
Gemini Omni unterstützt folgende Textmodell-Parameter nicht:
- Systemanweisungen
temperaturetop_p- Stoppsequenzen
- negative Prompts
Wenn ein Element nicht im Video erscheinen soll, formulieren Sie den Ausschluss direkt im Prompt. Ein Beispiel aus der Dokumentation:
Verwenden Sie die Zeichnung nur als Anleitung für die Bewegung, zeigen Sie die Zeichnung nicht im endgültigen Video.
Bilder, Keyframes und Referenzen
Für Medien übergeben Sie eine Liste statt eines einzelnen Strings.
Bild zu Video
interaction = client.interactions.create(
model="gemini-omni-1.1-flash",
input=[
{"type": "image", "data": base64_image, "mime_type": "image/jpeg"},
{"type": "text", "text": "turn this into realistic footage, using the drawing only as a guide for movement, do not show the drawing in the final video"},
],
)
Bei zwei Bildern verwendet das Modell das erste und letzte Bild als Keyframes und generiert die Bewegung dazwischen:
interaction = client.interactions.create(
model="gemini-omni-1.1-flash",
input=[
{"type": "image", "data": first_frame_b64, "mime_type": "image/jpeg"},
{"type": "image", "data": last_frame_b64, "mime_type": "image/jpeg"},
{"type": "text", "text": "A smooth cinematic transition from a lush green forest at sunrise to a snowy forest under a starry night sky."},
],
)
Videoreferenzen funktionieren über die Files API. Sie können bis zu drei Clips mit jeweils drei Sekunden übergeben. Audio in den Clips wird ignoriert; das Modell verwendet sie für Bewegung und Erscheinungsbild.
Mehrstufige Bearbeitung
Omni unterstützt konversationelle Bearbeitung über die ID der vorherigen Interaktion:
res1 = client.interactions.create(
model="gemini-omni-1.1-flash",
input="A woman playing violin outdoors.",
)
res2 = client.interactions.create(
model="gemini-omni-1.1-flash",
previous_interaction_id=res1.id,
input="Make the violin invisible.",
)
Sie müssen die Szene nicht erneut hochladen oder beschreiben. Derselbe Mechanismus ermöglicht die Szenenerweiterung, die im Leitfaden zur Erweiterung auf 40 Sekunden beschrieben wird.
Videos über 4 MB verarbeiten
Antworten für Videos über 4 MB enthalten standardmäßig eine URI statt Inline-Base64. Die Datei muss vollständig verarbeitet sein, bevor Sie sie herunterladen können.
Fordern Sie die URI-Bereitstellung explizit an und pollen Sie den Dateistatus:
import time
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-omni-1.1-flash",
input="A beautiful sunset.",
response_format={"type": "video", "delivery": "uri"},
)
video_output = interaction.output_video
file_name = video_output.uri.split("/")[-1]
while True:
f_info = client.files.get(name=f"files/{file_name}")
if f_info.state.name == "ACTIVE":
break
if f_info.state.name == "FAILED":
raise RuntimeError("Generierung fehlgeschlagen.")
time.sleep(5)
video_bytes = client.files.download(file=video_output.uri)
with open("output.mp4", "wb") as f:
f.write(video_bytes)
Ihr Response-Handler sollte von Anfang an beide Varianten unterstützen:
-
output_video.datafür Inline-Base64, -
output_video.urifür größere Dateien.
Requests in Apidog testen
Sobald der erste Request funktioniert, sollten Sie ihn reproduzierbar testen. Videoerzeugung ist langsam, teuer und nicht deterministisch. Ad-hoc-curl-Befehle im Shell-Verlauf zeigen Ihnen nicht, wann sich das Verhalten der API ändert.
Richten Sie den Ablauf einmal in Apidog ein:
- Erstellen Sie ein Projekt und eine Umgebung.
- Speichern Sie
GEMINI_API_KEYundMODEL_IDals Umgebungsvariablen, damit der Schlüssel nicht in der gespeicherten Anfrage landet. - Erstellen Sie einen
POST-Request anhttps://generativelanguage.googleapis.com/v1beta/interactions. - Verwenden Sie einen JSON-Body mit
modelundinput; referenzieren Sie das Modell über{{MODEL_ID}}. - Erhöhen Sie das Client-Timeout.
- Fügen Sie Zusicherungen für Statuscode,
output_videound die erwartete Antwortform hinzu. - Legen Sie separate Requests für Text-zu-Video, Bild-zu-Video und Szenenerweiterung an.
Wenn Google Omni 1.2 veröffentlicht, können Sie alle drei Requests ausführen und schnell erkennen, was sich geändert hat.
Apidog generiert keine Videos und ist kein KI-Framework. Es hilft Ihnen, Requests zu speichern, auszuführen und Antworten gegen einen definierten Standard zu prüfen. Laden Sie Apidog herunter, bevor Sie Ihre Ausgaben hochskalieren.
Häufige Fehler
-
404 am Endpunkt: Sie verwenden
/v1beta/models/gemini-omni-1.1-flash:generateContent. Omni verwendet/v1beta/interactionsund erwartet das Modell im Request-Body. -
Leeres
output_video.data: Das Video überschreitet 4 MB und wird als URI zurückgegeben. Lesen Sieoutput_video.uriund laden Sie die Datei über die Files API herunter. -
Modell nicht gefunden: Prüfen Sie, ob Ihre Konfiguration noch
gemini-omni-flash-previewverwendet. Dieser Endpunkt wird am 30. September 2026 eingestellt. - Bearbeitung eines hochgeladenen Videos schlägt fehl: Die Bearbeitung hochgeladener Videos ist im EWR, in der Schweiz und im Vereinigten Königreich nicht verfügbar. Modellgenerierte Videos funktionieren dort weiterhin.
- Erweiterungsanfrage wird abgelehnt: Eingabevideos dürfen höchstens zehn Sekunden lang sein. Die Erweiterung wird nur am Ende angefügt. Bei einer Upload-Erweiterung können Sie keinen Dialog hinzufügen.
FAQ
Welchen Endpunkt verwendet Gemini Omni?
POST https://generativelanguage.googleapis.com/v1beta/interactions mit gemini-omni-1.1-flash im Request-Body.
Gibt es eine kostenlose Stufe?
Nein. Jede Generierung wird abgerechnet. Eine kostenlose AI-Studio-Stufe gibt es bei den Textmodellen.
Kann ich temperature oder einen negativen Prompt einstellen?
Nein. Systemanweisungen, temperature, top_p, Stoppsequenzen und negative Prompts werden nicht unterstützt. Formulieren Sie Ausschlüsse direkt im Prompt.
Wie generiere ich vertikale Videos?
Setzen Sie aspect_ratio in response_format auf 9:16.
Haben die Videos ein Wasserzeichen?
Ja. Alle Ausgaben enthalten SynthID, das für Zuschauer unsichtbar, aber programmatisch erkennbar ist.
Wie unterscheidet sich Omni von der Veo API?
Endpunkt, Preisgestaltung und Stärken unterscheiden sich. Gemini Omni 1.1 Flash vs. Veo 3.1 beschreibt die wichtigsten Abwägungen. Der Veo-3.1-API-Leitfaden behandelt die spezifischen Integrationsdetails.
Die minimale Integration besteht aus zwei Pflichtfeldern plus einem Response-Handler, der Inline- und URI-Lieferung unterstützt. Starten Sie mit einem 360p-Request, speichern Sie ihn mit Zusicherungen und erhöhen Sie die Auflösung erst nach erfolgreicher Validierung. Die offizielle Omni-Dokumentation enthält die aktuelle Parameterliste.
Top comments (0)