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/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)अवधि और रिज़ॉल्यूशन के अनुसार प्रति जनरेशन अनुमानित लागत। आप केवल उसी के लिए भुगतान करते हैं जो आप चलाते हैं।
इस endpoint को एक स्टिल थमाइए और वह किसी चलती-बोलती शॉट का पहला फ़्रेम बन जाती है। हम Google का Veo 3.1 Fast google/veo-3.1-fast/image-to-video के रूप में चलाते हैं, और आउटपुट के प्रति सेकंड बिल करते हैं: $0.01 प्रति सेकंड, ऑडियो ट्रैक चालू होने पर ×1.5। यानी ध्वनि के साथ 8-सेकंड की 720p क्लिप $0.12 — एक इमेज और एक prompt, references की माथापच्ची के बिना।
शुरू करने के लिए कोई इमेज ही नहीं है? तब Veo 3.1 Fast text-to-video आपका endpoint है — वही मॉडल, वही कीमत, सिर्फ़ prompt, और वहाँ आप 4 या 6 सेकंड तक भी उतर सकते हैं। और अगर आपके पास कई इमेज हैं और असल मक़सद कई शॉट्स में एक ही किरदार को एक जैसा रखना है, तो Veo 3.1 Fast reference-to-video पर जाइए।
इस मॉडल को कोई भी प्रति वीडियो नहीं बेचता। Google, fal.ai, Replicate और हम — सब आउटपुट को सेकंड-दर-सेकंड मीटर करते हैं, इसलिए किसी भी निष्पक्ष तुलना के लिए कॉन्फ़िगरेशन तय करना ज़रूरी है। यह रहे 8 सेकंड, 720p, ऑडियो चालू, जब हमने आख़िरी बार 26 अगस्त 2026 को जाँचा:
| API provider | बिलिंग | दर (720p, ऑडियो चालू) | 8-सेकंड क्लिप | बनाम हम |
|---|---|---|---|---|
| E2X (मौजूदा) | प्रति सेकंड | $0.01/s ×1.5 ऑडियो | $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 list (डिस्काउंट से पहले) | प्रति सेकंड | $0.10/s ×1.5 | $1.20 | हमारी बिना-छूट दर |
आख़िरी पंक्ति पर ज़रा ठहरिए। 8-सेकंड क्लिप के लिए हमारी बिना-छूट list price $1.20 है — वही आँकड़ा जो fal.ai और Replicate वसूलते हैं। आज आप जो $0.12 देते हैं वह उसका दसवाँ हिस्सा है, और फिर भी Google के अपने API से 6.7× नीचे।
Resolution बिल पर हर जगह एक जैसा असर नहीं डालता। fal.ai या Replicate पर 720p से 1080p जाने का कोई अतिरिक्त पैसा नहीं लगता; Google प्रति सेकंड ज़्यादा दर लेता है। हमारे यहाँ भी resolution एक multiplier है, इसलिए 1080p run की योजना बनाने से पहले इस मॉडल की llms.txt से मौजूदा आँकड़ा पढ़ लीजिए।
कीमतें और प्रोडक्ट की शर्तें समय के साथ बदल सकती हैं; खरीद का फ़ैसला लेने से पहले हर provider की मौजूदा कीमत जाँच लें। Google Batch या Flex प्राइसिंग किसी स्टैंडर्ड on-demand API request के सीधे बराबर नहीं है, क्योंकि उसमें scheduling, उपलब्धता और प्रोसेसिंग की शर्तें अलग होती हैं; इसलिए उसे इस तुलना में शामिल नहीं किया गया है। यह एक सीमित दायरे की तुलना है — यह दावा नहीं किया जा रहा कि E2X हर कॉन्फ़िगरेशन में दुनिया का सबसे सस्ता विकल्प है।
आपकी इमेज पहले फ़्रेम को बाँध देती है। उसके बाद का सब कुछ जनरेट होता है — यह मानसिक मॉडल पकड़े रहिए, क्योंकि इसी से इसकी ताक़त और इसकी कमज़ोरी, दोनों समझ आती हैं।
ताक़त: कंपोज़िशन, palette, wardrobe और सेट पहले ही तय हो चुके हैं। जिस प्रोडक्ट शॉट पर क्लाइंट मुहर लगा चुका है, उसे दोबारा गढ़ने के लिए आप गद्य पर जुआ नहीं खेल रहे। स्टिल दीजिए, मूवमेंट बताइए, और क्लिप ठीक वहीं से शुरू होती है जहाँ स्टिल थी।
कमज़ोरी: क्लिप उस फ़्रेम से जितना दूर जाती है, उतना ही ज़्यादा वह अपनी तरफ़ से गढ़ती है। आठ सेकंड में 180° orbit माँगिए और subject का दूसरा पहलू पूरी तरह कल्पना होगा। धीमा push-in और एक head turn माँगिए, तो वह टिका रहता है।
ऑडियो साथ-साथ चलता है। Google उसे नेटिव तरीक़े से बनाता है और उनके API में उसे बंद करने का कोई स्विच नहीं है — सिंक में संवाद, क़दमों पर क़दमों की आवाज़, नीचे room tone। अंदर एक स्थिर तस्वीर जाती है; बाहर साउंडट्रैक वाली कोई चीज़ आती है।
Source इमेज पर Google की पाबंदियाँ, साफ़ शब्दों में:
image_url तब fetch करते हैं जब job चलती है, तब नहीं जब आप उसे submit करते हैं।आख़िरी वाली शर्त बाक़ी सबसे मिलकर भी ज़्यादा failures कराती है: कम उम्र वाले signed links क़तार में लगे-लगे expire हो जाते हैं।
यहाँ दो fields ज़रूरी हैं: prompt और 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": "बरिस्ता कप आगे सरकाता है और भाप ऊपर मुड़ती है। Crema पर धीमा push-in। Espresso मशीन की सिसकार, पीछे कैफ़े की धीमी गुनगुनाहट।",
"image_url": "https://example.com/counter-shot.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
जवाब में एक 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/image-to-video",
input: {
prompt:
"वह धूप का चश्मा नीचे सरकाती है और फ़्रेम से बाहर बाईं ओर देखती है। हवा में हेम उठता है। कैमरा locked-off, नीचे समुद्री चिड़ियाँ और लहरों की आवाज़।",
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));
}
Jobs pending → processing → completed की तरफ़ बढ़ती हैं, या failed / cancelled पर रुक जाती हैं। Poll नहीं करना चाहते तो एक webhookUrl पोस्ट कर दीजिए। हम क़रीब चार मिनट की योजना बनाते हैं; Google की प्रकाशित रेंज सबसे अच्छे हाल में 11 सेकंड और पीक पर 6 मिनट है।
टाइप्स पर नज़र रखिए: duration, resolution और has_sound strings हैं। "true", न कि true।
एक ही weights तक तीन दरवाज़े, और प्रति-सेकंड कीमत भी एक ही। कौन-सा चुनना है, यह आपका input तय करता है:
| Endpoint | 8s क्लिप, 720p + ऑडियो | कब चुनें |
|---|---|---|
| Veo 3.1 Fast image-to-video | $0.12 | एक मंज़ूरशुदा स्टिल को पहला फ़्रेम बनना चाहिए |
| Veo 3.1 Fast text-to-video | $0.12 | अभी कुछ भी मौजूद नहीं — और आपको 4s या 6s का विकल्प चाहिए |
| Veo 3.1 Fast reference-to-video | $0.12 | तीन तक इमेज को कोई बार-बार लौटता चेहरा, प्रोडक्ट या जगह तय करनी है |
ईमानदार बँटवारा यह है: यह endpoint तब चुनिए जब स्टिल ही शुरुआती फ़्रेम हो। Reference-to-video तब चुनिए जब आपकी इमेज सिर्फ़ guidance हों — जैसे पाँच सीन में वही अभिनेता — और यह मानकर चलिए कि वह आपको 8 सेकंड पर बाँध देगा। सिर्फ़ टटोल रहे हैं? कुछ अपलोड ही मत कीजिए: 4 सेकंड पर text-to-video $0.06 पड़ता है और storyboard को तेज़ी से भर देता है। बाक़ी सब image-to-video कैटेगरी या पूरे मॉडल कैटलॉग में देखिए।
आम ग़लती यह है कि लोग उसी इमेज को दोबारा बयान करने लगते हैं जो अभी-अभी अपलोड की है। मॉडल उसे देख सकता है। "पियर पर लाल कोट में एक महिला" पर ख़र्च किया हर शब्द वह शब्द है जो आगे क्या होगा, इस पर ख़र्च नहीं हुआ — और यह उस फ़्रेम की दोबारा-व्याख्या को न्योता देता है जिसे आप पहले ही तय कर चुके थे।
बदलाव लिखिए। ज़्यादातर क्वालिटी तीन आदतों से आती है:
एक ही मुख्य मूवमेंट दीजिए। एक head turn, एक कैमरा push, एक दरवाज़े का खुलना। आठ सेकंड में चार क्रियाएँ ठूँसेंगे तो एक भी नहीं पढ़ी जाएगी।
बताइए कैमरा कहाँ है और हिलता है या नहीं। "Locked off", "slow dolly in", "handheld drift right"। इस बिंदु पर चुप्पी बेमक़सद तैरता हुआ शॉट देती है।
आवाज़ भी लिख डालिए। माहौल की आवाज़ का नाम लीजिए और संवाद की कोई भी पंक्ति उद्धरण चिह्नों में। ऑडियो तो बनेगा ही, चाहे आपने उसकी योजना बनाई हो या नहीं — तो योजना बना ही लीजिए।
अंग्रेज़ी में लिखे prompts पूरी तरह समर्थित हैं। इस मॉडल के लिए Google ने बाक़ी भाषाओं का मूल्यांकन नहीं किया है, इसलिए निर्देश अंग्रेज़ी में ही रखिए — भले बोली जाने वाली पंक्ति किसी और भाषा में हो।
दो दिन। यही आपकी डाउनलोड विंडो है। Google जनरेट किया गया वीडियो दो दिन रखता है — उनके शब्दों में: आपको अपना वीडियो जनरेट होने के 2 दिन के भीतर डाउनलोड करना होगा। जिस कोड पाथ में आप outputs[0].url पढ़ते हैं, उसी में उसे अपने स्टोरेज में खींच लीजिए। लौटाया गया लिंक अस्थायी है।
हर फ़्रेम पर SynthID है। Google हर Veo आउटपुट पर अपना अदृश्य provenance मार्कर लगाता है, जिसे उनके प्लेटफ़ॉर्म से जाँचा जा सकता है। कोई provider इसे बंद नहीं कर सकता, हम भी नहीं।
नियंत्रित क्षेत्रों में लोग। EU, UK, स्विट्ज़रलैंड और MENA में personGeneration allow_adult पर सीमित है।
Aspect ratio अपने source से मिलाइए। 16:9 स्टिल पर 9:16 माँगेंगे तो मॉडल को किनारे ख़ुद गढ़ने पड़ेंगे।
हम जनरेट हुए वीडियो के प्रति सेकंड $0.01 लेते हैं, और ऑडियो चालू होने पर उसे 1.5 से गुणा करते हैं। इससे ध्वनि के साथ 8-सेकंड की 720p क्लिप $0.12 पड़ती है। ऊँचे resolutions पर उनका अपना multiplier लगता है, इसलिए 1080p या 4k batch का बजट बनाने से पहले लाइव मॉडल पेज देख लीजिए।
8 MB से कम, कम से कम 720p, और या तो 16:9 या 9:16। हम उसे आपके दिए गए image_url से fetch करते हैं, इसलिए job चलते समय लिंक का हल होना ज़रूरी है — expire होते signed URLs यहाँ सबसे आम वजह हैं failure की।
इस endpoint पर नहीं — यह ठीक एक image_url लेता है। अगर कई इमेज को generation की दिशा तय करनी है, तो reference-to-video इस्तेमाल कीजिए, जो तीन तक इमेज का array स्वीकार करता है।
हाँ, और यही इस मॉडल तक पहुँचने की एक मुख्य वजह है। Google सिंक्रोनाइज़्ड संवाद, effects और माहौल की आवाज़ नेटिव रूप से बनाता है, और उनके अपने API में कोई off switch नहीं है। हमारा schema has_sound देता है, डिफ़ॉल्ट true, जो ×1.5 multiplier अपने साथ लाता है।
8 सेकंड तक। यह endpoint 4, 6 या 8 स्वीकार करता है, लेकिन 1080p और 4k आउटपुट के लिए पूरे 8 चाहिए। Veo 3.1 Fast परिवार में कोई भी endpoint एक कॉल में 8 सेकंड से आगे नहीं जाता।
हर Veo वीडियो पर SynthID रहता है, Google का अदृश्य AI-provenance watermark, और उसे उनके verification प्लेटफ़ॉर्म पर जाँचा जा सकता है। इसे बंद करने का रास्ता कोई नहीं देता।
प्रति job क़रीब चार मिनट मानकर चलिए। Google के आधिकारिक आँकड़े फ़र्श 11 सेकंड और पीक ऑवर की छत 6 मिनट बताते हैं, इसलिए जैसे ही आप किसी असली volume पर पहुँचते हैं, polling loop से बेहतर webhook हो जाता है।