DEV Community

Cover image for Cara Menggunakan Gemini Omni 1.1 Flash API
Walse
Walse

Posted on Originally published at apidog.com

Cara Menggunakan Gemini Omni 1.1 Flash API

Membuat Video dengan Gemini Omni 1.1 Flash melalui API

Anda memanggil Gemini Omni 1.1 Flash dengan ID model gemini-omni-1.1-flash melalui Google Interactions API, bukan endpoint generateContent untuk model teks. Jika Anda hanya menyalin cuplikan teks Gemini lalu mengganti nama model, hasilnya adalah 404.

Coba Apidog hari ini

Panduan ini membawa Anda dari terminal kosong hingga permintaan pembuatan video yang dapat diuji ulang. Anda akan menyiapkan kunci API, melakukan panggilan pertama dengan curl dan Python, memahami parameter yang tersedia maupun yang tidak didukung, menangani respons besar, serta menyimpan pengujian yang dapat diulang.

Model ini menjadi GA pada 27 Agustus 2026. Lihat apa yang baru di Gemini Omni 1.1 Flash untuk detail fiturnya.

Persiapan

Anda membutuhkan:

  • Akun Google untuk masuk ke AI Studio.
  • Kunci API Gemini dari Google AI Studio.
  • Penagihan yang aktif. Omni tidak memiliki tingkat gratis, berbeda dengan jalur gratis model teks. Permintaan pertama akan dikenai biaya.
  • Cara mengirim permintaan HTTP, seperti curl, Python SDK, atau klien API.

Simpan kunci sebagai variabel lingkungan agar tidak masuk ke repositori:

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

SDK resmi akan membaca variabel tersebut secara otomatis.

Panggilan video pertama

Gunakan POST ke /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

Permintaan minimum hanya memerlukan model dan input. Video hasil generasi dikembalikan sebagai base64 di output_video.data.

Instal SDK Python:

pip install google-genai
Enter fullscreen mode Exit fullscreen mode

Kemudian simpan videonya:

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

Generasi membutuhkan waktu. Durasi, resolusi, dan beban API memengaruhi latensi, jadi gunakan timeout klien yang cukup panjang.

Mengatur resolusi dan rasio aspek

Format output ditentukan melalui 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

Nilai yang didukung:

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

Gunakan 360p untuk draf. Generasinya hingga 60% lebih cepat dibandingkan 720p dan biayanya sepertiga. Render ulang versi final pada resolusi lebih tinggi setelah prompt tervalidasi.

1080p dan 4k adalah upscale dari bingkai yang dihasilkan, bukan render asli. Lihat rincian harga Gemini Omni 1.1 Flash untuk biaya setiap tingkat resolusi per detik.

Parameter yang tidak didukung

Gemini Omni 1.1 Flash tidak mendukung:

  • Instruksi sistem
  • temperature
  • top_p
  • Stop sequences
  • Bidang prompt negatif

Jika ingin mengecualikan sesuatu dari adegan, tuliskan pengecualian langsung di prompt. Contoh dari dokumentasi menggunakan pendekatan ini:

menggunakan gambar hanya sebagai panduan untuk gerakan, jangan tampilkan gambar di video akhir.

Input gambar, keyframe, dan referensi

Gunakan daftar input, bukan string, saat menyertakan media. Contoh 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"},
    ],
)
Enter fullscreen mode Exit fullscreen mode

Dua gambar dapat digunakan sebagai bingkai awal dan akhir. Model akan 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."},
    ],
)
Enter fullscreen mode Exit fullscreen mode

Referensi video bekerja melalui Files API. Batasnya adalah tiga klip, masing-masing berdurasi hingga tiga detik. Audio pada klip diabaikan; model hanya menggunakannya untuk memahami gerakan dan penampilan.

Mengedit video dalam beberapa putaran

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

Anda tidak perlu mengunggah ulang video atau mendeskripsikan ulang adegan. Mekanisme yang sama digunakan untuk memperluas adegan, seperti dibahas dalam panduan perluasan adegan hingga 40 detik.

Menangani video di atas 4 MB

Video yang lebih besar dari 4 MB dikembalikan sebagai URI, bukan base64 inline. File tersebut harus selesai diproses sebelum diunduh.

Ini sering terjadi pada output 1080p. Jika kode hanya membaca output_video.data, hasilnya kosong dan kegagalan dapat terlihat seperti kegagalan diam-diam.

Minta pengiriman URI secara eksplisit, lalu lakukan 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)
Enter fullscreen mode Exit fullscreen mode

Penangan respons sebaiknya mendukung kedua bentuk pengiriman sejak awal. Resolusi dapat menentukan apakah Anda menerima base64 inline atau URI.

Menguji permintaan dengan Apidog

Setelah panggilan berhasil, tantangannya adalah menjaga integrasi yang mahal, lambat, dan tidak deterministik tetap terpantau. Riwayat perintah curl tidak cukup untuk mengetahui kapan perilakunya berubah.

Siapkan pengujian di Apidog:

  1. Buat proyek dan lingkungan. Simpan GEMINI_API_KEY serta MODEL_ID sebagai variabel lingkungan agar kunci tidak masuk ke permintaan tersimpan.
  2. Tambahkan permintaan POST ke https://generativelanguage.googleapis.com/v1beta/interactions.
  3. Gunakan body JSON berisi model dan input, lalu referensikan model dengan {{MODEL_ID}}.
  4. Tingkatkan timeout karena generasi video jauh lebih lama daripada penyelesaian teks.
  5. Tambahkan pernyataan untuk memeriksa kode status, keberadaan output_video, dan bentuk respons sesuai resolusi yang digunakan.
  6. Duplikasi permintaan untuk teks-ke-video, gambar-ke-video, dan ekstensi video.

Dengan begitu, saat Google merilis Omni 1.2, Anda dapat menjalankan seluruh rangkaian pengujian dan segera mengetahui perubahan perilakunya.

Apidog bukan generator video atau kerangka kerja AI. Apidog digunakan untuk membangun, mengirim, dan memvalidasi permintaan sesuai standar Anda. Unduh Apidog sebelum meningkatkan pengeluaran API.

Kesalahan umum dan solusinya

  • 404 pada endpoint: Anda memanggil /v1beta/models/gemini-omni-1.1-flash:generateContent. Omni menggunakan /v1beta/interactions, dengan model di dalam body.
  • output_video.data kosong: Respons dikembalikan sebagai URI karena video melebihi 4 MB. Baca output_video.uri, lalu unduh melalui Files API.
  • Model tidak ditemukan: Periksa apakah gemini-omni-flash-preview masih digunakan di konfigurasi. Endpoint tersebut akan dihentikan pada 30 September 2026.
  • Pengeditan video yang diunggah gagal: Fitur ini tidak tersedia di EEA, Swiss, dan Inggris. Video yang dihasilkan model tetap berfungsi di wilayah tersebut.
  • Permintaan ekstensi ditolak: Video input dibatasi hingga 10 detik. Ekstensi hanya ditambahkan di bagian akhir, dan dialog tidak dapat ditambahkan saat memperpanjang video yang diunggah.

FAQ

Endpoint apa yang digunakan Gemini Omni?

Gunakan:

POST https://generativelanguage.googleapis.com/v1beta/interactions
Enter fullscreen mode Exit fullscreen mode

Setel gemini-omni-1.1-flash di dalam body permintaan.

Apakah Gemini Omni API memiliki tingkat gratis?

Tidak. Setiap generasi dikenai biaya. Jalur gratis AI Studio berlaku untuk model teks.

Bisakah saya mengatur temperature atau prompt negatif?

Tidak. Instruksi sistem, temperature, top_p, stop sequences, dan prompt negatif tidak didukung. Tulis pengecualian langsung di prompt.

Bagaimana cara membuat video vertikal?

Atur aspect_ratio ke 9:16 di dalam response_format.

Apakah video yang dihasilkan memiliki watermark?

Ya. Semua output membawa SynthID, yang tidak terlihat oleh pemirsa tetapi dapat dideteksi secara terprogram.

Bagaimana perbandingannya dengan Veo API?

Endpoint, harga, dan keunggulannya berbeda. Baca Gemini Omni 1.1 Flash vs Veo 3.1 untuk perbandingan, serta panduan Veo 3.1 API untuk spesifikasi integrasinya.

Integrasi dasarnya terdiri dari dua bidang wajib dan penangan respons yang mendukung base64 maupun URI. Mulailah dengan panggilan 360p, simpan dengan pernyataan, lalu naikkan resolusi setelah sistem tervalidasi. Untuk parameter terbaru, lihat dokumentasi resmi Omni.

Top comments (0)