Product demos, course intros और social clips बनाने वाले लोगों की एक आम ज़रूरत होती है: “मेरे पास presenter की एक फ़ोटो और पहले से रिकॉर्ड की हुई voiceover है। फ़ोटो में मौजूद व्यक्ति से ठीक वही कहलवाइए।” Pruna AI का P-Video-2 Pro Reference यह काम एक API call में करता है। आप फ़ोटो को reference, अपनी audio file और keep_audio: true भेजते हैं; model आपके track के आधार पर video बनाता है, जिसमें lips और head movement शब्दों के साथ sync होते हैं। यह guide आपको exact request, इसकी लागत और इसे लिखते समय बनाए गए एक वास्तविक clip को दिखाती है।
P-Video-2 Pro Reference क्या करता है
यह एक reference-to-video model है। हर चीज़ को text में describe करने के बजाय, आप उसे काम करने के लिए material देते हैं:
- Reference images (अधिकतम 9): कोई character या product कैसा दिखता है, या कोई style।
- Reference videos (अधिकतम 3, प्रत्येक 2 से 15 seconds, कुल 15 seconds): follow करने के लिए motion या scene।
- Audio (अधिकतम 3 files, कुल 15 seconds)।
- एक text prompt जो सबको जोड़ता है: व्यक्ति कहाँ है और क्या कर रहा है।
Output sound के साथ 5 से 15 seconds का clip होता है, 480p या 768p में, Speed या Cost mode में, और 16:9 से 9:16 तक के aspect ratios या “adaptive” (references को follow करें) में। कम-से-कम एक image या video reference आवश्यक है।
keep_audio: आपकी voice, आपके शब्द
Audio input के दो बिल्कुल अलग अर्थ होते हैं, और keep_audio इनके बीच switch करता है:
keep_audioके बिना (default), audio केवल एक sample होती है। Model voice या sound की नकल करता है, लेकिन आपकी file clip में शामिल नहीं की जाती और शब्द अलग हो सकते हैं।keep_audio: trueके साथ और ठीक एक audio file होने पर, वह file soundtrack बन जाती है। वही voice, वही शब्द; video (motion, lips) को उसके साथ match करने के लिए generate किया जाता है।
Track की length का duration के साथ संबंध इस तरह है: अगर आपकी audio duration से छोटी है, तो वह पहले चलती है और model बाकी हिस्सा generate करता है; अगर वह लंबी है, तो उसे duration तक काट दिया जाता है; अगर वह duration से एक second के भीतर है, तो clip audio की length को follow करता है। इसलिए अपनी voiceover के करीब duration चुनें। keep_audio price नहीं बदलता।
Price
Clip की price हर generation के लिए तीन चीज़ों से तय होती है: output seconds (mode और resolution के अनुसार), साथ ही हर reference image, और reference video तथा audio seconds। सबसे सस्ता combination Cost mode में 480p है। पूरी tier table P-Video-2 Pro Reference model page पर है।
क्योंकि price आपके exact inputs पर निर्भर करती है, generate करने से पहले quote माँगें। Quote endpoint मुफ़्त है और एक quoteId लौटाता है, जिससे आप job को pin कर सकते हैं:
curl https://getvibeapi.com/api/media/price \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d @request.json
# नीचे दिए गए request के लिए 22 अक्टूबर 2026 को हमारा quote
# (7 s, 480p, Cost mode, 1 photo, 1 audio track, keep_audio):
{"ok":true,"priceUsd":0.165625,"isEstimate":false,"chargeBasis":"quote","quoteId":"mq_…","quoteTtlSeconds":900}
Quote एक ceiling है: submission से पहले references को measure नहीं किया जाता, इसलिए यह पूरी allowance मानकर चलता है (उदाहरण के लिए, जब कोई audio भेजी जाती है तो reference audio के पूरे 15 seconds)। हमारे job से ठीक quoted amount ही charge हुआ।
Step by step: photo + voiceover → talking clip
1. दो public files तैयार करें
आपको portrait के लिए एक public HTTPS URL (एक साफ़, सामने से लिया गया head-and-shoulders shot सबसे अच्छा रहता है) और voiceover के लिए एक URL (MP3 या WAV) चाहिए। अपने test के लिए हमने Nano Banana 2.1 से एक काल्पनिक presenter और gpt-4o-mini-tts से 7.3-second की English voiceover बनाई, दोनों को उसी API key के ज़रिए। आपकी अपनी कोई भी recording इसी तरह काम करेगी।
2. Job submit करें
import os, time, requests
API = "https://getvibeapi.com"
HEADERS = {"Authorization": f"Bearer {os.environ['GETVIBE_API_KEY']}"}
body = {
"model": "p-video-2-pro-reference",
"prompt": "Reference photo की महिला एक आरामदायक bakery में camera से गर्मजोशी से बात करती है, "
"स्वाभाविक head movement, lips voiceover के साथ sync में",
"opts": {
"mode": "cost", # सबसे सस्ता mode; "speed" अधिक तेज़ है
"resolution": "480p", # या "768p"
"duration": "7", # voiceover की length (7.3 s) के करीब
"aspect_ratio": "16:9",
"reference_image_urls": ["https://your-cdn.example/presenter.jpg"],
"reference_audio_urls": ["https://your-cdn.example/voiceover.mp3"],
"keep_audio": True, # इस track को sample के बजाय soundtrack के रूप में इस्तेमाल करें
},
}
job = requests.post(f"{API}/api/media/generate", json=body, headers=HEADERS).json()
print(job["jobId"], job["status"], job["priceRub"])
इस field का नाम ऐतिहासिक कारणों से priceRub है; getvibeapi.com पर इसमें US dollars होते हैं, यानी वही number जो quote ने लौटाया था।
3. Result के लिए poll करें
while True:
r = requests.get(f"{API}/api/media/jobs/{job['jobId']}", headers=HEADERS).json()
if r["status"] in ("success", "fail"):
break
time.sleep(10)
print(r["status"], r["resultUrls"])
Production batches के लिए polling के बजाय webhook इस्तेमाल करें; media webhooks देखें। Result links लगभग एक सप्ताह बाद expire हो जाते हैं, इसलिए file को अपनी storage में copy कर लें।
हमें क्या मिला
हमारा job कुछ minutes में success status के साथ पूरा हो गया। Result एक MP4 था: 832×480, 7.33 seconds, audio track के साथ। हमने इस पर ये checks चलाए:
- Voice हमारी है। हमने clip के soundtrack की तुलना original voiceover sample से sample by sample की: zero offset पर correlation 0.99998। Model ने file को ही रखा, दोबारा voice की गई imitation नहीं बनाई।
- Face वही रखा गया है। 1, 3 और 5 seconds के frames में reference photo वाली वही महिला (बाल, earrings, green linen shirt) दिखती है, अब prompt के अनुसार bakery में, visible mouth movement के साथ बात करते हुए।
- Length track को follow करती है।
duration: "7"वाली 7.3-second voiceover से 7.33-second clip बना, जैसा within-one-second rule के अनुसार होना चाहिए।
Previews और छोटे social formats के लिए Cost mode में 480p पर्याप्त है। Final cut के लिए, prompt से संतुष्ट होने के बाद उसी request को 768p पर चलाएँ।
Tips और limits
keep_audioके साथ ठीक एक audio file भेजें; दो या तीन files होने पर request एक स्पष्ट error के साथ reject हो जाती है।- Voiceover को 15 seconds या उससे कम रखें। लंबे scripts के लिए उन्हें कई clips में बाँटकर जोड़ें।
- हर reference image के लिए billing होती है, जिसमें
first_frame_urlऔरlast_frame_urlभी शामिल हैं। आम तौर पर एक अच्छी portrait पर्याप्त होती है। - Prompt में setting और बोलने का तरीका बताएं (“calm, explaining”, “smiling, energetic”); शब्द आपकी audio से आते हैं।
- केवल उन्हीं photos और voices का इस्तेमाल करें जिनके rights आपके पास हैं। उनकी consent के बिना वास्तविक लोगों का impersonate न करें।
Text-to-video और image-to-video options सहित अन्य video models models page पर सूचीबद्ध हैं, और image, video and voice through one API media job flow को सामान्य रूप से समझाता है। पूरी request reference: media generation docs।
यह कहाँ उपयोगी है
Still photo और ready voiceover से बनाए गए talking clips उन workflows के लिए उपयुक्त हैं जहाँ शब्द तय होते हैं और face हर बार एक जैसा रहता है:
- Product और feature announcements। 10-second script को एक बार record करें और केवल prompt बदलकर अपने presenter से अलग-अलग backgrounds के सामने उसे deliver करवाएँ।
- Course और onboarding intros। हर lesson के लिए एक consistent host, बिना हर बार studio book किए।
- Localized versions। Voiceover को किसी दूसरी language में record या synthesize करें और matching clip generate करें; lips नई audio को follow करते हैं।
- Customer support snippets। छोटे “यहाँ X करने का तरीका है” clips, जहाँ wording की accuracy cinematic motion से ज़्यादा महत्वपूर्ण होती है।
दो चीज़ों के लिए यह नहीं है: long-form avatar tool (हर generation अधिकतम 15 seconds की होती है) और किसी existing video को edit करने के लिए। पहले से मौजूद footage का look बदलने के लिए Kling 3.0 Omni Transformation देखें।
FAQ
क्या मैं अपनी recorded voice से किसी photo को बात करवा सकता हूँ?
हाँ। Photo को reference_image_urls में, अपनी recording को reference_audio_urls में single item के रूप में और keep_audio: true भेजें। Recording clip का soundtrack बन जाती है और lips को उससे match करने के लिए generate किया जाता है।
keep_audio के बिना क्या होता है?
Audio का इस्तेमाल केवल imitation के लिए sample के रूप में होता है। आपकी file output में नहीं होती और clip में speech अलग हो सकती है।
Clip कितनी लंबी हो सकती है?
हर generation में 5 से 15 seconds। Reference audio कुल 15 seconds तक सीमित है।
Talking clip की price कितनी है?
यह duration, resolution, mode और आपके द्वारा भेजे गए references पर निर्भर करती है। Generate करने से पहले मुफ़्त /api/media/price endpoint से exact figure प्राप्त करें; एक photo और एक audio track के साथ हमारा 7-second 480p Cost-mode clip ऊपर दिखाया गया है। Live tiers model page पर हैं।
क्या output पर watermark होता है?
हमें अपने clip पर कोई watermark दिखाई नहीं दिया।
