रिस्पॉन्स बनाएँ
OpenAI Responses API के अनुरोध रूप (input/instructions) का उपयोग करके मॉडल प्रतिक्रिया का अनुरोध करता है; आंतरिक रूप से Chat Completions प्रारूप में परिवर्तित होकर किसी भी समर्थित मॉडल पर रूट किया जाता है — यह एक अनुवाद परत है, अलग अनुमान पथ नहीं। यह एक स्टेटलेस एंडपॉइंट है: store: true या गैर-null previous_response_id भेजने पर 400 लौटता है (अलग त्रुटि रूप हेतु नीचे 400 प्रविष्टि देखें) — हर कॉल में input में पूरी बातचीत होनी चाहिए। स्ट्रीमिंग के दौरान, reasoning response.reasoning_text.delta इवेंट्स और type:"reasoning" आउटपुट आइटम के रूप में दिखाई देता है।
/v1/responsesप्राधिकरण
Authorizationआवश्यकAuthorization हेडर में bearer token के रूप में API कुंजी।
Body
modelआवश्यकउपयोग करने वाला मॉडल, प्रदाता-योग्य, जैसे "openai/gpt-5.4"।
"openai/gpt-5.4"inputआवश्यकबातचीत इनपुट — एकल स्ट्रिंग, या संरचित आइटम सरणी (message/function_call/function_call_output)। संदेश सादे टेक्स्ट या input_image सहित कंटेंट-ब्लॉक सरणी का उपयोग कर सकते हैं।
instructionsसिस्टम-स्तरीय निर्देश, परिवर्तित messages सरणी के सबसे आगे पहले system संदेश के रूप में डाले जाते हैं।
streamtrue होने पर प्रतिक्रिया Responses API के SSE इवेंट्स (response.created, response.output_item.added, response.output_text.delta, response.reasoning_text.delta, response.completed, आदि) के रूप में स्ट्रीम होती है; छोड़ने या false पर एकल JSON प्रतिक्रिया मिलती है।
max_output_tokensप्रतिक्रिया द्वारा जनरेट किए जा सकने वाले अधिकतम टोकन की संख्या (अपस्ट्रीम Chat Completions के max_tokens में परिवर्तित)।
toolsटूल/फ़ंक्शन परिभाषाओं की सूची जिन्हें मॉडल कॉल कर सकता है। Responses spec का फ़्लैट रूप {type:"function", name, description, parameters} (अनुशंसित) स्वीकार करता है, और Chat Completions का नेस्टेड रूप {type:"function", function:{...}} भी (बैक-कम्पैट के लिए स्वीकृत, ज्यों का त्यों भेजा जाता है)। प्रतिक्रिया ऑब्जेक्ट का tools फ़ील्ड यहाँ वास्तव में भेजे गए मान को दर्शाता है।
tool_choiceनियंत्रित करता है कि मॉडल को टूल कॉल करने के लिए मजबूर किया जाए या नहीं/कैसे, जैसे {type:"function", name:"..."} (फ़्लैट रूप, अनुशंसित, अपस्ट्रीम हेतु स्वतः परिवर्तित) या "auto"। प्रतिक्रिया ऑब्जेक्ट का tool_choice फ़ील्ड यहाँ भेजे गए मान को दर्शाता है, छोड़ने पर डिफ़ॉल्ट "auto" है।
parallel_tool_callstools प्रदान किए जाने पर समानांतर टूल कॉल की अनुमति दें या नहीं। छोड़ने पर डिफ़ॉल्ट true; प्रतिक्रिया ऑब्जेक्ट का parallel_tool_calls फ़ील्ड यहाँ भेजे गए मान को दर्शाता है।
pluginsप्लगइन सरणी (जैसे वेब खोज के लिए {id:"web"})। केवल कुछ मॉडल रूट पर समर्थित, अन्यत्र प्रभावहीन; :online समर्थित रूट पर वेब खोज चालू करता है। plugins, :online या web_search_options से की गई खोज पर upstream अतिरिक्त शुल्क लग सकता है, जो अनुरोध में उपयोग की गई कुंजी—BazaarLink प्लेटफ़ॉर्म कुंजी या आपकी BYOK कुंजी—पर लगेगा।
store⚠️ यह एंडपॉइंट स्टेटलेस है — true भेजने पर तुरंत 400 लौटता है, यह कभी स्वीकार या चुपचाप अनदेखा नहीं होता। इसे छोड़ना या false भेजना ही एकमात्र मान्य उपयोग है।
previous_response_id⚠️ यह एंडपॉइंट स्टेटलेस है — कोई भी गैर-null मान भेजने पर तुरंत 400 लौटता है, यह कभी स्वीकार या चुपचाप अनदेखा नहीं होता। बातचीत जारी रखने के लिए, पूरा इतिहास input सरणी में भेजें।
modelsफ़ॉलबैक मॉडल सूची — प्राइमरी मॉडल का उम्मीदवार समूह समाप्त होने के बाद क्रम से आज़माई जाती है। BazaarLink हर फ़ॉलबैक को अपने रूटिंग से हल करता है और उस मॉडल का BazaarLink ग्राहक मूल्य लागू करता है; सूची upstream को आगे नहीं भेजी जाती।
reasoningरीज़निंग-मॉडल थिंकिंग कंट्रोल ऑब्जेक्ट (जैसे {effort, max_tokens}), उसी रूप में अपस्ट्रीम भेजा जाता है — कोई डिफ़ॉल्ट मान नहीं जोड़ा जाता।
reasoning_effortreasoning.effort के लिए फ़्लैट संक्षिप्त फ़ील्ड।
lowmediumhighthinkingClaude विस्तारित थिंकिंग का अतिरिक्त टोकन बजट (जैसे {type:"enabled", budget_tokens:2048}), max_output_tokens के ऊपर जोड़ा जाता है — उसी रूप में भेजा जाता है, कोई डिफ़ॉल्ट नहीं जोड़ा जाता।
enable_thinkingQwen3 / GLM परिवार के मॉडल के लिए थिंकिंग ऑन/ऑफ टॉगल, उपयोगकर्ता की पसंद को उसी रूप में भेजा जाता है।