Clipwright

आधिकारिक

बिना फिल्मांकन के UGC-स्टाइल वीडियो विज्ञापन बनाएं। अपने AI असिस्टेंट को बताएं कि वीडियो में क्या कहा जाना चाहिए, और Clipwright एक यथार्थवादी अभिनेता का वर्टिकल क्लिप लौटाता है जो उसे कहता है, जो TikTok, Reels या Shorts के लिए तैयार है। क्रिएटर्स को काम पर रखने और शूट बुक करने के बजाय एक दोपहर में अपने प्रोडक्ट के लिए दस हुक आज़माएं। तैयार अभिनेता चुनें या अपना खुद का वर्णन करें, सैंपल सुनकर आवाज़ चुनें, और कुछ भी रेंडर होने से पहले कीमत देखें। Claude, Cursor या किसी भी MCP क्लाइंट से काम करता है। आपको वीडियो फ़ाइल मिलती है और आप तय करते हैं कि वह कहाँ जाए।

Clipwright MCP के साथ आप क्या कर सकते हैं?

  • स्क्रिप्ट से लिप-सिंक वीडियो बनाएं — अपने AI से किसी लिखित स्क्रिप्ट को चुने हुए अभिनेता, आवाज़ और फॉर्मेट के साथ UGC-शैली वीडियो में बदलने के लिए कहें।
  • कस्टम AI अभिनेता बनाएं — किसी वयस्क की दिखावट का वर्णन करें और भविष्य के वीडियो के लिए एक पुन: उपयोग योग्य अभिनेता तैयार करवाएं।
  • जनरेट करने से पहले मूल्य जांचें — क्रेडिट लगाने से पहले वीडियो या अभिनेता के लिए निःशुल्क लागत अनुमान का अनुरोध करें।
  • सहेजे गए अभिनेताओं को प्रबंधित करें — मौजूदा अभिनेताओं की सूची देखें, उनकी डिफ़ॉल्ट नीतियों की समीक्षा करें, या जिनकी अब आवश्यकता नहीं है उन्हें हटाएं।
  • वीडियो और अभिनेता रन ट्रैक करें — किसी जनरेशन जॉब की स्थिति तब तक जांचें जब तक वह सफल या विफल न हो जाए, और अंतिम वीडियो URL प्राप्त करें।

दस्तावेज़

Clipwright API

एक HTTP API जो स्क्रिप्ट को लिप-सिंक किए गए UGC वीडियो में बदल देता है। इसे एजेंट द्वारा संचालित करने के लिए बनाया गया है: हर कॉल एक JSON अनुरोध है, हर अस्वीकृति बताती है कि आगे क्या करना है, और कुछ भी कहीं प्रकाशित नहीं होता है। इस पृष्ठ का हर शब्द https://clipwright.io/docs.md, पर एक मार्कडाउन फ़ाइल और एजेंटों के लिए https://clipwright.io/llms.txt. पर एक संक्षिप्त अनुबंध भी है।

प्रमाणीकरण

हर कॉल https://api.clipwright.io पर जाती है और कुंजी एक हेडर में रखती है:

Authorization: Bearer cw_your_key_here
  • कुंजियाँ cw_ से शुरू होती हैं और जारी होने पर केवल एक बार दिखाई जाती हैं। हम केवल एक डाइजेस्ट रखते हैं, इसलिए खोई हुई कुंजी बदल दी जाती है, कभी पुनर्प्राप्त नहीं होती।
  • https://app.clipwright.io/api-keys. पर डैशबोर्ड में कुंजियाँ जारी करें और रद्द करें। रद्दीकरण अगले अनुरोध पर प्रभावी होता है।
  • @clipwright/cli और @clipwright/mcp-server पर्यावरण चर CLIPWRIGHT_API_KEY से कुंजी पढ़ते हैं; @clipwright/sdk इसे एक तर्क के रूप में लेता है।
  • बिना कुंजी वाला, या रद्द की गई कुंजी वाला कॉल, कुछ भी शुल्क लगने से पहले 401 के साथ अस्वीकार कर दिया जाता है।

03

इसकी लागत क्या है

  • सादे स्क्रिप्ट से make_ugc: तैयार वीडियो के हर सेकंड के लिए 30 क्रेडिट, पूरे सेकंड तक बढ़ाया गया।
  • सेगमेंट या इंसर्ट के साथ make_ugc: चेहरे के स्क्रीन पर होने के हर सेकंड के लिए 10 क्रेडिट, और हमारे द्वारा दिए गए वीडियो पर कम से कम 400 क्रेडिट। बिना चेहरे वाले सेकंड की कोई लागत नहीं है, और जो रन कोई फ़ाइल नहीं देता उसकी कोई लागत नहीं है, भले ही विक्रेता को पहले ही भुगतान किया गया हो। चेहरे का समय पूरे वीडियो में जोड़ा जाता है और एक बार बढ़ाया जाता है, प्रति सेगमेंट नहीं। इन फ़ील्ड्स को तैनाती पर दीर्घ-रूप योग्यता की आवश्यकता होती है; जहाँ यह बंद है, वे किसी भी शुल्क से पहले नाम से अस्वीकार कर दिए जाते हैं।
  • मध्यम गुणवत्ता पर create_actor: पोर्ट्रेट के लिए 10 क्रेडिट और प्रत्येक अतिरिक्त प्रारूप के लिए 10।
  • उच्च गुणवत्ता पर create_actor: पोर्ट्रेट के लिए 20 क्रेडिट और प्रत्येक अतिरिक्त प्रारूप के लिए 20।
  • क्रेडिट पैक में खरीदे जाते हैं: $10.00 के लिए 1000 क्रेडिट, एक भुगतान, कोई सदस्यता नहीं।

खर्च करने से पहले पूछें: किसी भी कौशल का कोटेशन एंडपॉइंट कुछ भी शुल्क नहीं लेता। इसका उत्तर कितना मूल्यवान है यह कौशल के अनुसार भिन्न होता है।

  • make_ugc: कोटेशन स्क्रिप्ट के शब्दों से पढ़ा गया अनुमान है। शुल्क तैयार वीडियो में मापे गए अनुसार लिया जाता है — सादे-स्क्रिप्ट मीटर पर इसकी अवधि, चेहरे के मीटर पर इसके चेहरे के सेकंड — इसलिए बिल कोटेशन से ऊपर या नीचे हो सकता है।
  • create_actor: कोटेशन आपके द्वारा मांगे गए हर प्रारूप की कीमत देता है, जो आप अधिकतम भुगतान कर सकते हैं। आपसे पोर्ट्रेट और वास्तव में प्रकाशित वेरिएंट के लिए शुल्क लिया जाता है; जो प्रारूप नहीं निकला उसे warnings[] में नामित किया जाता है और उसकी कोई लागत नहीं होती।

असफल रन की लागत भी कौशल के अनुसार भिन्न होती है:

  • सादे स्क्रिप्ट से make_ugc: जो रन वितरण कार्य विक्रेता तक पहुँचने के बाद विफल हुआ, उस पर शुल्क लगता है। जो उससे पहले विफल हुआ उसकी कोई लागत नहीं है, और जिसे हमने रोका, खोया या स्वयं अस्वीकार किया, उसकी भी कोई लागत नहीं है, भले ही विक्रेता को पहले ही भुगतान किया गया हो। चेहरे के मीटर पर किसी भी विफलता पर शुल्क नहीं लगता।
  • create_actor: असफल रन की कोई लागत नहीं है, भले ही विक्रेता को पहले ही भुगतान किया गया हो, क्योंकि कोई अभिनेता आप तक नहीं पहुँचा।

04

एंडपॉइंट

एंडपॉइंटक्रेडिट की लागतयह क्या करता है
GET /healthनहींAPI की ही जीवंतता। बिना कुंजी के उत्तर देता है।
GET /v1/voicesनहींवे आवाज़ें जिन्हें आप voice या voice_id में नाम दे सकते हैं।
GET /v1/accountनहींकुंजी के पीछे खाते का शेष, ऋण और होल्ड।
POST /v1/skills/make_ugc/quoteनहींइस इनपुट के साथ make_ugc कॉल की कीमत लगाता है। कुछ भी शुल्क नहीं लेता।
GET /v1/runs/{id}नहींकिसी भी कौशल के एक रन की स्थिति, उसकी चेतावनियाँ और उसका वीडियो url।
POST /v1/skills/make_ugc/runहाँवीडियो रन शुरू करता है और तुरंत run_id के साथ उत्तर देता है। परिणाम के लिए रन को पोल करें।
GET /v1/public/skillsनहींकौशल और उनके इनपुट की सूची, बिना कुंजी के।
GET /v1/actorsनहींखाते पर सहेजे गए अभिनेता, उस id के साथ जो make_ugc लेता है।
DELETE /v1/actors/{id}नहींसहेजे गए अभिनेता को भूल जाता है। लाइव रन द्वारा उपयोग किया गया अभिनेता रखा जाता है।
GET /v1/actors/{id}/defaultsनहींसहेजे गए अभिनेता की इंसर्ट में लोगों के लिए डिफ़ॉल्ट नीति पढ़ता है।
POST /v1/actors/{id}/defaultsनहींसहेजे गए अभिनेता की इंसर्ट में लोगों के लिए डिफ़ॉल्ट नीति सेट करता है। एक रन इसे ओवरराइड कर सकता है।
POST /v1/skills/create_actor/quoteनहींइस इनपुट के साथ create_actor कॉल की कीमत लगाता है। कुछ भी शुल्क नहीं लेता।
POST /v1/skills/create_actor/runहाँअभिनेता रन शुरू करता है और तुरंत run_id के साथ उत्तर देता है। परिणाम के लिए रन को पोल करें।
POST /v1/uploadsनहींछवि बाइट्स लेता है और https url लौटाता है जिसे make_ugc और create_actor स्वीकार करते हैं।

किसी भी कौशल का रन उसी स्थान से पढ़ा जाता है, GET /v1/runs/{id}, और इन अवस्थाओं से गुजरता है: queued, generating, scripting, tts, avatar, compositing, uploading, succeeded, failed।

05

कौशल और उनका इनपुट

make_ugc। लिप-सिंक किए गए UGC वीडियो का निर्माण शुरू करें। चयनित भाषण मॉडल की पाठ सीमा के भीतर एक स्क्रिप्ट दें; अभिनेता actor_id (list_actors से सहेजा गया अभिनेता) या image से आता है, अन्यथा डिफ़ॉल्ट अभिनेता का उपयोग किया जाता है। प्रारूप और रिज़ॉल्यूशन अनुरोध और स्रोत का पालन करते हैं, डिफ़ॉल्ट 1080x1920 है। कैप्शन OPT-IN हैं: पहले उपयोगकर्ता से पूछें। रेंडरर द्वारा अभी तक सम्मानित नहीं किए गए फ़ील्ड अपने विवरण में NOT HONORED YET नोट रखते हैं — अनुमान लगाने के बजाय इसे पढ़ें।

निर्माण से पहले quote_ugc को कॉल करें और लागत दिखाएं। यह वीडियो की प्रतीक्षा नहीं करता: यह रन शुरू करता है और तुरंत run_id लौटाता है। फिर आपको उस run_id के साथ get_run को पोल करना चाहिए जब तक कि स्थिति 'succeeded' (video_url) या 'failed' न हो। एक 'failed' रन जिसका भुगतान किया गया विक्रेता कार्य हम अभी भी रखते हैं, वह 'queued' पर वापस जा सकता है और बाद में 'succeeded' तक पहुँच सकता है; जब भी ऐसा होता है, इसे warnings[] में नामित किया जाता है। उसी इनपुट के लिए जानबूझकर एक नया रन शुरू करने के लिए attempt=2,3,… पास करें (विफलता के बाद पुनः प्रयास)।

फ़ील्डआवश्यकइसका क्या अर्थ है
scriptवैकल्पिकअभिनेता जो शब्द कहता है; आवश्यक है जब तक कि segments बोले गए पाठ की आपूर्ति न करे। सेगमेंट और पाठ-एंकर इंसर्ट के लिए सर्वर पर दीर्घ-रूप योग्यता की आवश्यकता होती है। भाषण मॉडल द्वारा स्क्रिप्ट सीमाएँ: eleven_v3: 5000 वर्ण; eleven_flash_v2_5: 10000 वर्ण; eleven_turbo_v2_5: 10000 वर्ण। गणना में रिक्त स्थान, ऑडियो टैग और तनाव चिह्न शामिल हैं; इमोजी दो वर्णों के रूप में गिने जा सकते हैं। कोई शब्द-गणना सीमा नहीं है। अवधि और मूल्य मापे जाने तक अनुमान हैं। रूसी तनाव: तनावग्रस्त स्वर को लोअरकेस शब्द के अंदर कैपिटल के रूप में लिखें ("потОм", "зАмок") और eleven_v3 इसे तनाव चिह्न U+0301 ("пото́м") के रूप में प्राप्त करता है; सीधे टाइप किया गया चिह्न रखा जाता है। शब्द की शुरुआत में कैपिटल कैपिटल रहता है, और दूसरे कैपिटल या अंदर कैपिटल व्यंजन वाला शब्द (सभी कैप्स, "ВУЗы") जैसा है वैसा छोड़ दिया जाता है। शब्द के अंदर एक एकल कैपिटल स्वर हमेशा तनाव के रूप में पढ़ा जाता है, इसलिए "Яндекс Еда" लिखें, "ЯндексЕда" नहीं। रूसी में लिखने वाले उपयोगकर्ताओं को बताएं कि वे इस तरह तनाव चिह्नित कर सकते हैं। eleven_flash_v2_5 और eleven_turbo_v2_5 कम खर्चीले हैं लेकिन तनाव चिह्नों को गलत पढ़ते हैं: कैपिटल उन तक अपरिवर्तित पहुँचते हैं।
segmentsवैकल्पिकक्रमबद्ध अभिनेता और छवि सेगमेंट; सर्वर पर दीर्घ-रूप योग्यता, captions=false और 1080p की आवश्यकता होती है। छवि मीडिया के लिए स्पष्ट broll_policy=anyone की आवश्यकता होती है।
insertsवैकल्पिकपूर्ण कथन पर पाठ-एंकर छवि इंसर्ट, प्रत्येक अपने एंकर से cover_words बोले गए शब्दों को कवर करता है; सर्वर पर दीर्घ-रूप योग्यता, captions=false, 1080p और स्पष्ट broll_policy=anyone की आवश्यकता होती है।
personवैकल्पिकNOT HONORED YET: person अभी तक सम्मानित नहीं है: यह अनुरोध डिफ़ॉल्ट अभिनेता का उपयोग करता है; list_actors से actor_id चुनें या अलग चेहरा चुनने के लिए image प्रदान करें
actor_idवैकल्पिकlist_actors से सहेजा गया Clipwright अभिनेता ID। actor_id, image, या person चुनें; उन्हें संयोजित न करें। voice या voice_id के बिना आवाज़ अभिनेता के लिंग का अनुसरण करती है। actor_gender के साथ संयोजित न करें।
imageवैकल्पिकअभिनेता की फोटो का सार्वजनिक https url (PNG, JPEG या WebP, 10 MB तक)। डिस्क पर फ़ाइल पहले upload_image (POST /v1/uploads) से गुजरती है — यह जो url लौटाता है उसे पास करें। जिस स्रोत का हम उपयोग नहीं कर सकते — निजी या लूपबैक होस्ट, http, अप्राप्य, पुनर्निर्देशित, 10 MB से अधिक, या उन छवि प्रकारों में से नहीं — किसी भी शुल्क से पहले अस्वीकार कर दिया जाता है (unusable_source)। हम चेहरे के लिंग का पता नहीं लगाते: actor_gender या voice पास करें, या डिफ़ॉल्ट पुरुष आवाज़ चेतावनी के साथ उपयोग की जाती है।
actor_genderवैकल्पिकimage में चेहरे का लिंग: female | male। केवल image के साथ: उस लिंग की डिफ़ॉल्ट आवाज़ चुनता है (female: sarah, male: george)। actor_id के साथ अस्वीकार (इसका लिंग ज्ञात है) और image के बिना। एक स्पष्ट voice या voice_id जीतता है और प्रतिक्रिया चेतावनी देती है कि actor_gender ने कुछ नहीं बदला।
nameवैकल्पिकNOT HONORED YET: name अभी तक सम्मानित नहीं है: यह रेंडरर तक नहीं पहुँचता
broll_policyवैकल्पिकSTORED ONLY: B-roll के लिए सहेजी गई नीति: anyone अभिनेता सहित लोगों की अनुमति देता है; no_actor अभिनेता को बाहर करता है; no_people सभी लोगों को बाहर करता है, हाथों सहित। सेगमेंटेड मीडिया निर्माण बंद है। यह सेटिंग केवल संग्रहीत है और अभिनेता-केवल वीडियो पर कोई प्रभाव नहीं डालती। रन ओवरराइड खाता अभिनेता डिफ़ॉल्ट पर जीतता है; अन्यथा no_people।
captionsवैकल्पिकNOT HONORED YET: captions अनुरोधित लेकिन इस प्रोटोटाइप (stage-B) में रेंडर नहीं किए गए
caption_styleवैकल्पिकNOT HONORED YET: caption_style सम्मानित नहीं है: इस प्रोटोटाइप (stage-B) में कैप्शन रेंडर नहीं किए गए हैं
lookवैकल्पिकNOT HONORED YET: look अभी तक सम्मानित नहीं है: यह रेंडरर तक नहीं पहुँचता
aspect_ratioवैकल्पिकआउटपुट प्रारूप: 9:16 | 1:1 | 16:9। छोड़ा गया मतलब 9:16 है, और दूसरे आकार का स्रोत चेतावनी के साथ 9:16 पर स्नैप किया जाता है — जब भी आप image पास करते हैं तो इसे स्पष्ट रूप से पास करें। अनुरोध और स्रोत के बीच 15% से अधिक का बेमेल किसी भी शुल्क से पहले अस्वीकार कर दिया जाता है (aspect_conflict)।
resolutionवैकल्पिकआउटपुट रिज़ॉल्यूशन: 720p | 1080p | 4k (छोटी भुजा 720 / 1080 / 2160 px)। छोड़ा गया मतलब 1080p है।
voiceवैकल्पिकlist_voices से आवाज़ का नाम। क्यूरेटेड प्रीसेट: owner_ru_clone | sarah | george | eric | daria_ru_female (owner_ru_clone रूसी क्लोन की गई आवाज़ है)। API उस नाम को अस्वीकार करता है जो list_voices किसी भी शुल्क से पहले नहीं लौटाता। छोड़ा गया मतलब अभिनेता के लिंग के लिए डिफ़ॉल्ट आवाज़ है: actor_id का लिंग, image के साथ actor_gender, या डिफ़ॉल्ट अभिनेता के लिए george और actor_gender के बिना image के लिए। voice_id के साथ परस्पर अनन्य।
voice_idवैकल्पिककैटलॉग के बाहर आवाज़ के लिए कच्चा विक्रेता आवाज़ id (16–32 अक्षर और अंक)। आलसी जाँच: अज्ञात id अनुरोध को नहीं, रन को विफल करता है। voice के साथ परस्पर अनन्य।
tts_modelवैकल्पिकभाषण मॉडल: eleven_v3 | eleven_flash_v2_5 | eleven_turbo_v2_5। छोड़ा गया मतलब चुने गए प्रीसेट का मॉडल (list_voices इसे दिखाता है; हर प्रीसेट eleven_v3 बोलता है) या कच्चे voice_id के लिए eleven_v3। eleven_v3 सबसे अभिव्यंजक है और केवल एक जो तनाव चिह्न पढ़ता है (रूसी शब्द के अंदर एक कैपिटल स्वर, "потОм", एक बन जाता है; script देखें); eleven_flash_v2_5 और eleven_turbo_v2_5 रूसी के अलावा अन्य भाषाओं के लिए सस्ते विकल्प हैं। भाषण मॉडल द्वारा स्क्रिप्ट सीमाएँ: eleven_v3: 5000 वर्ण; eleven_flash_v2_5: 10000 वर्ण; eleven_turbo_v2_5: 10000 वर्ण। गणना में रिक्त स्थान, ऑडियो टैग और तनाव चिह्न शामिल हैं; इमोजी दो वर्णों के रूप में गिने जा सकते हैं। कोई शब्द-गणना सीमा नहीं है। अवधि और मूल्य मापे जाने तक अनुमान हैं।
disclosure_overlayवैकल्पिकस्वीकृत मान: true | false।
backgroundवैकल्पिकस्वीकृत मान: white | blur | contain।

create_actor। एक काल्पनिक वयस्क का वर्णन करने वाले शब्दों से इस खाते के लिए एक व्यक्तिगत अभिनेता बनाएं: बिल्कुल एक चेहरे वाला 9:16 पोर्ट्रेट, साथ ही उससे संपादित अन्य अनुरोधित प्रारूप। तुरंत एक run_id लौटाता है; get_run को 'succeeded' (created_actor.actor_id, फिर इसे make_ugc को actor_id के रूप में पास करें) या 'failed' तक पोल करें। प्रत्येक प्रकाशित छवि पर कोटेशन दिखाए गए मूल्य पर शुल्क लगता है; अस्वीकृत विवरण और अनुपयोगी पोर्ट्रेट की कोई लागत नहीं है। जब निर्माण बंद होता है तो कॉल actor_generation_disabled के साथ विफल हो जाता है।

फ़ील्डआवश्यकइसका अर्थ
descriptionआवश्यकएक काल्पनिक वयस्क का वर्णन करने वाले शब्द: रूप, कपड़े, सेटिंग। किसी वास्तविक व्यक्ति या उससे मिलती-जुलती शक्ल का नाम लेना किसी भी शुल्क से पहले अस्वीकार कर दिया जाता है (actor_prompt_refused)।
genderआवश्यकfemale | male। अभिनेता का लिंग और इस अभिनेता वाले वीडियो की डिफ़ॉल्ट आवाज़ तय करता है।
approximate_ageआवश्यकवर्षों में अनुमानित आयु, 18 से 90: अभिनेता वयस्क हैं।
nameआवश्यकlist_actors में दिखाया गया नाम।
aspect_ratiosवैकल्पिकबनाने के लिए प्रारूप: 9:16 | 1:1 | 16:9, हमेशा 9:16 शामिल करें। छोड़े जाने पर तीनों का मतलब है। पहचान जांच में विफल होने वाले प्रारूपों पर शुल्क नहीं लगता और उन्हें चेतावनियों में नामित किया जाता है।
qualityवैकल्पिकछवि गुणवत्ता: medium | high। छोड़े जाने पर medium का मतलब है। प्रति छवि मूल्य इस पर निर्भर करता है; कोटेशन किसी भी शुल्क से पहले इसे दिखाता है।

आउटपुट प्रारूप अनुरोध और स्रोत का पालन करता है। समर्थित प्रारूप 9:16, 1:1, 16:9 और रिज़ॉल्यूशन 720p, 1080p, 4k हैं; चुप्पी का मतलब 9:16 में 1080p है।

06

रन शुरू करना

एक भुगतान कॉल में कुंजी के अलावा एक हेडर होता है: Idempotency-Key। POST /v1/skills/make_ugc/run और POST /v1/skills/create_actor/run इसे आवश्यक बनाते हैं, और इसके बिना एक कॉल को किसी भी चीज़ पर शुल्क लगने से पहले 400 idempotency_key_required के साथ अस्वीकार कर दिया जाता है।

  • आप कुंजी चुनते हैं, और यह एकमात्र चीज़ है जो पुनः प्रयास को दूसरे ऑर्डर से अलग बताती है। कोई भी अद्वितीय स्ट्रिंग काम करेगी; इसे तब तक रखें जब तक आप कॉल फिर से भेज सकते हैं।
  • समान बॉडी के साथ समान कुंजी उस रन को लौटाती है जो पहले ही शुरू हो चुका है और दूसरी बार कुछ भी शुल्क नहीं लेती। यही सामान्य पुनः प्रयास को सुरक्षित बनाता है।
  • अलग बॉडी के साथ समान कुंजी को 409 idempotency_key_reused के साथ अस्वीकार कर दिया जाता है। पहले से खर्च की गई कुंजी के तहत अनुरोध को संपादित करने के बजाय नए अनुरोध के लिए नई कुंजी लें।
  • समान इनपुट पर जानबूझकर नया रन शुरू करने के लिए — विफलता के बाद पुनः प्रयास — नई कुंजी भेजें। जिस रन के लिए आप पहले ही भुगतान कर चुके हैं वह वहीं रहता है।
  • @clipwright/sdk और @clipwright/mcp-server क्लाइंट और इनपुट से आपके लिए कुंजी बनाते हैं, और attempt=2, 3 … को नई कुंजी में बदल देते हैं। सादे HTTP पर कुंजी चुनना आपका काम है।

07

जब कॉल विफल हो जाती है

हर अस्वीकृति में कोड और संदेश के साथ एक त्रुटि ऑब्जेक्ट होता है। इसके साथ क्या करना है यह अस्वीकृति के प्रकार से निर्धारित होता है, पाठ से नहीं:

अस्वीकृतिHTTPवही कॉल दोहराएं?क्या करें
rate_limited429हाँ, प्रतीक्षा के बादबैक प्रेशर, त्रुटि नहीं: प्रतिक्रिया प्रतीक्षा के सेकंड बताती है, Retry-After और बॉडी में।
server_error500, 502, 503हाँ, प्रतीक्षा के बादविफलता सर्वर पक्ष पर है। नई idempotency कुंजी के साथ दूसरा रन शुरू न करें: वही कॉल पुनः प्रयास है।
insufficient_credits402नहीं, यह वही उत्तर देता हैरुकें और व्यक्ति को शेष राशि और मूल्य बताएं; दोनों बॉडी में हैं। दोहराने से दोनों में से कोई भी नहीं बदल सकता।
debt_outstanding402नहीं, यह वही उत्तर देता हैरुकें। क्रेडिट खरीदने से कर्ज शेष राशि तक पहुंचने से पहले साफ हो जाता है, और यह ब्लॉक हटा देता है।
not_admitted403नहीं, यह वही उत्तर देता हैरुकें। खाते के पास बीटा एक्सेस नहीं है; न तो पुनः प्रयास और न ही खरीदारी इसे बदलती है। ऑपरेटर से पूछें।
client_error400, 401, 404, 409, 413, 415नहीं, यह वही उत्तर देता हैरुकें। अनुरोध स्वयं अस्वीकार कर दिया गया था: संदेश पढ़ें, कॉल ठीक करें, फिर इसे फिर से भेजें।

ये सभी कोड हैं जो API error.code में डालता है। एक कोड जो आपने पहले नहीं देखा है वह अभी भी ऊपर अपनी पंक्ति का पालन करता है, क्योंकि पंक्ति स्थिति द्वारा चुनी जाती है:

  • account_not_admitted
  • actor_creation_limited
  • actor_format_unavailable
  • actor_generation_disabled
  • actor_in_use
  • actor_storage_unavailable
  • actor_unavailable
  • aspect_conflict
  • debt_outstanding
  • idempotency_key_required
  • idempotency_key_reused
  • insufficient_credits
  • internal_error
  • invalid_image
  • invalid_request
  • malformed_body
  • not_found
  • paid_render_disabled
  • payload_too_large
  • rate_limited
  • rejected_field
  • script_encoding_lost
  • unauthorized
  • unknown_field
  • unsupported_media_type
  • unusable_source
  • upload_cap_exceeded
  • upstream_error

08

सीमाएं

  • प्रति 60 सेकंड में 60 भुगतान अनुरोध और 300 मुफ्त। विंडो प्रति खाते की गिनती की जाती है, प्रति कुंजी नहीं, इसलिए अतिरिक्त कुंजियां अतिरिक्त थ्रूपुट नहीं खरीदतीं।
  • प्रति खाते एक बार में 3 रेंडर चलते हैं; बाकी कतार में लगते हैं और अस्वीकार नहीं होते।
  • दर सीमा द्वारा अस्वीकृति Retry-After और बॉडी में प्रतीक्षा के सेकंड बताती है। दोनों में से बड़े का सम्मान करें।
  • प्रति क्लिप 49 इंसर्ट, और उनके बीच अभिनेता के अधिकतम 6 दिखावे। दोनों आपके द्वारा भेजे गए शब्द सूचकांकों से गिने जाते हैं, इसलिए एक इनपुट जो अधिक मांगता है उसे किसी भी चीज़ के भुगतान से पहले अस्वीकार कर दिया जाता है।
  • cover_words बताता है कि एक इंसर्ट कितने बोले गए शब्दों को कवर करता है, इसके एंकर के पहले शब्द से गिना जाता है। इंसर्ट वहीं समाप्त होता है जहां पहला अछूता शब्द शुरू होता है, इसलिए दो इंसर्ट जिनका कवरेज मिलता है वे सन्निहित होते हैं और उनके बीच कोई अभिनेता शॉट नहीं छोड़ते।
  • जिन शब्दों को आप अछूता छोड़ते हैं उनका हिस्सा क्लिप का वह हिस्सा तय करता है जो चेहरा दिखाता है, और यह आवाज़ की गति के साथ नहीं चलता। शब्द की लंबाई भिन्न होती है: 560-शब्द स्क्रिप्ट पर, 19% मांगने पर नौ सौ सत्तानवे में से एक हज़ार सिम्युलेटेड रन में 16 से 22 मिला, और पचास हज़ार में 15 से 24 के भीतर रहा। वे संख्याएं इस प्रोफ़ाइल की आवाज़ पर और उस लंबाई पर मापी गई थीं; एक छोटी स्क्रिप्ट अधिक बिखरती है, और एक अलग आवाज़ उन्हें बदल देती है।
  • दो एकल-शब्द विकल्प मूल्य बदलते हैं, केवल रूप नहीं। शब्द 0 पर एंकर किया गया इंसर्ट पहले शब्द से पहले की चुप्पी का मालिक है; शब्द 1 पर एंकर किया गया यह अभिनेता का एक अतिरिक्त दिखावा छोड़ता है, और हर दिखावा एक अलग भुगतान कार्य है। अंतिम शब्द तक पहुंचने वाला कवरेज क्लिप को उसके अंत तक ले जाता है और समापन दिखावे को उसी तरह हटा देता है।
  • एक कोटेशन हिस्से को estimatedFaceWordShare के रूप में रिपोर्ट करता है। उस फ़ील्ड को पढ़ें; estimatedFaceSeconds को estimatedTotalDurationSec से विभाजित न करें। वे दो अलग-अलग प्रश्नों का उत्तर देते हैं — पहला वह आरक्षित है जो हम बोलने की सीमा के धीमे छोर पर रखते हैं, दूसरा यह है कि क्लिप कितनी देर चलने की उम्मीद है — और उनका अनुपात किसी भी चीज़ का हिस्सा नहीं है।

09

यह API कभी नहीं करेगा

  • कुछ भी प्रकाशित करना। हम एक फ़ाइल और एक हस्ताक्षरित लिंक लौटाते हैं; यह कहां जाता है यह आपको तय करना है।
  • शुरू किए गए रन को रद्द करना। इसके लिए कोई एंडपॉइंट नहीं है: एक बार विक्रेता के पास काम हो जाने पर, हमारी ओर से इसे रोकना इसे खर्च नहीं करेगा।
  • इन फ़ील्ड्स को स्वीकार करना: character, broll_url, webhook_url। इन्हें किसी भी शुल्क से पहले नाम से अस्वीकार कर दिया जाता है, स्वीकार करके चुपचाप अनदेखा नहीं किया जाता।
  • आपके द्वारा मांगे गए प्रारूप या रिज़ॉल्यूशन को बिना बताए बदलना। एक बेमेल या तो चेतावनी के साथ स्नैप किया जाता है या भुगतान कॉल से पहले अस्वीकार कर दिया जाता है।
  • आपको वापस कॉल करना। कोई वेबहुक नहीं हैं: GET /v1/runs/{id} के साथ रन पढ़ें।
  • कुंजी को दूसरी बार दिखाना, या बैकअप से एक को पुनर्प्राप्त करना।

10

जानने योग्य अन्य बातें

  • चेतावनियां, चुप्पी नहीं। जो कुछ भी हम सम्मान नहीं कर सके वह उसी रन पर warnings[] में वापस आता है, नामित। एक पैरामीटर कभी भी उसके बारे में एक पंक्ति के बिना गायब नहीं होता।
  • एक MCP सर्वर। @clipwright/mcp-server समान अनुबंध को टूल के रूप में उजागर करता है, और इसका tools/list इस पृष्ठ का मशीन-पठनीय रूप है।