DEV Community

Cover image for Gemini Omni 1.1 Flash API Nasıl Kullanılır
Tobias Hoffmann
Tobias Hoffmann

Posted on Originally published at apidog.com

Gemini Omni 1.1 Flash API Nasıl Kullanılır

Gemini Omni 1.1 Flash'ı gemini-omni-1.1-flash model kimliğiyle, metin modellerinde kullanılan generateContent uç noktası yerine Google'ın Etkileşimler API'si üzerinden çağırırsınız. Gemini metin örneğini kopyalayıp yalnızca model adını değiştirirseniz 404 hatası alırsınız.

Apidog'u bugün deneyin

Bu rehber, boş bir terminalden test edilmiş bir video oluşturma isteğine kadar ilerler: API anahtarı alma, curl ve Python ile ilk çağrıyı yapma, desteklenen ve desteklenmeyen parametreleri öğrenme, büyük yanıtları yönetme ve isteği tekrarlanabilir bir test olarak kaydetme.

Model, 27 Ağustos 2026'da genel kullanıma sunuldu. Yeni özellikler için Gemini Omni 1.1 Flash'taki yeniliklere göz atın.

Başlamadan Önce

İhtiyacınız olanlar:

  • AI Studio'ya giriş yapmak için bir Google hesabı
  • Google AI Studio'dan alınmış Gemini API anahtarı
  • Etkin faturalandırma — Omni'nin metin modellerindeki ücretsiz katmanın aksine ücretsiz katmanı yoktur ve ilk isteğiniz ücretlidir
  • curl, Python SDK'sı veya başka bir HTTP istemcisi

Anahtarı kaynak koda eklemek yerine ortam değişkeni olarak saklayın:

export GEMINI_API_KEY="your_key_here"
Enter fullscreen mode Exit fullscreen mode

Resmi SDK'lar bu değişkeni otomatik olarak okur; böylece gizli anahtarınız deponuza girmez.

İlk Video Oluşturma Çağrısı

Uç nokta /v1beta/interactions adresine gönderilen bir POST isteğidir:

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

Minimum istek iki alandan oluşur: model ve input. Küçük yanıtlar, oluşturulan videoyu output_video.data içinde base64 olarak taşır.

Python SDK'sını yükleyin:

pip install google-genai
Enter fullscreen mode Exit fullscreen mode

Ardından videoyu kaydedin:

import base64
from google import genai

client = genai.Client()  # reads GEMINI_API_KEY from the environment

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'te @google/genai ile aynı yapı kullanılır:

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

Video oluşturma süresi çözünürlüğe ve API yüküne bağlıdır. İstemci zaman aşımını cömert tutun.

Çözünürlük ve En Boy Oranı

Çıktı biçimini response_format ile belirleyin:

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
Alan Değerler Varsayılan
type video video
aspect_ratio 16:9, 9:16 16:9
resolution 360p, 720p, 1080p, 4k 720p
delivery Satır içi base64, uri Satır içi

Taslaklar için 360p kullanın. 720p'ye göre %60'a kadar daha hızlı oluşturulur ve üçte biri kadar maliyetlidir. Onayladığınız çekimleri daha yüksek çözünürlükte yeniden oluşturun.

1080p ve 4k, oluşturulan karelerin yükseltilmiş sürümleridir; yerel çözünürlükte oluşturulmazlar. Gerçek saniye başı maliyetler için fiyatlandırma dökümüne bakın.

Desteklenmeyen Parametreler

Aşağıdaki parametreler desteklenmez:

  • Sistem talimatları
  • temperature
  • top_p
  • Durdurma dizileri
  • Negatif istem alanı

Bir çekimden bir şeyi çıkarmak istiyorsanız bunu doğrudan isteme yazın. Örneğin: “çizimi sadece hareket için bir rehber olarak kullanarak son videoda çizimi gösterme.”

Görüntü Girdileri, Ana Kareler ve Referanslar

Medya eklerken input alanına dize yerine liste verin. Görüntüden videoya örneği:

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

İki görüntü, ilk ve son kare olarak kullanılır. Model aradaki hareketi oluşturur:

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

Video referansları da Files API üzerinden aynı şekilde çalışır. En fazla üç adet, üçer saniyelik klip kullanılabilir. Kliplerdeki ses yok sayılır; model bunları hareket ve görünüm referansı olarak işler.

Çok Turlu Düzenleme

Omni'nin basit bir metinden videoya uç noktasından temel farkı, önceki etkileşim üzerinden düzenleme yapabilmenizdir:

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

Videoyu yeniden yüklemeniz veya sahneyi baştan tanımlamanız gerekmez. Aynı mekanizma, 40 saniyelik uzatma rehberinde açıklanan sahne uzatmasını da yönetir.

4 MB Üzerindeki Videoları Yönetme

4 MB üzerindeki videolar satır içi base64 yerine URI olarak döner. Dosya indirilmeden önce işleme tamamlanmalıdır. Bu nedenle output_video.data boş olabilir; bu durumda output_video.uri alanını kullanın.

URI teslimatını açıkça isteyip dosyanın durumunu yoklayabilirsiniz:

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("Generation failed.")
    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

Yanıt işleyicinizi baştan hem data hem de uri biçimlerini destekleyecek şekilde yazın. Kullanılacak biçim çözünürlüğe göre değişebilir.

İsteği Apidog'da Test Etme

Çağrı çalıştıktan sonra sıradaki sorun tekrarlanabilirliktir. Video üretimi pahalı, yavaş ve deterministik olmayan bir uç noktadır. Shell geçmişindeki geçici curl komutları API davranışındaki değişiklikleri izlemenize yardımcı olmaz.

İsteği bir kez Apidog'da kurun:

  1. Bir proje ve ortam oluşturun. GEMINI_API_KEY ile MODEL_ID değerlerini ortam değişkeni olarak tanımlayın; böylece anahtarınız kaydedilen isteğe girmez.
  2. https://generativelanguage.googleapis.com/v1beta/interactions adresine POST isteği ekleyin.
  3. JSON gövdesinde model ve input alanlarını kullanın; modeli {{MODEL_ID}} ile referans alın.
  4. Video üretimi metin tamamlamadan uzun sürdüğü için istemci zaman aşımını artırın.
  5. Durum kodunu, output_video alanının varlığını ve seçtiğiniz çözünürlükte beklenen yanıt biçimini doğrulayan onaylamalar ekleyin.
  6. Metinden videoya, görüntüden videoya ve uzatma için ayrı kaydedilmiş istekler oluşturun.

Google Omni 1.2'yi yayımladığında bu üç isteği çalıştırarak değişiklikleri dakikalar içinde görebilirsiniz.

Apidog video oluşturmaz ve bir yapay zeka çerçevesi değildir. İstekleri oluşturup gönderebileceğiniz ve yanıtları standart onaylamalarla doğrulayabileceğiniz bir test katmanıdır. Apidog'u indirin.

Yaygın Hatalar ve Çözümleri

  • Uç noktada 404: /v1beta/models/gemini-omni-1.1-flash:generateContent çağrılıyor. Omni için modelin gövdede bulunduğu /v1beta/interactions uç noktasını kullanın.
  • Boş output_video.data: Video 4 MB'ı aşmış ve URI olarak dönmüştür. output_video.uri alanını okuyup Files API üzerinden indirin.
  • Model bulunamadı: Yapılandırmada gemini-omni-flash-preview olup olmadığını kontrol edin. Bu uç nokta 30 Eylül 2026'da kullanımdan kaldırılacaktır.
  • Yüklenen videoyu düzenleme başarısız: Yüklenen videoların düzenlenmesi EEA, İsviçre ve Birleşik Krallık'ta kullanılamaz. Model tarafından oluşturulan videolar bu bölgelerde çalışmaya devam eder.
  • Uzatma isteği reddedildi: Girdi videoları 10 saniyeyle sınırlıdır. Uzatma yalnızca videonun sonuna eklenir ve yüklenen videoyu uzatırken diyalog eklenemez.

Sıkça Sorulan Sorular

Gemini Omni hangi uç noktayı kullanır?

POST https://generativelanguage.googleapis.com/v1beta/interactions; istek gövdesinde gemini-omni-1.1-flash modelini belirtin.

Gemini Omni API'nin ücretsiz katmanı var mı?

Hayır. Her üretim faturalandırılır. Ücretsiz AI Studio erişimi metin modelleri için geçerlidir.

Sıcaklık veya negatif istem ayarlayabilir miyim?

Hayır. Sistem talimatları, sıcaklık, top_p, durdurma dizileri ve negatif istemler desteklenmez. Hariç tutmaları istem metnine ekleyin.

Dikey video nasıl oluşturulur?

response_format içinde aspect_ratio değerini 9:16 yapın.

Oluşturulan videolarda filigran var mı?

Evet. Tüm çıktılar, izleyiciler tarafından görünmeyen ancak programlı olarak tespit edilebilen SynthID filigranını taşır.

Veo API ile nasıl karşılaştırılır?

Uç nokta, fiyatlandırma ve güçlü yönler farklıdır. Omni 1.1 Flash ve Veo 3.1 karşılaştırması temel farkları, Veo 3.1 API rehberi ise entegrasyon ayrıntılarını ele alır.

Entegrasyon iki zorunlu alan ve hem satır içi hem URI teslimatını işleyen bir yanıt işleyicisinden oluşur. Önce 360p çağrısını çalıştırıp onaylamalarla kaydedin; altyapıya güvendiğinizde çözünürlüğü artırın. Parametrelerin güncel durumu için resmi Omni belgelerini inceleyin.

Top comments (0)