Cara Menggunakan Gemini Omni 1.1 Flash API

Panggil gemini-omni-1.1-flash melalui Google Interactions API: dapatkan kunci, buat permintaan curl dan Python pertama Anda, tangani pengiriman URI 4MB, dan simpan panggilan tersebut sebagai pengujian di Apidog.

INEZA Felin-Michel

INEZA Felin-Michel

3 September 2026

Cara Menggunakan Gemini Omni 1.1 Flash API

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Anda memanggil Gemini Omni 1.1 Flash dengan ID model gemini-omni-1.1-flash melalui Google’s Interactions API, bukan generateContent endpoint yang Anda gunakan untuk model teks. Itulah hal pertama yang membingungkan orang. Jika Anda menyalin cuplikan teks Gemini dan menukar nama modelnya, Anda akan mendapatkan 404.

Panduan ini akan membawa Anda dari terminal kosong ke permintaan pembuatan video yang teruji. Anda akan mendapatkan kunci, melakukan panggilan pertama Anda di curl dan Python, mempelajari parameter yang ada (dan daftar mengejutkan yang tidak ada), menangani respons besar, dan menyimpan semuanya sebagai uji yang dapat diulang.

Model ini menjadi GA pada tanggal 27 Agustus 2026. Untuk mengetahui apa yang disertakan dengannya, lihat apa yang baru di Gemini Omni 1.1 Flash.

Apa yang Anda perlukan sebelum memulai

Simpan kunci sebagai variabel lingkungan daripada menempelkannya ke dalam sumber:

export GEMINI_API_KEY="your_key_here"

SDK resmi membaca variabel tersebut sendiri, yang menjaga kerahasiaan dari repositori Anda.

Panggilan pembuatan video pertama Anda

Endpoint adalah POST ke /v1beta/interactions. Berikut adalah contohnya di curl:

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

Dua bidang: model dan input. Itu adalah seluruh permintaan minimum. Respons membawa video yang dihasilkan sebagai base64 di output_video.data.

Di Python, instal SDK dengan pip install google-genai, lalu:

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 mengikuti bentuk yang sama dengan @google/genai:

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

Pembuatan membutuhkan waktu. Latensi meningkat seiring durasi, resolusi, dan beban API saat ini, jadi atur timeout klien yang cukup lama sebelum Anda memutuskan ada sesuatu yang rusak.

Mengontrol resolusi dan rasio aspek

Segala sesuatu tentang format output ada di 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",
    },
)

Nilai yang diterima:

Bidang Nilai Default
type video video
aspect_ratio 16:9, 9:16 16:9
resolution 360p, 720p, 1080p, 4k 720p
delivery inline base64, uri inline

Buat draf pada 360p. Ini menghasilkan hingga 60% lebih cepat daripada 720p dan biayanya sepertiga, sehingga lima belas percobaan prompt Anda yang tidak jadi hanya berbiaya seperti lima percobaan sebelumnya. Render ulang yang Anda simpan pada resolusi yang lebih tinggi. 1080p dan 4k adalah upscale dari bingkai yang dihasilkan, bukan render asli. Rincian harga menunjukkan berapa biaya sebenarnya untuk setiap tingkatan per detik.

Parameter yang tidak ada

Daftar ini lebih penting daripada yang di atas, karena jika tidak, Anda akan membuang-buang waktu seharian:

Jika Anda perlu mengecualikan sesuatu dari sebuah bidikan, tulis pengecualian tersebut ke dalam prompt itu sendiri. Contoh dari dokumen itu sendiri melakukan hal yang sama persis: "menggunakan gambar hanya sebagai panduan untuk gerakan, jangan tampilkan gambar di video akhir."

Input gambar, keyframe, dan referensi

Berikan daftar alih-alih string saat Anda ingin menyertakan media. Gambar ke 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"},
    ],
)

Dua gambar menjadi bingkai pertama dan bingkai terakhir, dan model menghasilkan gerakan di antaranya:

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

Referensi video bekerja dengan cara yang sama melalui Files API, dibatasi hingga tiga klip masing-masing tiga detik. Audio pada klip tersebut diabaikan; model membacanya untuk gerakan dan penampilan.

Pengeditan multi-putaran

Inilah yang membedakan Omni dari endpoint teks-ke-video biasa. Buat sekali, lalu edit secara percakapan dengan meneruskan ID interaksi sebelumnya:

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

Tidak ada unggah ulang, tidak ada deskripsi ulang adegan. Mekanisme yang sama mendorong perluasan adegan, yang dibahas dalam panduan perluasan 40 detik.

Menangani video di atas 4MB

Apa pun yang lebih besar dari 4MB akan kembali sebagai URI alih-alih base64 inline, dan file perlu selesai diproses sebelum Anda dapat mengunduhnya. Ini adalah bug yang paling sering ditemui orang pada 1080p: penangan mereka membaca output_video.data, tidak menemukan apa-apa, dan melaporkan kegagalan diam.

Minta pengiriman URI secara eksplisit dan polling:

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)

Tulis penangan respons Anda untuk menerima kedua bentuk dari awal. Resolusi mengubah bentuk mana yang Anda dapatkan.

Uji permintaan di Apidog

Setelah panggilan berfungsi, masalahnya bergeser. Anda sekarang memiliki endpoint yang mahal, lambat, tidak deterministik yang berada di jalur kritis Anda, dan Anda perlu tahu kapan perilakunya berubah. Perintah curl ad-hoc di riwayat shell tidak memberi tahu Anda hal itu.

Siapkan sekali di Apidog:

  1. Buat proyek dan lingkungan. Letakkan GEMINI_API_KEY dan MODEL_ID dalam variabel lingkungan sehingga kunci tidak pernah masuk ke permintaan yang disimpan.
  2. Tambahkan permintaan. POST ke https://generativelanguage.googleapis.com/v1beta/interactions, body JSON dengan model dan input. Referensikan variabel dengan {{MODEL_ID}}.
  3. Tingkatkan timeout. Pembuatan video berjalan jauh lebih lama daripada penyelesaian teks, dan timeout klien default akan memutusnya.
  4. Tambahkan pernyataan. Periksa kode status, periksa apakah output_video ada, dan periksa bentuk respons yang Anda harapkan pada resolusi Anda. Ini adalah pernyataan yang menangkap sakelar inline-versus-URI.
  5. Duplikasi untuk setiap jenis tugas. Satu permintaan tersimpan masing-masing untuk teks-ke-video, gambar-ke-video, dan ekstensi. Ketika Google merilis Omni 1.2, Anda menjalankan tiga permintaan dan dalam beberapa menit mengetahui apa yang berubah.

Apidog tidak menghasilkan video dan bukan kerangka kerja AI. Di sinilah Anda membangun permintaan, mengirimkannya, dan menahan respons sesuai standar yang Anda tetapkan. Unduh Apidog jika Anda ingin kerangka kerja itu ada sebelum Anda meningkatkan pengeluaran.

Kesalahan umum dan perbaikan

FAQ

Seluruh integrasi terdiri dari dua bidang wajib ditambah penangan respons yang dapat mengatasi kedua bentuk pengiriman. Mulailah dengan membuat panggilan 360p berfungsi, simpan dengan pernyataan, lalu tingkatkan resolusi setelah Anda memercayai sistem. Baca dokumen resmi Omni untuk daftar parameter seiring perkembangannya.

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.