Loading...
Loading...
Generate video from up to seven reference images with Gemini Omni 1.1 Flash. The reference images carry character and style consistency into the result.
0/7 öğe
Modelleri çalıştırmak için giriş yapın
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/omni-1.1-flash/reference-to-video',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)Süre ve çözünürlüğe göre tahmini üretim maliyeti. Yalnızca çalıştırdığınız için ödersiniz.
Bir kampanya hiçbir zaman tek bir klip değildir. Bir çekim listesidir — on bir satır, her satırda aynı kurye çantası ve altıncı satırda çantanın griye dönmesine ayrılmış bir öğleden sonra bütçesi yok. Reference-to-video, çantanın aynı çanta kalmasını sağlıyor. Bunu google/omni-1.1-flash/reference-to-video olarak çalıştırıyoruz ve 720p çıktının saniyesi başına $0.09 faturalandırıyoruz; yani varsayılan sekiz saniyelik klip ses dahil $0.72.
İşi yapan alan image_urls — schema'mızda minItems: 1 ve maxItems: 7 ile tanımlı bir dizi. Bu sayfanın var olma sebebi o tavan. Yedi slot, bir özneyi modelin sizden saklamadıklarınızı uydurmayı bırakacağı kadar çok açıdan gösteriyor.
Başka materyal, başka kapı: tek bir fotoğraf Omni 1.1 Flash image-to-video, arasında boşluk kalan iki uç start-end-frame-to-video ve hiç varlığı olmayan bir brief, fiyat tablosunun tamamını taşıyan Omni 1.1 Flash text-to-video.
Ücretimiz, 28 Ağustos 2026'da canlı katalogdan okundu:
| Klip uzunluğu | 720p fiyatı |
|---|---|
| 4 saniye | $0.36 |
| 6 saniye | $0.54 |
| 8 saniye (varsayılan) | $0.72 |
| 10 saniye | $0.90 |
Liste fiyatı saniyesi $0.15; sabit duran %40 indirim bunu $0.09'a indiriyor. Çözünürlük oradan ölçekleniyor — 360p'de $0.0297, 4K'da $0.18; yani on saniyelik bir 4K render'ı $1.80. Sonra da nasıl kuracağınıza karar veren rakam geliyor: bir reference ekleyin ya da yedi, yukarıdaki hiçbir şey kıpırdamıyor. Formülün tamamı duration ve resolution. Reference'lar bedava yük.
Fiyatlar ve ürün koşulları değişebilir. Satın alma kararı vermeden önce her sağlayıcının güncel fiyatlandırmasını kontrol edin. Google Batch veya Flex fiyatlandırması, zamanlama, kapasite ve işleme koşulları farklı olduğu için standart bir on-demand API request'iyle birebir eşdeğer değildir ve bu karşılaştırmaya dahil edilmemiştir. Bu, kapsamı belirlenmiş bir karşılaştırmadır; E2X'in her konfigürasyonda dünyanın en ucuz seçeneği olduğu iddiası değildir.
API dizideki her URL'yi çekiyor, dolayısıyla hepsinin worker'larımızın düz HTTPS üzerinden erişebileceği bir yerde durması gerekiyor — herkese açık bir bucket, süresi dolmamış imzalı bir link, login arkasında hiçbir şey yok.
Yedi, bir dokümantasyon sayfasındaki bir cümle değil, doğrulanmış bir maksimum. Sekizincisini gönderin, request bir GPU'ya dokunulmadan reddediliyor. Kulağa bir sınır gibi geliyor; siz onu bir bütçe olarak görün. Yedisini de hak eden bir set şöyle kurulur: dörtte üç profil, yan profil, arka, marka taşıyan bir detay, klibin kadrajlayacağı mesafeden bir tane ve nötr ışıkta bir tane. Aynı kahraman açısını iki kez koymak bir slot çöpe atıyor. Vermediğiniz açılar tahmin ediliyor.
Önceki nesle göre değişen şey de bu. Gemini Omni Flash reference-to-video endpoint'imiz aynı fikri saniyesi $0.075'e ve dokümante edilmiş hiçbir tavan olmadan çalıştırıyor — Google hiç yayımlamadı, biz de arkasında duramayacağımız bir sayıyı basmayı reddettik. Yüzde yirmi daha ucuz endpoint o, ve ucuzluğunun sebebi görünür: doğrulanmış yedi slotluk üst sınır yok, bir referans setini para harcamadan prova edeceğiniz 360p katmanı da yok. Google o modeli 30 Eylül 2026'da emekliye ayırıyor. Bir pipeline hâlâ oraya bakıyorsa geçiş bir slug değişiminden ibaret, saniyesi beşte bir pahalıya geliyor ve burada bitiyor.
Diziyi bir kez kurun. Yedi URL'yi çekim listenizin yanında saklayın ve her job'da bu aynı diziyi gönderin. Sabit terim set, değişken ise prompt.
Bu tersine çevirme, işin akışının kendisi. Reference'lar özneyi taşıdığı için her prompt nesnenin neye benzediğini tarif etmeyi bırakıp ona ne olduğunu tarif etmeye başlıyor — kamera, ne hareket ediyor, ışık, ses. Prompt'lar kısalıyor ve klipler daha tutarlı çıkıyor; insanların beklediği takas bu değil. Bir çekimin iki farklı ifadesini karşılaştırırken bir seed sabitleyin ki yeniden yazmanın mı yoksa zarın mı işe yaradığını ayırt edebilesiniz.
Job başına 240 saniye hesaplayın ve listeyi eşzamanlı olarak dağıtın. Sonra da Google'ın model kartının kabul ettiği şeyle kalibre kalın:
“Düzenlemeler boyunca tam tutarlılığı korumak, karmaşık hareket içeren sahneler üretmek veya kusursuz doğrulukta metin render etmek hâlâ bir zorluk.”
Yedi reference sapmayı daraltıyor. Ortadan kaldırmıyor.
İki alan zorunlu: prompt ve image_urls. Key'inizi sunucu tarafında tutun ve job'ı gönderin.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/omni-1.1-flash/reference-to-video",
"input": {
"prompt": "1. görsel katlanır bisiklet, 2. görsel menteşe, 3. görsel sürücü. Gün doğumunda arnavut kaldırımlı bir avlu. Sürücü bisikleti açıyor ve kadroyu kilitliyor. Sabit geniş plan. Kuş sesi, uzaktan bir tramvay.",
"image_urls": [
"https://example.com/bike-folded.jpg",
"https://example.com/bike-hinge.jpg",
"https://example.com/rider.jpg"
],
"duration": "8",
"aspect_ratio": "16:9"
}
}'
Geriye data.jobId geliyor. Render'lar dakikalar sürüyor, o yüzden yavaş polling yapın — ya da bir webhookUrl geçip polling'i tümden atlayın.
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
// Tek bir dizi, her prompt tarafından yeniden kullanılıyor.
const image_urls = [
"https://example.com/fox-puppet-front.jpg",
"https://example.com/fox-puppet-muzzle.jpg",
"https://example.com/fox-puppet-profile.jpg",
];
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/omni-1.1-flash/reference-to-video",
input: {
prompt:
"1. görsel tilki kuklası. Kadrajın solundan içeri eğiliyor ve başını yana yatırıyor. Yavaş dolly in. Kâğıt hışırtısı, yumuşak oda tonu.",
image_urls,
duration: "10",
aspect_ratio: "9:16",
resolution: "1080p",
seed: 70413,
},
}),
}).then((r) => r.json());
const { jobId } = submitted.data;
while (true) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") { console.log(job.data.outputs[0].url); break; }
if (job.data.status === "failed") throw new Error(job.data.error?.message);
await new Promise((r) => setTimeout(r, 5000));
}
Durumlar pending → processing → completed şeklinde ilerliyor ya da failed / cancelled üzerinde duruyor. Tek tuzak: duration ve resolution string. 10 değil, "10". Schema ve fiyat makine tarafından okunabilir spesifikasyonda duruyor.
Veo 3.1 Fast reference-to-video aynı platformda saniyesi $0.01'e çalışıyor. Dokuz kat daha az. Orada sekiz saniye $0.08, burada $0.72 ve bunu bir tablonun altına gömecek değiliz.
Yani varsayılan cevap Veo. Bir çekim listesi üç reference, sekiz saniye ve 720p istiyorsa başka bir şey çağırmak, hiçbir şeye para vermek demek.
Bunu dört şey tersine çeviriyor. Veo'nun kabul ettiğinden fazla reference gerekiyor: o üçte duruyor, biz yedideyiz — bir özneyi kapsamakla ondan örnek almak arasındaki fark. On saniye gerekiyor ve Veo bunu vermiyor. 4K gerekiyor. Ya da yirmi taslağın bitmiş tek bir klipten ucuza geldiği, kazananın da aynı dizi ve seed'den yeniden render edildiği 360p kademesini istiyorsunuz. Bu dördünün dışında ucuza gidin. Dahası reference-to-video kategorisinde, gerisi de model kataloğunda.
Reference'larınız gerçek şeylerin, bazen de gerçek insanların yüklemeleri. Google; Birleşik Krallık, İsviçre ve Avrupa Ekonomik Alanı'ndaki kullanıcılar için reşit olmayanları veya belirli tanınabilir kişileri gösteren görsel yüklemelerini engelliyor. Burada bu bir dipnot değil, bir casting kısıtı. Onu brief'e yazın, gece ikide başarısız olan bir job'a değil.
Her kare SynthID taşıyor. Google'ın görünmez watermark'ı tüm çıktıda var ve biz dahil hiçbir sağlayıcı onu kapatamıyor. Etiketli AI varlıklarını yasaklayan bir sözleşme varsa entegre etmeden önce netleştirin.
Ses kelimelerden çıkıyor. Ses görüntüyle birlikte üretiliyor ve aynı prompt'tan yönlendiriliyor — has_sound anahtarı yok, ses reference'ı yüklemesi yok.
Sonuç URL'lerinin süresi doluyor. Her çıktıyı outputs[0].url değerini okuyan handler'ın içinde kendi depolamanıza kopyalayın. Yeniden render ettiğiniz bir kampanya, iki kez ödediğiniz bir kampanyadır.
Tam olarak desteklenen tek prompt dili İngilizce ve model, Google'ın Nisan 2026'da Vertex AI'ın yerine koyduğu Gemini Enterprise Agent Platform altında listeli. Arka planı sürüm yazımızda bulabilirsiniz.
Yedi görsel eklemek modele neyin var olduğunu söylüyor. Hangisinin başrol olduğunu söylemiyor. Onu düz yazıyla siz söylüyorsunuz: 1. görsel çaydanlık, 2. görsel emaye kapak, 3. görsel mutfak. Numaralı, ilk satırda, herhangi bir yönlendirmeden önce.
Sonra özneyi tarif etmeyi bırakın. Zaten eklediğiniz bir şeyin rengini ve biçimini yeniden belirten bir prompt kendi reference'larınızla tartışıyor demektir ve model ikisinin ortasını buluyor. Kelimeleri dizinin taşıyamadığı şeye harcayın: kamera, tek bir hareket, ışık, ambiyans. Her prompt'u tek kesintisiz bir çekimde tutun — üç sahnelik bir anlatı isteyin, elinize bulaşık bir görüntü geçer. Gemini Omni prompt rehberimiz çekim terimlerine daha derin giriyor.
Yedi ve bu sınır tahmin değil, yayımlanmış bir rakam: image_urls, minItems: 1 ve maxItems: 7 ile doğrulanıyor, dolayısıyla sekizinci bir girdi submit sırasında başarısız oluyor. Selefinde dokümante edilmiş bir tavan yoktu. Pratikteki en büyük fark bu.
Hayır. Faturayı bitmiş videonun saniyesi üzerinden, çözünürlükle ölçekleyerek kesiyoruz; reference sayısı bu hesabın içinde değil. Bir reference ya da yedi, sekiz saniyelik 720p bir klip $0.72. Tek kaldıraç uzunluk ve çözünürlük.
Prompt içinde numaralayarak — hangi görselde ürün, hangisinde detay, hangisinde ortam var — ve ardından eylemi tarif ederek. image_urls, sizin düz yazınız rolleri dağıtana kadar çıplak bir listeden ibaret.
Amaçlanan biçim tam olarak bu. Diziyi bir kez saklayın ve yalnızca yönlendirmeyi değiştirerek her prompt'la birlikte değiştirmeden gönderin. Sabitlenmiş bir seed, ışığı kliplerin yan yana kesilebileceği kadar dengede tutuyor.
Saniyesi $0.01'den neredeyse her zaman — Veo 3.1 Fast eşdeğer bir request için dokuz kat ucuz. Üç reference yeterli kapsama vermediğinde, kurgu on saniye istediğinde, teslim edilecek iş 4K olduğunda ya da 360p taslak döngüsü için buraya geçin.
360p, 720p, 1080p ya da 4K; 16:9 veya 9:16'da; 4, 6, 8 ya da 10 saniye, her zaman 24 fps'te. Üstteki iki çözünürlük native render değil, upscale edilmiş; keskinliği kendi görüntünüz üzerinde değerlendirin.
Google gemini-omni-flash-preview modelini o tarihte kullanımdan kaldırıyor ve o ağırlıkları çalıştıran her sağlayıcı aynı gün duruyor. Job'larınızı buraya yönlendirin: aynı request biçimi, dokümante edilmiş reference tavanı. Eski reference-to-video sayfası geçiş referansı olarak yayında kalıyor.