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

Google'ın Interactions API'si aracılığıyla gemini-omni-1.1-flash'i çağırın: bir anahtar edinin, ilk curl ve Python isteğinizi yapın, 4MB URI teslimatını işleyin ve çağrıyı Apidog'da bir test olarak kaydedin.

INEZA Felin-Michel

INEZA Felin-Michel

3 September 2026

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

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Gemini Omni 1.1 Flash'ı `gemini-omni-1.1-flash` model kimliğiyle, metin modelleri için kullandığınız `generateContent` uç noktası yerine Google'ın Etkileşimler API'si aracılığıyla çağırırsınız. Bu, insanların takıldığı ilk şeydir. Bir Gemini metin parçasını kopyalayıp model adını değiştirirseniz, bir 404 hatası alırsınız.

Bu rehber sizi boş bir terminalden test edilmiş bir video oluşturma isteğine götürür. Bir anahtar alacak, curl ve Python'da ilk çağrınızı yapacak, mevcut (ve şaşırtıcı bir şekilde mevcut olmayan) parametreleri öğrenecek, büyük yanıtları yönetecek ve tüm bunları tekrarlanabilir bir test olarak kaydedeceksiniz.

Model 27 Ağustos 2026'da genel kullanıma sunuldu. Onunla birlikte gelenler için Gemini Omni 1.1 Flash'taki yeniliklere bakın.

Başlamadan Önce İhtiyacınız Olanlar

Anahtarı kaynak koda yapıştırmak yerine bir ortam değişkeni olarak saklayın:

export GEMINI_API_KEY="your_key_here"

Resmi SDK'lar bu değişkeni kendiliğinden okur, bu da sırrın deponuzdan uzak kalmasını sağlar.

İlk video oluşturma çağrınız

Uç nokta, `/v1beta/interactions` adresine bir POST isteğidir. İşte curl'de nasıl göründüğü:

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."
  }'

İki alan: model ve girdi. Minimum istek bu kadar. Yanıt, oluşturulan videoyu `output_video.data` içinde base64 olarak taşır.

Python'da, SDK'yı `pip install google-genai` ile kurun, ardından:

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))

JavaScript, `@google/genai` ile aynı yapıyı takip eder:

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'));
}

Oluşturma zaman alır. Gecikme süresi, çözünürlük ve mevcut API yükü ile orantılıdır, bu yüzden bir şeyin bozulduğunu düşünmeden önce cömert bir istemci zaman aşımı ayarlayın.

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

Çıktı biçimiyle ilgili her şey `response_format`'a gider:

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",
    },
)

Kabul edilen değerler:

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

`360p`'de taslak oluşturun. 720p'den %60'a kadar daha hızlı oluşturur ve üçte biri kadar maliyetlidir, bu nedenle on beş tek kullanımlık istem denemeniz eskiden beş tanesinin maliyetine denk gelir. Sakladığınızı daha yüksek çözünürlükte yeniden oluşturun. `1080p` ve `4k`, oluşturulan karelerin yükseltilmiş halleridir, yerel oluşturmalar değildir. Fiyatlandırma dökümü, her katmanın saniye başına gerçek maliyetini gösterir.

Mevcut Olmayan Parametreler

Bu liste yukarıdakinden daha önemlidir, çünkü aksi takdirde bir öğleden sonrayı boşa harcayabilirsiniz:

Bir çekimden bir şeyi hariç tutmanız gerekiyorsa, hariç tutmayı istemin kendisine yazın. Belgelerin kendi örneği tam da bunu yapar: “çizimi sadece hareket için bir rehber olarak kullanarak, son videoda çizimi gösterme.”

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

Medya dahil etmek istediğinizde bir dize yerine bir liste geçirin. Görüntüden videoya:

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"},
    ],
)

İki görüntü, bir ilk kare ve bir son kare olur ve model aralarındaki 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."},
    ],
)

Video referansları, Files API aracılığıyla aynı şekilde çalışır ve her biri üç saniyelik üç kliple sınırlıdır. Bu kliplerdeki ses göz ardı edilir; model bunları hareket ve görünüm için okur.

Çok Turlu Düzenleme

Omni'yi basit bir metinden videoya uç noktasından ayıran budur. Bir kez oluşturun, ardından önceki etkileşim kimliğini geçirerek sohbet ederek düzenleyin:

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.",
)

Yeniden yükleme yok, sahneyi yeniden tanımlama yok. Aynı mekanizma, 40 saniyelik uzatma rehberinde ele alınan sahne uzatmasını yönlendirir.

4MB Üzerindeki Videoları Yönetme

4MB'tan büyük her şey satır içi base64 yerine bir URI olarak geri döner ve dosyayı indirebilmeniz için işlenmesinin tamamlanması gerekir. Bu, çoğu insanın 1080p'de karşılaştığı hatadır: işleyicileri `output_video.data`'yı okur, hiçbir şey bulamaz ve sessiz bir hata bildirir.

URI teslimatını açıkça isteyin ve yoklama yapın:

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)

Yanıt işleyicinizi baştan her iki şekli de kabul edecek şekilde yazın. Çözünürlük, hangisini alacağınızı değiştirir.

İsteği Apidog'da Test Edin

Çağrı çalıştığında sorun değişir. Artık kritik yolunuzda pahalı, yavaş, deterministik olmayan bir uç nokta var ve davranışını ne zaman değiştirdiğini bilmeniz gerekiyor. Shell geçmişindeki geçici curl komutları size bunu söylemez.

Bunu bir kez Apidog'da kurun:

  1. Bir proje ve bir ortam oluşturun. `GEMINI_API_KEY` ve `MODEL_ID`'yi ortam değişkenlerine koyun, böylece anahtar kaydedilen isteğe asla ulaşmaz.
  2. İsteği ekleyin. `https://generativelanguage.googleapis.com/v1beta/interactions` adresine POST yapın, JSON gövdesine `model` ve `input` ekleyin. Değişkenleri `{{MODEL_ID}}` ile referans alın.
  3. Zaman aşımını artırın. Video oluşturma, metin tamamlama işleminden çok daha uzun sürer ve varsayılan istemci zaman aşımı bunu kesecektir.
  4. Onaylamalar ekleyin. Durum kodunu kontrol edin, `output_video`'nun var olup olmadığını kontrol edin ve çözünürlüğünüzde beklediğiniz yanıt şeklini kontrol edin. Bu, satır içi ve URI geçişini yakalayan onaylamadır.
  5. Her görev türü için çoğaltın. Metinden videoya, görüntüden videoya ve uzatma için her biri için bir kaydedilmiş istek. Google Omni 1.2'yi piyasaya sürdüğünde, üç istek çalıştırırsınız ve neyin değiştiğini dakikalar içinde öğrenirsiniz.

Apidog video oluşturmaz ve bir yapay zeka çerçevesi değildir. İsteği oluşturduğunuz, gönderdiğiniz ve yanıtı belirlediğiniz bir standarda göre tuttuğunuz yerdir. Harcamalarınızı artırmadan önce bu donanıma sahip olmak istiyorsanız Apidog'u indirin.

Yaygın Hatalar ve Düzeltmeler

Sıkça Sorulan Sorular

Tüm entegrasyon, iki zorunlu alan ve her iki teslimat şeklini de yöneten bir yanıt işleyicisinden oluşur. Önce 360p bir çağrının çalışmasını sağlayın, onaylamalarla kaydedin, ardından altyapıya güvendiğinizde çözünürlüğü artırın. Parametre listesinin gelişimi için resmi Omni belgelerini okuyun.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin