API Hop

दस्तावेज़

API Hop दस्तावेज़

सामान्य Chat Completions

model पैरामीटर से टेक्स्ट मॉडल बदलने वाला एकीकृत चैट API। अनुरोध प्रारूप OpenAI Chat Completions के संगत है।

POSThttps://api.apihop.ai/v1/chat-completions

model पैरामीटर से टेक्स्ट मॉडल बदलने वाला एकीकृत चैट API। अनुरोध प्रारूप OpenAI Chat Completions के संगत है।

अपस्ट्रीम प्रदाता Claude Sonnet 4.6 (claude-sonnet-4-6) समर्थित करता है, लेकिन यह फिलहाल API Hop पर प्रकाशित नहीं है। यह सक्रिय एकीकरण डिफ़ॉल्ट नहीं है। कोई भी मॉडल कॉल करने से पहले अपने GET https://api.apihop.ai/v1/models उत्तर से पहुँच पुष्टि करें।

यह एंडपॉइंट डिफ़ॉल्ट रूप से एक पूरा JSON उत्तर देता है। SSE स्ट्रीमिंग चाहिए तो स्पष्ट रूप से stream: true सेट करें।

text
POST https://api.apihop.ai/v1/chat-completions

प्रमाणीकरण

सभी अनुरोधों में Bearer Token प्रमाणीकरण आवश्यक है।

http
Authorization: Bearer YOUR_API_KEY

प्रमाणीकरण विफल हो तो जाँचें:

  • API कुंजी सही है या नहीं
  • कुंजी इस API Base URL के लिए वैध है या नहीं
  • अनुरोध हेडर की वर्तनी सही है या नहीं
  • प्रॉक्सी authorization हेडर बदलती है या नहीं

अनुरोध बॉडी

modelstringआवश्यकडिफ़ॉल्ट: gpt-5.4

दस्तावेज़ीकृत टेक्स्ट मॉडल ID (GET https://api.apihop.ai/v1/models से पहुँच पुष्टि करें):

  • OpenAI: gpt-5.4, gpt-5.5, gpt-5.6-sol, gpt-5.6-terra, gpt-6-astra
  • Anthropic: claude-fable-5, claude-fable-5-1, claude-opus-4-6, claude-opus-4-7, claude-opus-4-8, claude-opus-5, claude-opus-5-5, claude-sonnet-5, claude-sonnet-5-5
  • DeepSeek: deepseek-v4-flash, deepseek-v4-pro, deepseek-v4.1-flash

(V4.1 Flash अलग मॉडल ID है, केवल डिप्लॉयमेंट और चालू करने के बाद उपलब्ध; GET https://api.apihop.ai/v1/models जाँचें)।

  • Gemini: gemini-3.6-flash, gemini-3.7-flash, gemini-3.8-flash, gemini-3.5-flash-lite, gemini-4-argon (डिप्लॉयमेंट और चालू करने के बाद)
  • Kimi: kimi-k3
  • MiniMax: minimax-m3

पूरी सूची और वर्तमान API कुंजी को दिखने वाले मॉडल के लिए मॉडल कैटलॉग देखें। उपलब्धता का मौजूदा स्रोत अपना GET https://api.apihop.ai/v1/models उत्तर मानें। परिवार-विशिष्ट चयन जानकारी और उदाहरणों के लिए DeepSeek, Gemini, Kimi और MiniMax गाइड देखें।

messagesobject[]आवश्यक

चैट संदेश। हर संदेश में होना चाहिए:

  • role: system, user या assistant
  • content: संदेश सामग्री

उदाहरण:

json
  [
    {"role": "system", "content": "You are a helpful Python tutor."},
    {"role": "user", "content": "How should I learn programming?"}
  ]

मॉडल-विशिष्ट सैंपलिंग सीमाएँ: gpt-6-astra पुराने temperature, top_p या top_logprobs स्वीकार नहीं करता; पुराना क्लाइंट उन्हें जोड़ता हो तब भी हटाएँ। API Hop का GPT-6 Astra Playground पुराने सैंपलिंग और पेनल्टी नियंत्रण भी छिपाता है। दर्ज एकीकरण पुनःजाँच में claude-sonnet-5 ने top_p अस्वीकार किया, इसलिए उस मॉडल में भी उसे छोड़ें। प्रॉक्सी से वैकल्पिक फ़ील्ड भेजना चुने अपस्ट्रीम मॉडल के समर्थन की पुष्टि नहीं करता।

temperaturenumberडिफ़ॉल्ट: 1.0

सैंपलिंग तापमान। OpenAI-संगत क्लाइंट सामान्यतः 0 से 2 इस्तेमाल करते हैं, लेकिन अंतिम सत्यापन चुना मॉडल करता है।

max_tokensinteger

वैकल्पिक अधिकतम आउटपुट टोकन, धनात्मक पूर्णांक के रूप में। चुने मॉडल का अपस्ट्रीम डिफ़ॉल्ट लेने के लिए यह फ़ील्ड छोड़ें; मॉडल और अपस्ट्रीम कॉन्फ़िगरेशन के अनुसार डिफ़ॉल्ट और अधिकतम सीमाएँ बदलती हैं।

मॉडल के अनुसार बजट में अंतिम पाठ के साथ तर्क-विचार टोकन भी हो सकते हैं। छोटे बजट से finish_reason: "length" आ सकता है, उत्तर कट सकता है या अंतिम पाठ से पहले बजट खर्च हो सकता है। इसे बढ़ाने से लागत बढ़ सकती है।

max_completion_tokensinteger

max_tokens का वैकल्पिक संगतता विकल्प, जिसमें बजट संबंधी वही बातें लागू हैं। मॉडल इनमें से केवल एक फ़ील्ड स्वीकार कर सकता है, इसलिए मॉडल बदलते समय न्यूनतम बॉडी से शुरू करें। अपस्ट्रीम डिफ़ॉल्ट के लिए दोनों छोड़ें।

streambooleanडिफ़ॉल्ट: false

उत्तर स्ट्रीम करना है या नहीं।

  • true: Server-Sent Events लौटाएँ
  • false: एक पूरा उत्तर लौटाएँ
top_pnumberडिफ़ॉल्ट: 1.0

Nucleus सैंपलिंग पैरामीटर। OpenAI-संगत क्लाइंट सामान्यतः 0 से 1 इस्तेमाल करते हैं; अंतिम सत्यापन चुना मॉडल करता है।

frequency_penaltynumberडिफ़ॉल्ट: 0

आवृत्ति पेनल्टी। OpenAI-संगत क्लाइंट सामान्यतः -2.0 से 2.0 इस्तेमाल करते हैं; अंतिम सत्यापन चुना मॉडल करता है।

presence_penaltynumberडिफ़ॉल्ट: 0

उपस्थिति पेनल्टी। OpenAI-संगत क्लाइंट सामान्यतः -2.0 से 2.0 इस्तेमाल करते हैं; अंतिम सत्यापन चुना मॉडल करता है।

stopstring | array

रुकने का क्रम या ऐसे क्रमों की ऐरे। स्वीकार्य संख्या और व्यवहार चुना मॉडल तय करता है।

nintegerडिफ़ॉल्ट: 1

बनाए जाने वाले उत्तरों की संख्या। 1 जैसी संख्या दें, उद्धरण वाली स्ट्रिंग नहीं।

मॉडल पैरामीटर में अंतर

वर्तमान टेक्स्ट मॉडल न्यूनतम स्ट्रीमिंग और नॉन-स्ट्रीमिंग Chat अनुरोध समर्थित करते हैं, लेकिन वैकल्पिक पैरामीटर की स्वीकृति और प्रभाव चुने मॉडल तथा उसके संगतता कार्यान्वयन के अनुसार बदलते हैं।

2026-09-26 की नवीनतम पुनःजाँच में claude-fable-5 ने temperature: 0 स्वीकार किया और पाठ लौटाया। उसी जाँच में claude-sonnet-5 ने top_p: 0.9 को HTTP 400 और top_p is deprecated के साथ अस्वीकार किया। उस मॉडल में top_p छोड़ें। स्वीकृति न सैंपलिंग प्रभाव सिद्ध करती है, न दूसरे मॉडल या बाद के अनुरोध की गारंटी; सभी सैंपलिंग पैरामीटर समर्थित न मानें।

2026-09-26 की OpenAI जाँचों में gpt-5.6-sol और gpt-5.6-terra के लिए stop स्वीकार हुआ। अपस्ट्रीम के साथ पैरामीटर स्वीकृति बदल सकती है और इससे रुकने का क्रम प्रभावी होना सिद्ध नहीं होता।

मूल OpenAI-संगत Chat फ़ॉरवर्डिंग अपस्ट्रीम अनुरोध में top_p और stop रखती है। Chat को Responses में बदलने वाला रूट top_p रखता है लेकिन stop आगे नहीं भेजता। फ़ील्ड आगे भेजना अपस्ट्रीम समर्थन या प्रभाव स्थापित नहीं करता; किसी भी फ़ील्ड के लिए सभी रूट पर प्लेटफ़ॉर्म-व्यापी गारंटी नहीं है।

मॉडल बदलते समय न्यूनतम अनुरोध से शुरू करें, फिर सैंपलिंग, रुकने के क्रम और उन्नत टूल पैरामीटर अलग सत्यापित करें। रुकने के क्रम में केवल HTTP स्थिति नहीं, वास्तविक पाठ और रुकने का कारण देखें। HTTP 200 सैंपलिंग प्रभाव सिद्ध नहीं करता। आउटपुट बजट में मॉडल का सोच-विचार और अंतिम पाठ दोनों समाने चाहिए।

अनुरोध उदाहरण

json
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "Hello, introduce yourself briefly."
    }
  ],
  "stream": false
}

उत्तर

idstring

उत्तर की अद्वितीय पहचान।

objectstring

ऑब्जेक्ट प्रकार, आम तौर पर chat.completion या स्ट्रीमिंग के लिए chat.completion.chunk।

createdinteger

Unix निर्माण टाइमस्टैम्प।

modelstring

उत्तर में लौटी मॉडल पहचान।

choicesarray

बनाए विकल्प, जिनमें संदेश सामग्री, इंडेक्स और समाप्ति कारण शामिल हैं।

usageobject

टोकन उपयोग आँकड़े।

सफलता उदाहरण

json
{
  "id": "chatcmpl-9876543210",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-5.4",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "I am an AI assistant that can help with writing, coding, and analysis."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 42,
    "total_tokens": 70
  }
}

त्रुटि उत्तर

पूरी कोड सूची, प्रोटोकॉल अंतर और निदान चरणों के लिए त्रुटि कोड और निदान देखें।

Chat Completions की HTTP त्रुटियाँ समतल JSON बॉडी इस्तेमाल करती हैं, जिसमें SSE स्ट्रीम शुरू होने से पहले लौटी अपस्ट्रीम HTTP त्रुटियाँ भी हैं। उदाहरण के लिए HTTP 402 लौटाता है:

json
{
  "code": 40000,
  "message": "Insufficient credit. Required: 30000, Available: 20000",
  "type": "api_error"
}
  • code: संख्यात्मक प्लेटफ़ॉर्म त्रुटि कोड, HTTP स्थिति से अलग और स्ट्रिंग नहीं
  • message: पढ़ने योग्य त्रुटि विवरण
  • type: api_error
  • requestId: निदान के लिए वैकल्पिक अनुरोध पहचान
HTTP स्थितिcodeअर्थ
40010000अमान्य अनुरोध
40120000प्रमाणीकरण अनुपस्थित या अमान्य
40240000अपर्याप्त क्रेडिट
40320001पहुँच अस्वीकृत या इस कुंजी के लिए मॉडल अनुपलब्ध
40430000मॉडल या संसाधन नहीं मिला
40930001अनुरोध टकराव
42210001सत्यापन त्रुटि
42940001दर सीमा पार
50050003आंतरिक त्रुटि
50250000अपस्ट्रीम प्रदाता त्रुटि
50350001सेवा अनुपलब्ध
50450002गेटवे टाइमआउट

अनुरोध सफल हुआ या नहीं जानने के लिए पहले HTTP स्थिति जाँचें, फिर ऐप-विशिष्ट प्रबंधन के लिए संख्यात्मक code तुलना करें। code को "400" जैसी स्ट्रिंग से न मिलाएँ, उसे HTTP स्थिति के बराबर न मानें और message को स्थिर त्रुटि पहचान की तरह पार्स न करें। अनुपस्थित या गलत प्रकार के messages, प्रदाता कॉल से पहले HTTP 400 और code: 10000 के साथ अस्वीकार होते हैं।

यह त्रुटि प्रारूप Chat Completions HTTP उत्तरों पर लागू है, शुरू हो चुकी SSE स्ट्रीम की त्रुटियों या दूसरे API प्रोटोकॉल पर नहीं। मॉडल कैटलॉग और मूल प्रोटोकॉल एंडपॉइंट के अपने दस्तावेज़ीकृत त्रुटि प्रारूप हैं।