API Hop-Dokumentation
Multimodale OpenAI Responses
OpenAI-kompatible Responses-API. Dieser Endpunkt verwendet `input` im OpenAI-Stil und unterstützt Text, öffentliche Bild-URLs, PDF-Dateieingaben, Werkzeugaufrufe, Denkoptionen und Streaming-Parameter.
https://api.apihop.ai/openai/responsesOpenAI-kompatible Responses-API. Dieser Endpunkt verwendet input im OpenAI-Stil und unterstützt Text, öffentliche Bild-URLs, PDF-Dateieingaben, Werkzeugaufrufe, Denkoptionen und Streaming-Parameter.
POST https://api.apihop.ai/openai/responsesAuthentifizierung
Alle Anfragen erfordern Bearer-Token-Authentifizierung.
Authorization: Bearer YOUR_API_KEYAnfragekörper
modelstringerforderlichStandard: gpt-5.4Aktuell aktive Modelle mit Responses-Unterstützung:
gpt-5.4gpt-5.5gpt-5.6-solgpt-5.6-terragpt-6-astra
Die für den aktuellen API-Schlüssel sichtbaren Modelle finden Sie im Modellkatalog.
inputstring | object[]Eingabeinhalt. Erforderlich, sofern keine nicht leere previous_response_id angegeben wird. Das Weglassen beider Felder oder ein ungültiger Eingabetyp liefert vor der Abrechnung 400.
Unterstützte Formen:
- Eine Zeichenfolge, entsprechend einer Texteingabe von
user. - Ein Array von Eingabeelementen für Unterhaltungsverlauf, multimodale Eingaben und Werkzeugergebnisse.
Jedes Objekt im Eingabearray kann folgende Felder enthalten:
typestringTyp des Eingabeelements.
Häufige Werte:
message: eine Nachrichteneingabe.function_call_output: das Ergebnis eines Funktionswerkzeugaufrufs.
rolestringRolle bei type=message.
Häufige Werte:
developersystemuserassistant
contentstring | object[]Nachrichteninhalt.
Verwenden Sie für multimodale Anfragen ein Array von Inhaltsblöcken. Inhaltsblöcke unterstützen:
typestringTyp des Inhaltsblocks.
Derzeit unterstützt:
input_textinput_imageinput_file
textstringTextinhalt bei type=input_text.
image_urlstringÖffentliche Bild-URL bei type=input_image.
Nur öffentlich zugängliche Bild-URLs mit http:// oder https:// werden unterstützt. Base64-Daten-URLs wie data:image/...;base64,... werden nicht unterstützt.
detailstringStandard: autoBilddetailgrad bei type=input_image.
Häufige Werte:
autolowhigh
file_datastringDaten-URL des Dateiinhalts bei type=input_file. PDFs können data:application/pdf;base64,... verwenden.
filenamestringDateiname bei type=input_file.
instructionsstringSystem- oder Entwickleranweisungen, die in den Modellkontext eingefügt werden.
max_output_tokensintegerOptionale maximale Ausgabetokens als positive Ganzzahl. Lassen Sie das Feld weg, um den Anbieterstandard des gewählten Modells zu verwenden. Je nach Modell umfasst das Budget Denktokens und endgültigen Text. Ein kleines Budget kann die Antwort abschneiden oder vor dem endgültigen Text verbraucht sein; eine Erhöhung kann die Kosten steigern.
streambooleanStandard: falseOb die Antwort gestreamt wird.
false: eine vollständige Antwort zurückgebentrue: SSE-Ereignisse im OpenAI-Responses-Stil zurückgeben
temperaturenumberStandard: 1.0Sampling-Temperatur, gewöhnlich von 0 bis 2.
top_pnumberStandard: 1.0Nucleus-Sampling-Parameter, gewöhnlich von 0 bis 1.
textobjectKonfiguration der Textausgabe.
text.formatobjectTextformatkonfiguration, etwa { "type": "text" } oder ein JSON-Schema.
text.verbositystringAusführlichkeit der Ausgabe, etwa low, medium oder high. Die Unterstützung hängt vom gewählten Modell ab.
toolsobject[]Werkzeugdefinitionen. Die Verfügbarkeit hängt vom gewählten Modell und den verfügbaren Funktionen ab.
tool_choicestring | objectWerkzeugauswahlregel.
parallel_tool_callsbooleanOb parallele Werkzeugaufrufe erlaubt sind.
reasoningobjectOptionen zum Denkprozess.
includestring[]Zusätzliche Felder, die in der Antwort enthalten sein sollen.
prompt_cache_keystringPrompt-Cache-Schlüssel zur Wiederverwendung des Prompt-Caches.
prompt_cache_retentionstringAufbewahrungsregel für den Prompt-Cache. Unterstützte Werte hängen vom gewählten Modell und den verfügbaren Funktionen ab.
safety_identifierstringStabile Endnutzerkennung für Sicherheitskontrollen.
storebooleanOb der Antwortzustand gespeichert werden darf.
Unterschiede bei Modellparametern
- Native OpenAI-kompatible Responses-Weiterleitung behält
top_pin der Anbieteranfrage bei; Validierung und Sampling-Verhalten hängen von Modell und Anbieter ab. Die Prüfungen am 2026-09-26 akzeptiertentop_p: 0.9fürgpt-5.5,gpt-5.6-solundgpt-5.6-terra. Annahme und Weiterleitung beweisen keine Sampling-Wirkung und garantieren keine Unterstützung für andere Werte, Modelle oder spätere Anfragen. Beginnen Sie mit einer minimalen Anfrage. - Die Unterstützung auf dieser Seite gilt nur für den regulären Endpunkt
/openai/responses. Sie bedeutet nicht, dass dasselbe Modell/openai/responses/compact, WebSocket oder zustandsbehaftetesprevious_response_idunterstützt. - Die fünf oben aufgeführten GPT-Modelle haben derzeit keinen verifizierten Compact-Kanal. Ohne ausdrücklich aktivierten Kanal werden Compact-Anfragen vor der Abrechnung abgelehnt. Normale Responses und Responses WebSocket bleiben verfügbar.
Anfragebeispiele
Die folgenden Beispiele enthalten input. Eine Fortsetzung darf input weglassen, wenn sie eine gültige previous_response_id angibt und der gewählte Kanal zustandsbehaftete Fortsetzung unterstützt. Eine Antwort-ID aktiviert diese Fähigkeit nicht auf einem nicht unterstützten Kanal. Werkzeugergebnisse bleiben gültige Eingabeelemente, einschließlich function_call_output.
Textinhalt
{
"model": "gpt-5.4",
"input": "Hello, introduce yourself in one sentence."
}Parameter im Codex-CLI-Stil
{
"model": "gpt-5.5",
"input": "Reply with READY only.",
"reasoning": {
"effort": "xhigh"
},
"store": false,
"text": {
"verbosity": "low"
},
"stream": true
}Bildverständnis
{
"model": "gpt-5.4",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "What is in this image?"
},
{
"type": "input_image",
"image_url": "https://example.com/cat.png",
"detail": "high"
}
]
}
]
}Dateieingabe
Verwenden Sie file_data zusammen mit filename, um PDF-Inhalt zu übermitteln. file_data muss eine vollständige Daten-URL sein.
{
"model": "gpt-5.4",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Summarize the key points in this PDF."
},
{
"type": "input_file",
"file_data": "data:application/pdf;base64,JVBERi0xLjQKJc...",
"filename": "report.pdf"
}
]
}
]
}Bild- und Dateieingabe
{
"model": "gpt-5.4",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Give three conclusions based on the image and attachment."
},
{
"type": "input_image",
"image_url": "https://example.com/chart.png",
"detail": "high"
},
{
"type": "input_file",
"file_data": "data:application/pdf;base64,JVBERi0xLjQKJc...",
"filename": "notes.pdf"
}
]
}
]
}Streaming-Ausgabe
{
"model": "gpt-5.4",
"stream": true,
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "Explain this diagram step by step."
},
{
"type": "input_image",
"image_url": "https://example.com/diagram.png"
}
]
}
]
}Antwort
Antworten ohne Streaming folgen dem OpenAI-Responses-Stil. Tatsächliche Felder können je nach Fähigkeiten des gewählten Modells variieren.
idstringEindeutige Antwortkennung.
objectstringAntwortobjekttyp, gewöhnlich response.
created_atintegerErstellungszeitstempel.
modelstringTatsächlich verwendetes Modell.
outputobject[]Liste der Ausgabeelemente. Häufige Elemente sind message, function_call und werkzeugbezogene Ausgabe.
usageobjectTokennutzungsstatistik, etwa input_tokens, output_tokens und total_tokens.
Erfolgsbeispiel
{
"id": "resp_123",
"object": "response",
"created_at": 1766534400,
"model": "gpt-5.4",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"text": "The image shows a cat, and the attachment is a document about pet care."
}
]
}
],
"usage": {
"input_tokens": 128,
"output_tokens": 42,
"total_tokens": 170
}
}Streaming-Antwort
Bei stream=true liefert der Endpunkt Server-Sent Events.
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"The image"}
event: response.completed
data: {"type":"response.completed","response":{"id":"resp_123"}}Lesen Sie Ereignisse bis response.completed oder bis die Verbindung geschlossen wird.
Fehlerantwort
Die vollständige Codereferenz, Protokollunterschiede und Diagnoseschritte finden Sie unter Fehlercodes und Fehlerbehebung.
Von der Plattform erzeugte HTTP-Fehler verwenden die folgenden flachen Felder statt einer error-Hülle. Manche Anbieterfehler können ihre Originalstruktur behalten; Fehler in einem bereits gestarteten SSE-Stream folgen nicht diesem HTTP-Antwortbeispiel.
{
"code": 40000,
"message": "Insufficient credit. Required: 30000, Available: 20000",
"type": "api_error"
}Hinweise
- Der Endpunkt
Responsesverwendetinput, nichtmessages. Sendet Ihr Client nurmessages, verwenden Sie/openai/v1/chat/completions. - Bildeingaben verwenden
input_image;image_urlmuss eine öffentlichehttp://- oderhttps://-URL sein. Base64-Daten-URLs werden für Bilder nicht unterstützt. - Dateieingaben verwenden
input_file. Verwenden Sie für PDFsfile_datazusammen mitfilename;file_datasollte eine vollständigedata:application/pdf;base64,...-URL sein. - Audioeingabe/-ausgabe, Bilderzeugungswerkzeuge, Dateisuche und weitere erweiterte Fähigkeiten hängen vom gewählten Modell und den verfügbaren Funktionen ab.
- Die auf dieser Seite aufgeführten Felder bilden den aktuellen öffentlichen Responses-Anfragevertrag; gehen Sie nicht davon aus, dass nicht aufgeführte Felder verfügbar sind.
/openai/responsesist der empfohlene öffentliche Pfad./v1/responsesfolgt demselben öffentlichen Anfrage- und Antwortvertrag./compat/v1/responsesfolgt demselben öffentlichen Anfrage- und Antwortvertrag./openai/v1/responsesfolgt demselben öffentlichen Anfrage- und Antwortvertrag.