Loading...
Loading...
Daha hızlı ve daha uygun maliyetli Veo 3.1 katmanı; metinden videoya, görselden videoya, referanstan videoya ve başlangıç-bitiş karesi geçişlerini kapsar.
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/veo-3.1-fast/image-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.
Bu endpoint'e tek bir fotoğraf verin, o fotoğraf hareketli ve sesli bir çekimin ilk karesine dönüşsün. Google'ın Veo 3.1 Fast'ini google/veo-3.1-fast/image-to-video olarak çalıştırıyoruz ve çıktının saniyesi üzerinden faturalıyoruz: saniye başına $0.01, ses track'i açıkken ×1.5. Yani sesli 8 saniyelik 720p bir klip $0.12 — bir görsel artı bir prompt, reference uğraşı yok.
Yola çıkacağınız bir başlangıç görseli yok mu? O zaman endpoint'iniz Veo 3.1 Fast text-to-video — aynı model, aynı fiyat, yalnızca prompt, üstelik 4 ya da 6 saniyeye inmenize izin veriyor. Elinizde birden fazla görsel varsa ve mesele tek bir karakteri çekimler boyunca tutarlı tutmaksa, Veo 3.1 Fast reference-to-video tarafına geçin.
Bu modeli kimse video başına satmıyor. Google, fal.ai, Replicate ve biz — hepimiz çıktıyı saniye saniye ölçüyoruz, dolayısıyla adil bir karşılaştırma konfigürasyonu sabitlemek zorunda. İşte 8 saniye, 720p, ses açık; 26 Ağustos 2026'da kontrol ettiğimiz hâliyle:
| API sağlayıcısı | Faturalama | Ücret (720p, ses açık) | 8 saniyelik klip | Bize göre |
|---|---|---|---|---|
| E2X (güncel) | saniye başına | $0.01/s ×1.5 ses | $0.12 | — |
| Google Gemini API | saniye başına | $0.10/s | $0.80 | fiyatımızın 6.7 katı |
| fal.ai | saniye başına | $0.15/s | $1.20 | fiyatımızın 10 katı |
| Replicate | saniye başına | $0.15/s | $1.20 | fiyatımızın 10 katı |
| E2X liste (indirimsiz) | saniye başına | $0.10/s ×1.5 | $1.20 | indirimsiz ücretimiz |
En alttaki satırda biraz durun. İndirimsiz liste fiyatımız 8 saniyelik klip için $1.20 — fal.ai ve Replicate'in aldığı rakamın tıpatıp aynısı. Şu an ödediğiniz $0.12 bunun onda biri, üstelik Google'ın kendi API'sinin de 6.7 kat altında.
Çözünürlük faturaya nereden satın aldığınıza göre farklı yansıyor. 720p'den 1080p'ye çıkmak fal.ai ya da Replicate'te ek maliyet getirmiyor; Google saniye başına daha yüksek bir ücret alıyor. Biz de çözünürlüğü bir çarpan olarak işliyoruz, dolayısıyla 1080p bir koşu planlamadan önce güncel rakamı bu modelin llms.txt dosyasından okuyun.
Fiyatlar ve ürün koşulları zamanla değişebilir; satın alma kararı öncesinde güncel fiyatları kontrol edin. Google Batch veya Flex fiyatlandırması, zamanlama, kapasite ve işleme koşulları farklı olduğu için standart on-demand API request'iyle birebir eşdeğer değildir ve bu tabloya dahil edilmemiştir. Bu karşılaştırma belirli bir kullanım senaryosuna aittir; E2X'in her koşulda "dünyanın en ucuzu" olduğu iddia edilmemektedir.
Görseliniz birinci kareyi sabitliyor. Ondan sonraki her şey üretiliyor — bu zihinsel modeli koruyun, çünkü hem gücü hem de başarısızlık biçimini açıklayan şey bu.
Gücü: kompozisyon, palet, kostüm ve dekor çoktan kararlaşmış. Müşterinin zaten onayladığı bir ürün çekimini metinle yeniden üretme kumarına girmiyorsunuz. Fotoğrafı verin, hareketi tarif edin, tam olarak fotoğrafın bittiği yerden başlayan bir klip alın.
Başarısızlık biçimi: klip o kareden ne kadar uzaklaşırsa o kadar doğaçlama yapıyor. Sekiz saniyede 180°'lik bir orbit isteyin, öznenin arka tarafı tamamen uydurma olur. Yavaş bir push-in ve bir baş çevirme isteyin, tutar.
Ses de bu yolculuğa dahil. Google onu native olarak üretiyor ve API'lerinde kapatacak bir anahtar yok — senkron diyalog, adım seslerinin ayak bastığı yere oturması, altta oda tonu. İçeri sabit bir fotoğraf giriyor; dışarı film müziği olan bir şey çıkıyor.
Google'ın kaynak görsele dair kısıtları, sade hâliyle:
image_url alanını job çalıştığında çekiyoruz, siz gönderdiğinizde değil.Sonuncusu diğerlerinin toplamından daha fazla hataya yol açıyor: kısa ömürlü imzalı linkler kuyrukta beklerken süresi doluyor.
Burada iki zorunlu alan var: prompt ve image_url.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/veo-3.1-fast/image-to-video",
"input": {
"prompt": "Barista fincanı öne doğru kaydırıyor ve buhar yukarı kıvrılıyor. Crema üzerine yavaş push-in. Espresso makinesinin tıslaması, arkada alçak kafe uğultusu.",
"image_url": "https://example.com/counter-shot.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
Geriye bir job ID alıyorsunuz. İster polling yapın, ister bize bir webhook verin:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/veo-3.1-fast/image-to-video",
input: {
prompt:
"Güneş gözlüğünü indiriyor ve kadraj dışına, sola bakıyor. Etek ucu rüzgârda kalkıyor. Sabit kamera, altta martılar ve dalga sesi.",
image_url: "https://example.com/lookbook-03.jpg",
aspect_ratio: "9:16",
resolution: "720p",
duration: "8",
has_sound: "true",
seed: 88117,
},
}),
}).then((r) => r.json());
const jobId = submitted.data.jobId;
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 || "Animation failed");
}
await new Promise((r) => setTimeout(r, 5000));
}
Job'lar pending → processing → completed şeklinde ilerliyor ya da failed / cancelled üzerinde duruyor. Polling yapmak istemiyorsanız bir webhookUrl gönderin. Biz kabaca dört dakikaya göre planlıyoruz; Google'ın yayınladığı aralık en iyi durumda 11 saniye, yoğun saatte 6 dakika.
Tiplere dikkat: duration, resolution ve has_sound string. "true", true değil.
Aynı ağırlıklara açılan üç kapı, aynı saniye fiyatıyla. Hangisi olacağına girdiniz karar veriyor:
| Endpoint | 8s klip, 720p + ses | Şu durumda seçin |
|---|---|---|
| Veo 3.1 Fast image-to-video | $0.12 | Onaylanmış bir fotoğraf birinci kare olmalı |
| Veo 3.1 Fast text-to-video | $0.12 | Henüz hiçbir şey yok — ve 4s ya da 6s seçeneği istiyorsunuz |
| Veo 3.1 Fast reference-to-video | $0.12 | Üçe kadar görsel, tekrar eden bir yüzü, ürünü ya da mekânı tanımlamalı |
Dürüst ayrım şu: fotoğraf açılış karesinin kendisiyse bu endpoint'i kullanın. Görselleriniz bunun yerine yönlendirme işlevi görüyorsa — beş sahnede aynı oyuncu gibi — reference-to-video'yu kullanın ve sizi 8 saniyeye kilitlediğini kabul edin. Sadece keşif mi yapıyorsunuz? Hiçbir şey yüklemeyin: 4 saniyede text-to-video $0.06 tutuyor ve bir storyboard'u hızla tüketiyor. Geri kalanına image-to-video kategorisinden ya da tüm model kataloğundan göz atın.
Sık yapılan hata, az önce yüklediğiniz görseli yeniden tarif etmek. Model onu zaten görüyor. "İskelede kırmızı montlu bir kadın" için harcanan her kelime, sonrasında ne olacağına harcanmayan bir kelime — üstelik çoktan sabitlediğiniz bir karenin yeniden yorumlanmasına davetiye çıkarıyor.
Onun yerine değişimi yazın. Kalitenin büyük kısmını üç alışkanlık taşıyor:
Tek bir birincil hareket verin. Bir baş çevirme, bir kamera push'u, açılan bir kapı. Sekiz saniyeye dört eylem yığın, hiçbiri okunmaz.
Kameranın nerede durduğunu ve hareket edip etmediğini söyleyin. "Sabit", "yavaş dolly in", "elde sağa kayma". Bu konuda susmak amaçsız bir salınım üretiyor.
Sesi de yüksek sesle yazın. Ambiyansı ve varsa diyalog repliğini tırnak içinde adlandırın. Ses siz planlasanız da planlamasanız da üretiliyor, o hâlde planlayın.
İngilizce prompt'lar tam olarak destekleniyor. Google bu model için başka dilleri değerlendirmedi, dolayısıyla konuşulan replik başka bir dilde olsa bile talimatları İngilizce tutun.
İki gün. İndirme pencereniz bu kadar. Google üretilen videoyu iki gün saklıyor — kendi ifadeleriyle: videonuzu üretimden sonraki 2 gün içinde indirmeniz gerekiyor. outputs[0].url alanını okuyan kod yolunun içinde onu kendi depolamanıza çekin. Dönen link geçici.
SynthID her karede. Google tüm Veo çıktısını, kendi platformları üzerinden doğrulanabilen algılanamaz köken işaretiyle damgalıyor. Hiçbir sağlayıcı bunu devre dışı bırakamıyor, biz de dahil.
Düzenlemeye tabi bölgelerde insan üretimi. AB, Birleşik Krallık, İsviçre ve MENA genelinde personGeneration allow_adult ile sınırlandırılmış.
Aspect ratio'yu kaynağınızla eşleştirin. 16:9 bir fotoğrafla 9:16 istemek, modeli kenarları uydurmaya zorluyor.
Üretilen videonun saniyesi başına $0.01 alıyoruz, ses açıkken 1.5 ile çarpılıyor. Bu da sesli 8 saniyelik 720p bir klibi $0.12 yapıyor. Daha yüksek çözünürlüklerin kendi çarpanı var, dolayısıyla 1080p ya da 4k bir batch bütçelemeden önce canlı model sayfasını kontrol edin.
8 MB altında, en az 720p ve ya 16:9 ya da 9:16. Onu verdiğiniz image_url üzerinden çekiyoruz, dolayısıyla job çalıştığında linkin hâlâ çözülüyor olması gerekiyor — süresi dolan imzalı URL'ler buradaki en yaygın hata.
Bu endpoint'te hayır — tam olarak bir image_url alıyor. Birden fazla görselin üretimi yönlendirmesi gerekiyorsa, üçe kadar bir dizi kabul eden reference-to-video endpoint'ini kullanın.
Evet ve bu modele yönelmenin başlıca sebeplerinden biri de bu. Google senkron diyaloğu, efektleri ve ambiyansı native olarak üretiyor, kendi API'lerinde kapatma anahtarı yok. Schema'mız has_sound alanını varsayılanı true olacak şekilde sunuyor ve ×1.5 çarpanını taşıyor.
En fazla 8 saniye. Bu endpoint 4, 6 veya 8'i kabul ediyor, ancak 1080p ve 4k çıktı tam 8 saniye gerektiriyor. Veo 3.1 Fast ailesinde hiçbir şey tek çağrıda 8 saniyeyi aşmıyor.
Her Veo videosu, Google'ın algılanamayan AI köken watermark'ı SynthID'yi taşıyor ve kendi doğrulama platformlarında kontrol edilebiliyor. Kimse bunu kapatmanın bir yolunu sunmuyor.
Job başına dört dakika kadar planlayın. Google'ın resmi rakamları tabanı 11 saniyeye, yoğun saat tavanını 6 dakikaya koyuyor, dolayısıyla gerçek bir hacimde çalışmaya başladığınızda webhook polling döngüsünü yener.