DEV Community

Cover image for Anleitung: Gemini Omni 1.1 Flash API verwenden
Emre Demir
Emre Demir

Posted on Originally published at apidog.com

Anleitung: Gemini Omni 1.1 Flash API verwenden

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.

Apidog heute ausprobieren

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"
Enter fullscreen mode Exit fullscreen mode

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."
  }'
Enter fullscreen mode Exit fullscreen mode

Die minimale Anfrage benötigt nur zwei Felder:

  • model
  • input

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
Enter fullscreen mode Exit fullscreen mode

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))
Enter fullscreen mode Exit fullscreen mode

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'));
}
Enter fullscreen mode Exit fullscreen mode

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",
    },
)
Enter fullscreen mode Exit fullscreen mode
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
  • temperature
  • top_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"},
    ],
)
Enter fullscreen mode Exit fullscreen mode

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."},
    ],
)
Enter fullscreen mode Exit fullscreen mode

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.",
)
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Ihr Response-Handler sollte von Anfang an beide Varianten unterstützen:

  • output_video.data für Inline-Base64,
  • output_video.uri fü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:

  1. Erstellen Sie ein Projekt und eine Umgebung.
  2. Speichern Sie GEMINI_API_KEY und MODEL_ID als Umgebungsvariablen, damit der Schlüssel nicht in der gespeicherten Anfrage landet.
  3. Erstellen Sie einen POST-Request an https://generativelanguage.googleapis.com/v1beta/interactions.
  4. Verwenden Sie einen JSON-Body mit model und input; referenzieren Sie das Modell über {{MODEL_ID}}.
  5. Erhöhen Sie das Client-Timeout.
  6. Fügen Sie Zusicherungen für Statuscode, output_video und die erwartete Antwortform hinzu.
  7. 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/interactions und erwartet das Modell im Request-Body.
  • Leeres output_video.data: Das Video überschreitet 4 MB und wird als URI zurückgegeben. Lesen Sie output_video.uri und laden Sie die Datei über die Files API herunter.
  • Modell nicht gefunden: Prüfen Sie, ob Ihre Konfiguration noch gemini-omni-flash-preview verwendet. 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)