रिस्पॉन्स बनाएँ
OpenAI Responses API के अनुरोध रूप (input/instructions) का उपयोग करके मॉडल प्रतिक्रिया का अनुरोध करता है; आंतरिक रूप से Chat Completions प्रारूप में परिवर्तित होकर किसी भी समर्थित मॉडल पर रूट किया जाता है — यह एक अनुवाद परत है, अलग अनुमान पथ नहीं। यह एक स्टेटलेस एंडपॉइंट है: store: true या गैर-null previous_response_id भेजने पर 400 लौटता है (अलग त्रुटि रूप हेतु नीचे 400 प्रविष्टि देखें) — हर कॉल में input में पूरी बातचीत होनी चाहिए। स्ट्रीमिंग के दौरान, reasoning response.reasoning_text.delta इवेंट्स और type:"reasoning" आउटपुट आइटम के रूप में दिखाई देता है।
/api/v1/responsesप्राधिकरण
Authorizationआवश्यकAuthorization हेडर में bearer token के रूप में API कुंजी।
Body
modelआवश्यकउपयोग करने वाला मॉडल, प्रदाता-योग्य, जैसे "openai/gpt-5.2"।
"openai/gpt-5.2"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 मॉडल वेरिएंट केवल तभी {id:"web"} जोड़ता है जब आपने कोई plugins न भेजे हों, वह भी केवल समर्थित रूट पर।
store⚠️ यह एंडपॉइंट स्टेटलेस है — true भेजने पर तुरंत 400 लौटता है, यह कभी स्वीकार या चुपचाप अनदेखा नहीं होता। इसे छोड़ना या false भेजना ही एकमात्र मान्य उपयोग है।
previous_response_id⚠️ यह एंडपॉइंट स्टेटलेस है — कोई भी गैर-null मान भेजने पर तुरंत 400 लौटता है, यह कभी स्वीकार या चुपचाप अनदेखा नहीं होता। बातचीत जारी रखने के लिए, पूरा इतिहास input सरणी में भेजें।
modelsफ़ॉलबैक मॉडल सूची — क्रम से आज़माई जाती है, केवल तब उपयोग होती है जब प्राइमरी मॉडल का अपना उम्मीदवार समूह समाप्त हो जाए।
reasoningरीज़निंग-मॉडल थिंकिंग कंट्रोल ऑब्जेक्ट (जैसे {effort, max_tokens}), उसी रूप में अपस्ट्रीम भेजा जाता है — कोई डिफ़ॉल्ट मान नहीं जोड़ा जाता।
reasoning_effortreasoning.effort के लिए फ़्लैट संक्षिप्त फ़ील्ड।
lowmediumhighthinkingClaude विस्तारित थिंकिंग का अतिरिक्त टोकन बजट (जैसे {type:"enabled", budget_tokens:2048}), max_output_tokens के ऊपर जोड़ा जाता है — उसी रूप में भेजा जाता है, कोई डिफ़ॉल्ट नहीं जोड़ा जाता।
enable_thinkingQwen3 / GLM परिवार के मॉडल के लिए थिंकिंग ऑन/ऑफ टॉगल, उपयोगकर्ता की पसंद को उसी रूप में भेजा जाता है।