Loading...
Loading...
तेज़ और किफ़ायती Veo 3.1 टियर, जिसमें टेक्स्ट-से-वीडियो, इमेज-से-वीडियो, रेफ़रेंस-से-वीडियो और शुरुआती-आख़िरी फ़्रेम ट्रांज़िशन शामिल हैं।
मॉडल चलाने के लिए साइन इन करें
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/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)अवधि और रिज़ॉल्यूशन के अनुसार प्रति जनरेशन अनुमानित लागत। आप केवल उसी के लिए भुगतान करते हैं जो आप चलाते हैं।
यह वही endpoint है जिसकी ज़रूरत तब पड़ती है जब एक ही चेहरा, एक ही जैकेट या एक ही दुकान का फ़्रंट clips के पूरे batch में टिका रहना चाहिए। हम Google के Veo 3.1 Fast को google/veo-3.1-fast/reference-to-video के रूप में चलाते हैं, यह image_urls array में तीन reference images तक लेता है, और हम प्रति सेकंड बिल करते हैं: $0.01 प्रति सेकंड, audio on होने पर ×1.5। यहाँ हर clip 8 सेकंड का है, इसलिए 720p पर sound के साथ कीमत $0.12 प्रति clip बैठती है।
एक ही इमेज काफ़ी है, और clip छोटा होता तो बेहतर रहता? Veo 3.1 Fast image-to-video इस्तेमाल करें — वह एक शुरुआती frame को एनिमेट करता है और आपको 4 या 6 सेकंड भी देगा। अपलोड करने को कुछ है ही नहीं? Veo 3.1 Fast text-to-video सिर्फ़ prompt पर चलता है।
इस मॉडल के लिए per-second metering हर जगह एक जैसी है — Google, fal.ai और Replicate सब यही करते हैं, और हम भी। चूँकि reference-to-video 8 सेकंड पर fix है, नीचे दी गई टेबल ही इकलौता मायने रखने वाला configuration है। आँकड़े 26 अगस्त 2026 को जाँचे गए, 720p पर audio के साथ:
| API provider | बिलिंग | रेट (720p, audio on) | 8-सेकंड clip | हमारे मुक़ाबले |
|---|---|---|---|---|
| E2X (मौजूदा) | प्रति सेकंड | $0.01/s ×1.5 audio | $0.12 | — |
| Google Gemini API | प्रति सेकंड | $0.10/s | $0.80 | हमारी कीमत का 6.7× |
| fal.ai | प्रति सेकंड | $0.15/s | $1.20 | हमारी कीमत का 10× |
| Replicate | प्रति सेकंड | $0.15/s | $1.20 | हमारी कीमत का 10× |
| E2X लिस्ट (डिस्काउंट से पहले) | प्रति सेकंड | $0.10/s ×1.5 | $1.20 | हमारा बिना-डिस्काउंट रेट |
आख़िरी row को उन दोनों marketplaces के सामने रखकर पढ़िए। 8-सेकंड clip के लिए हमारी लिस्ट कीमत $1.20 है — ठीक उतनी ही जितनी fal.ai और Replicate लेते हैं। आज आप उसका दसवाँ हिस्सा देते हैं, और फिर भी यह Google के अपने API से 6.7× नीचे बैठता है। यह फ़र्क़ एक ही मॉडल पर चल रहा live discount है, कोई काट-छाँटकर बनाया गया tier नहीं।
1080p की प्लानिंग सोच-समझकर करें: fal.ai और Replicate 720p → 1080p का स्टेप बिना अतिरिक्त कीमत के देते हैं, जबकि Google उसके लिए ऊँचा per-second रेट लेता है। हमारी तरफ़ भी resolution एक multiplier है — मौजूदा नंबर इस मॉडल की llms.txt में मिलेगा।
कीमतें और प्रोडक्ट की शर्तें समय के साथ बदल सकती हैं; खरीद का फ़ैसला लेने से पहले हर provider की मौजूदा कीमत जाँच लें। Google Batch या Flex प्राइसिंग किसी स्टैंडर्ड on-demand API request के सीधे बराबर नहीं है, क्योंकि उसमें scheduling, उपलब्धता और प्रोसेसिंग की शर्तें अलग होती हैं; इसलिए उसे इस तुलना में शामिल नहीं किया गया है। यह एक सीमित दायरे की तुलना है — यह दावा नहीं किया जा रहा कि E2X हर कॉन्फ़िगरेशन में दुनिया का सबसे सस्ता विकल्प है।
Google की सीमा साफ़ लिखी है: "कंटेंट को दिशा देने के लिए ज़्यादा से ज़्यादा तीन reference image इस्तेमाल करें", और उनके schema में इनका वर्णन है "स्टाइल और कंटेंट reference के तौर पर इस्तेमाल होने वाली ज़्यादा से ज़्यादा तीन इमेज।" तीन। चौथी उस दायरे से बाहर है जो मॉडल स्वीकार करता है।
यह बजट आपको एक फ़ैसला लेने पर मजबूर करता है, और यही इस endpoint की सबसे दिलचस्प बात है। तीनों slots आप उसी चीज़ पर ख़र्च करते हैं जिसे बिलकुल नहीं बदलना चाहिए। एक campaign shoot आम तौर पर ऐसे बँटता है: presenter का एक साफ़ portrait, outfit दिखाता एक full-length shot, और location की एक फ़ोटो। इसके बाद सेट का हर clip उसी इंसान, उन्हीं कपड़ों और उसी जगह के साथ लौटता है — आप सिर्फ़ prompt बदलते हैं।
Product work में बँटवारा अलग होता है: ऑब्जेक्ट के दो angles, और ब्रैंड के colour treatment का एक frame। सिद्धांत वही। References पहचान संभालते हैं, prompt एक्शन संभालता है।
यह image-to-video का काम नहीं है। वहाँ आपकी इमेज ही पहला frame होती है। यहाँ references सिर्फ़ मार्गदर्शन हैं और शुरुआती frame उन्हीं से जनरेट होता है। ऐसा clip चाहिए जो किसी मंज़ूरशुदा still से ठीक शुरू हो? वह दूसरा endpoint है।
Google का नियम यूँ पढ़ा जाता है: duration "Must be '8' when using extension, reference images or with 1080p and 4k resolutions." Reference images उसी सूची में हैं, इसलिए बाक़ी दोनों endpoints वाले 4- और 6-सेकंड के विकल्प यहाँ मौजूद ही नहीं हैं। हमारा schema duration enum अब भी दिखाता है; इस capability के लिए इकलौता मान्य value "8" है।
बजट उसी हिसाब से बनाएँ। छह clips का एक sequence 48 सेकंड का output है — हमारे साथ $0.72, fal.ai या Replicate पर $7.20।
ज़रूरी fields: prompt और image_urls।
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/reference-to-video",
"input": {
"prompt": "इमेज 1 वाली महिला, इमेज 2 वाला कोट पहने हुए, इमेज 3 की lobby में दाख़िल होती है और बारिश झाड़ती है। वह ऊपर देखकर कहती है: \"रुके रहे।\" गर्म tungsten रोशनी, संगमरमर में गूँजती आवाज़।",
"image_urls": [
"https://example.com/talent-portrait.jpg",
"https://example.com/wardrobe-coat.jpg",
"https://example.com/lobby-set.jpg"
],
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
Submit एक job ID लौटाता है; उसे poll करें या एक webhook रजिस्टर करें:
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/reference-to-video",
input: {
prompt:
"इमेज 1 वाला mascot इमेज 2 के काउंटर पर उछलकर चढ़ता है, एक कप गिराता है और जड़ हो जाता है। चरमराते क़दम, सिरेमिक की खनक, फिर सन्नाटा।",
image_urls: [
"https://example.com/mascot-turnaround.png",
"https://example.com/kitchen-set.jpg",
],
aspect_ratio: "9:16",
resolution: "720p",
duration: "8",
has_sound: "true",
seed: 60411,
},
}),
}).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 || "Generation failed");
}
await new Promise((r) => setTimeout(r, 5000));
}
Status pending → processing → completed की तरफ़ बढ़ता है, या failed / cancelled पर ख़त्म होता है। हर job के लिए क़रीब चार मिनट मानकर चलें — Google की आधिकारिक window 11 सेकंड की न्यूनतम सीमा और पीक पर 6 मिनट है। अगर चाहते हैं कि एक सेट की generations आपस में लय में रहें, तो पूरे सेट पर एक ही seed दोबारा इस्तेमाल करें।
वही weights, वही per-second कीमत। endpoint आपके input का आकार तय करता है:
| Endpoint | Duration विकल्प | 8s clip, 720p + audio | कब चुनें |
|---|---|---|---|
| Veo 3.1 Fast reference-to-video | सिर्फ़ 8s | $0.12 | 3 images तक से clips के आर-पार चेहरा, outfit या जगह fix करनी हो |
| Veo 3.1 Fast image-to-video | 4 / 6 / 8s | $0.12 | एक still ही सचमुच पहला frame होना चाहिए |
| Veo 3.1 Fast text-to-video | 4 / 6 / 8s | $0.12 | सिर्फ़ prompt, अपलोड करने को कुछ नहीं |
| Omni Flash reference-to-video | — | $0.80 (डिफ़ॉल्ट config) | अलग family, जब Veo का look वह न हो जो आप चाहते हैं |
हम चाहते हैं कि आपका ख़र्च कम रहे। अगर एक इमेज से काम बन जाता है, तो image-to-video उसी कीमत पर है और 4- व 6-सेकंड clips भी खोल देता है — 4-सेकंड वर्ज़न $0.06 का पड़ता है, यहाँ जिन 8 फ़िक्स सेकंडों का आप भुगतान करते हैं उसका आधा। इस endpoint पर तब आइए जब कई clips के बीच consistency ही असली ज़रूरत हो, क्योंकि यही एक काम बाक़ी endpoints नहीं कर सकते। इस कैटेगरी का बाक़ी हिस्सा reference-to-video के नीचे है; बाक़ी सब कुछ मॉडल कैटलॉग में है।
मॉडल तक array बिना किसी लेबल के पहुँचता है। payload में कहीं नहीं लिखा होता कि slot दो wardrobe था, कोई दूसरा किरदार नहीं — इसलिए यह बात prompt में कहिए।
Indexing काम करती है: "the woman from image 1", "the coat from image 2", "the lobby from image 3"। चंद शब्द, और गड्डमड्ड outputs पैदा करने वाली ज़्यादातर अस्पष्टता ग़ायब हो जाती है।
तीन और आदतें:
हर reference को एक ही काम दें। एक भरी-भरी फ़ोटो जिसमें इंसान, प्रोडक्ट और कमरा तीनों हों, मॉडल से अंदाज़ा लगवाती है कि आपको किसकी परवाह थी। टाइट crop कीजिए।
पहचान को शब्दों में दोहराएँ। "Same short silver hair, same round glasses" उसी बात को मज़बूत करता है जो reference दिखा रहा है। सस्ता बीमा।
डायलॉग पूरा लिखिए। Google audio नेटिवली जनरेट करता है और उनके API में उसे बंद करने का कोई स्विच नहीं है, इसलिए आवाज़ तो आएगी ही — बोल, effects, ambience। लाइन को quote में लिखिए और वह सही frames पर बैठेगी।
Google अंग्रेज़ी को पूरी तरह सपोर्ट करता है और इस मॉडल के लिए किसी दूसरी भाषा का मूल्यांकन नहीं किया गया है, इसलिए instruction text अंग्रेज़ी में ही रखें — quote किया गया डायलॉग उस भाषा में हो सकता है जो सीन को चाहिए।
डाउनलोड के लिए दो दिन। जनरेट किए गए वीडियो पर Google का retention दो दिन का है — "you must download your video within 2 days of generation." एक हफ़्ते में बनने वाले बीस clips के campaign के लिए यह footnote नहीं, आर्किटेक्चर का फ़ैसला है। job पूरा होते ही outputs[0].url को अपनी storage में कॉपी कर लीजिए।
हर output पर SynthID। Google का यह अगोचर watermark सभी Veo वीडियो पर लगता है और उनके प्लेटफ़ॉर्म से वेरिफ़ाई किया जा सकता है। कोई भी provider इसे बंद नहीं कर सकता।
Person generation क्षेत्र के हिसाब से सीमित है। EU, UK, स्विट्ज़रलैंड और MENA में personGeneration सिर्फ़ allow_adult तक सीमित है।
अपने reference set का version रखें। Consistency इसी पर टिकी है कि हर बार बिलकुल एक जैसी references भेजी जाएँ। batch के बीच में बदला गया, दोबारा एक्सपोर्ट किया हुआ portrait साफ़ दिख जाएगा।
हम output के प्रति सेकंड $0.01 लेते हैं, audio on होने पर ×1.5। यह endpoint 8 सेकंड पर fix है, इसलिए sound के साथ एक 720p clip $0.12 का पड़ता है। ऊँचे resolutions का अपना multiplier होता है — 1080p batch की प्लानिंग से पहले लाइव मॉडल पेज देख लीजिए।
ज़्यादा से ज़्यादा तीन। Google के दस्तावेज़ कहते हैं कि content को गाइड करने के लिए आप तीन reference images तक इस्तेमाल कर सकते हैं, और उनका schema इन्हें style और content references बताता है। कम भेजना ठीक है; दो आम बात है।
जब भी reference images शामिल हों, Google 8 सेकंड अनिवार्य कर देता है — वही नियम जो 1080p और 4k पर भी लागू होता है। 4 या 6 सेकंड चाहिए? तब image-to-video या text-to-video endpoint इस्तेमाल करें: वही मॉडल, वही per-second कीमत।
Image-to-video एक इमेज को सचमुच शुरुआती frame बना देता है। Reference-to-video तीन images तक को पहचान, wardrobe, style या location के मार्गदर्शन के रूप में लेता है और फिर उनसे मेल खाता शुरुआती frame ख़ुद जनरेट करता है। जब किसी ख़ास पहले frame से ज़्यादा ज़रूरी कई clips के बीच की consistency हो, तब references चुनिए।
हाँ। Google डायलॉग, sound effects और ambience नेटिवली जनरेट करता है, और उनके अपने API में इसे बंद करने का कोई तरीक़ा नहीं है। हम has_sound को true डिफ़ॉल्ट के साथ उपलब्ध कराते हैं, और यही सेटिंग ×1.5 का price multiplier लगाती है।
Veo का हर output SynthID लेकर आता है, जो AI से बनी सामग्री के लिए Google का अगोचर मार्कर है और उनके प्लेटफ़ॉर्म पर वेरिफ़ाई किया जा सकता है। कोई भी provider — हम भी शामिल — इसे बंद नहीं कर सकता।
हम क़रीब चार मिनट का बजट रखते हैं। Google 11 सेकंड की न्यूनतम और पीक पर 6 मिनट की अधिकतम सीमा प्रकाशित करता है, इसलिए clips के पूरे सेट के लिए polling loops खुले रखने के बजाय webhookUrl इस्तेमाल कीजिए।