संक्षिप्त उत्तर
image gen api openai वाक्यांश दो अलग-अलग चीज़ों को संदर्भित कर सकता है, और उन्हें अलग करना मददगार है। एक ओपनएआई की अपनी इमेज जनरेशन सेवा है, जो ओपनएआई की संपत्ति है और जिस तक आप ओपनएआई खाते से पहुँच सकते हैं। दूसरी हर वह सेवा है जो ओपनएआई अनुरूप प्रारूप की नक़ल करती है ताकि मौजूदा SDK और टूल काम करते रहें। यह साइट दूसरी श्रेणी की है, और केवल टेक्स्ट के लिए।
यहाँ आपको एक होस्टेड, बिना सेंसर टेक्स्ट LLM API मिलता है। आप एक ओपनएआई क्लाइंट को नीचे दिए गए बेस URL पर पॉइंट करते हैं, मॉडल को uncensored पर सेट करते हैं, और चैट पूर्णताएँ प्राप्त करते हैं। कोई पिक्सेल वापस नहीं आते। कोई इमेज, ऑडियो या वीडियो जनरेशन नहीं, कोई एम्बेडिंग नहीं और कोई फाइन-ट्यून नहीं है, और न ही इन पृष्ठों पर वर्णित किसी भाग के रूप में इनकी योजना है।
क्या संगत है और क्या नहीं
"संगत" शब्द मार्केटिंग में बढ़ा-चढ़ाकर इस्तेमाल किया जाता है, इसलिए यहाँ सटीक दायरा है। बेस URL https://api.imagegenapi.com/v1 है, प्रमाणीकरण Authorization: Bearer <key> है, और दो विधियाँ मौजूद हैं।
| एंडपॉइंट | यहाँ उपलब्ध | नोट्स |
|---|---|---|
POST /v1/chat/completions | हाँ | स्ट्रीमिंग, टूल कॉलिंग, JSON मोड |
GET /v1/models | हाँ | uncensored सूचीबद्ध |
| इमेज जनरेशन एंडपॉइंट | नहीं | केवल टेक्स्ट सेवा |
| एम्बेडिंग, ऑडियो, फाइन-ट्यून | नहीं | पेश नहीं किया गया |
यदि आपका कोड इस बेस URL पर इमेज पाथ को कॉल करता है, तो एक त्रुटि की उम्मीद करें, न कि एक तस्वीर। ऊपर बताई गई दो विधियों के बाहर किसी भी ओपनएआई फीचर के लिए भी यही बात लागू होती है। आपके परिचित सैंपलिंग नियंत्रण काम करते हैं: temperature, top_p, stop, seed और पेनल्टी पास की जाती हैं, और एक प्रतिक्रिया प्रॉम्प्ट और पूर्णता के बीच साझा 100,000-टोकन विंडो का पूरा उपयोग कर सकती है।
पहचान के बारे में स्पष्ट होना भी महत्वपूर्ण है। uncensored के पीछे का मॉडल एक अकेला ओपन-वेट मॉडल है, जिसे एक स्वतंत्र प्रदाता चलाता है। यह ओपनएआई की API नहीं है, यह ओपनएआई मॉडल को प्रॉक्सी नहीं करता है, और इसका ओपनएआई से कोई संबंध नहीं है। इस साइट का संबंधित पेज, GPT image API and uncensored text, इमेज-मॉडल नामों के कोण से उसी अंतर को कवर करता है।
यह सवाल क्यों आता है
लोग समझ में आने वाले कारणों से ऐसे पेज पर आते हैं। इमेज टूल्स टेक्स्ट प्रॉम्प्ट्स से चलते हैं, टेक्स्ट प्रॉम्प्ट्स लैंगुएज मॉडल्स द्वारा लिखे जाते हैं, और कई लैंगुएज मॉडल गेटवे एक ही अनुरोध प्रारूप साझा करते हैं। प्राकृतिक अनुमान यह है कि एक API दोनों करता है।
व्यावहारिक रूप से, दोनों काम अलग-अलग सिस्टम हैं, जिनकी अलग कुंजियाँ, अलग मूल्य निर्धारण और अलग नियम हैं। एक इमेज सेवा एक प्रॉम्प्ट लेती है और एक इमेज देती है। एक टेक्स्ट सेवा संदेश लेती है और और टेक्स्ट देती है। उनके बीच का लिंक आप हैं, या आपका लिखा हुआ स्क्रिप्ट, जो टेक्स्ट को एक से दूसरे तक ले जाता है। एक बार जब आप इसे इस तरह देख लेते हैं, तो उपयोगी सवाल "क्या यह API इमेज बनाती है" से बदलकर "क्या यह API उस इमेज मॉडल के लिए बेहतर प्रॉम्प्ट लिख सकती है जिसका मैं उपयोग करता हूँ" हो जाता है।
यह एक वास्तविक उपयोग मामला है, और एक ऐसा स्थान जहाँ एक बिना सेंसर टेक्स्ट मॉडल मायने रख सकता है। सामान्य-उद्देश्य वाले सहायक अक्सर वयस्क कथा-साहित्य की थीम, कहानी के सेटिंग में हिंसा या डार्क एस्थेटिक्स को छूने वाले प्रॉम्प्ट अनुरोधों को फिर से लिखते हैं, नरम करते हैं या अस्वीकार कर देते हैं। एक ऐसा मॉडल जो बिना इनकार किए वैध वयस्क अनुरोधों का उत्तर देने के लिए ट्यून किया गया है, आमतौर पर लिखने के कार्य को पूछे गए अनुसार करेगा। कठोर सीमा बनाए रखी जाती है: किसी भी फ्रेमिंग के तहत नाबालिगों से जुड़ी यौन सामग्री नहीं।
इमेज प्रॉम्प्ट लिखने के लिए टेक्स्ट API का उपयोग
यहाँ एक छोटा, काम करने वाला उदाहरण है। यह मॉडल से एक विस्तृत प्रॉम्प्ट माँगता है, जिसे आप बाद में किसी भी इमेज जनरेटर में पेस्ट करते हैं। कोड इस बेस URL के खिलाफ आधिकारिक ओपनएआई Python SDK का उपयोग करता है।
from openai import OpenAI
client = OpenAI(base_url="https://api.imagegenapi.com/v1", api_key="YOUR_KEY")
reply = client.chat.completions.create(
model="uncensored",
temperature=0.8,
messages=[
{"role": "system", "content": "You write prompts for text-to-image models. Reply with one paragraph: subject, composition, lighting, palette, lens or style. No preamble."},
{"role": "user", "content": "A ruined lighthouse at dusk for a dark fantasy book cover."},
],
)
print(reply.choices[0].message.content)
कमांड लाइन से वही कॉल:
curl https://api.imagegenapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Write a one-paragraph image prompt: a ruined lighthouse at dusk, dark fantasy cover art."}]}'
आउटपुट को उपयोगी बनाना
इमेज जनरेटर अलग-अलग इनपुट स्वीकार करते हैं, इसलिए सिस्टम मेसेज से परिणाम को आकार दें। एक निश्चित संरचना, शब्द सीमा और किन चीज़ों से बचने की सूची माँगें। यदि आपको प्रॉम्प्ट को पाइपलाइन के अंदर रखना है, तो response_format को type json_object पर सेट करें और prompt और negative जैसे keys माँगें। फिर उसे parse करें और fields को अपने इमेज क्लाइंट को पास करें। seed सेट करने और कम temperature का उपयोग करने से wording पर iterate करते समय अधिक दोहराने योग्य आउटपुट मिलता है।
वास्तविक संख्याओं के साथ एक बैच वर्कफ़्लो
मान लीजिए कि आप 1,000 सीन्स के लिए प्रॉम्प्ट जनरेट कर रहे हैं। प्रत्येक अनुरोध लगभग 300 टोकन भेजता है (निर्देश और एक छोटा सीन नोट) और लगभग 200 टोकन का प्रॉम्प्ट प्राप्त करता है। मूल्य निर्धारण $0.15 प्रति 1M इनपुट टोकन और $0.50 प्रति 1M आउटपुट टोकन है।
- एक अनुरोध, इनपुट: 300 / 1,000,000 x $0.15 = $0.000045।
- एक अनुरोध, आउटपुट: 200 / 1,000,000 x $0.50 = $0.0001।
- कुल एक अनुरोध: $0.000145।
- 1,000 अनुरोध: 1,000 x $0.000145 = $0.145।
तो हज़ार प्रॉम्प्ट्स की लागत लगभग 14.5 सेंट आती है, और टेक्स्ट स्टेप आमतौर पर इमेज जनरेशन की तुलना में बिल का एक छोटा हिस्सा होता है, जिसकी कीमत आपको उस प्रोवाइडर से जांचनी चाहिए। एक पूर्ण कुंजी 8 समानांतर अनुरोधों और प्रति मिनट 300 अनुरोधों की अनुमति देती है, इसलिए 1,000 अनुरोध एक छोटे वर्कर पूल के साथ कुछ मिनटों में फिट हो जाते हैं। HTTP 429 को हैंडल करने के लिए प्रतीक्षा करें; Retry-After: 5 हेडर आपको अस्थायी ओवरलोड पर बताता है कि कितनी देर प्रतीक्षा करनी है।
आप बिना भुगतान किए इसका परीक्षण कर सकते हैं। साइन-अप के बाद, API कुंजी पेज पर एक क्लिक से $0.50 का मुफ़्त ट्रायल क्रेडिट मिलता है, जो 7 दिनों के लिए मान्य है। दीर्घकालिक रूप से, टॉप-अप $20 से $500 तक होते हैं और क्रिप्टो (TRC20 पर USDT या Base पर USDC) में भुगतान किए जाते हैं; बोनस स्तरों के लिए मूल्य निर्धारण देखें।
जिन गलतियों से बचें
जब कोई इमेज वर्क के लिए OpenAI-शैली के एंडपॉइंट का उपयोग करने का प्रयास करता है, तो कुछ त्रुटियां बार-बार सामने आती हैं।
- एक इमेज path कॉल करना और एक तस्वीर की उम्मीद करना। केवल दो प्रलेखित विधियाँ यहाँ मौजूद हैं। रेट्राई करने के बजाय एरर बॉडी की जाँच करें, क्योंकि रेट्राई से परिणाम नहीं बदलेगा।
- टेक्स्ट मॉडल से "ड्रॉ" करने के लिए कहना। यह ASCII आर्ट, विवरण या माफ़ी के साथ जवाब दे सकता है। यदि आपको तस्वीर चाहिए, तो उस प्रॉम्प्ट को वास्तविक इमेज जनरेटर में भेजें।
- मॉडल लिस्ट को छोड़ देना। एक तेज़
GET /v1/modelscall इस बात की पुष्टि करता है कि कुंजी काम कर रही है और एकमात्र मॉडलuncensoredहै। इसकी कोई लागत नहीं है। - 429 responses को नज़रअंदाज़ करना। ट्रायल कुंजी 2 एक साथ चलने वाले अनुरोधों की अनुमति देती है, इसलिए दस वर्कर्स वाला लूप जल्दी फेल हो जाएगा। वर्कर काउंट को कैप करें या एक छोटा wait जोड़ें।
- बहुत बड़ी बॉडी भेजना। प्रति अनुरोध 8 MB की सीमा है। प्रॉम्प्ट-लेखन कॉल छोटी होती हैं, इसलिए यह दुर्लभ है, लेकिन पेस्ट किए गए दस्तावेज़ इसे छू सकते हैं।
इनमें से कोई भी ठीक करना मुश्किल नहीं है, और सबसे तेज़ इलाज एक दस-लाइन टेस्ट स्क्रिप्ट है जिसे आपको किसी बड़े टूल में कनेक्ट करने से पहले चलाना चाहिए।
जब कोई अन्य सेवा बेहतर फिट हो
चयन के बारे में व्यावहारिक रहें। यदि आपको तस्वीर की आवश्यकता है, तो आपको एक इमेज प्रोवाइडर चाहिए, और OpenAI कई में से एक है; विवरण के लिए इसके वर्तमान दस्तावेज़ीकरण और मूल्य निर्धारण पर नज़र रखें। यदि आपका एकमात्र लक्ष्य मुख्यधारा की शैली में एक स्वच्छ प्रॉम्प्ट है, तो एक सामान्य असिस्टेंट पर्याप्त हो सकता है और आपको इस सेवा की आवश्यकता नहीं होगी।
यह API बेहतर विकल्प है जब टेक्स्ट स्टेप अड़चन (bottleneck) बन जाए: आपका असिस्टेंट प्रॉम्प्ट अनुरोधों को अस्वीकार कर देता है या कमजोर कर देता है, आपको एक अनुमान योग्य प्रति-टोकन कीमत पर प्रॉम्प्ट्स की बड़ी मात्रा चाहिए, या आप बिना क्लाइंट कोड बदले फिक्शन, रोलप्ले और वैध वयस्क उपयोग के लिए कंपैनियन टूल्स हेतु OpenAI-संगत एंडपॉइंट चाहते हैं। पूर्ण पैरामीटर विवरण के लिए दस्तावेज़ीकरण में अनुरोध प्रारूप और एरर कोड हैं।
एक और व्यावहारिक नोट: इस API को भेजे गए प्रॉम्प्ट्स को ट्रेनिंग के लिए उपयोग नहीं किया जाता है। फिर भी, किसी भी होस्टेड सेवा को अपनी मशीन के बाहर मानें और उन सीक्रेट्स को न भेजें जिन्हें आप वेब फॉर्म में पेस्ट नहीं करेंगे।
