BazaarLinkBazaarLink
Anmelden
DokumentationAPI-ReferenzSDK-ReferenzAgentic-NutzungKI-Skills
Responses API

Response erstellen

Fordert eine Modellantwort im Anfrageformat der OpenAI Responses API an (input/instructions); wird intern in das Chat-Completions-Format konvertiert und zu jedem unterstützten Modell geroutet — dies ist eine Übersetzungsschicht, kein separater Inferenzpfad. Dies ist ein zustandsloser Endpunkt: store: true oder ein nicht-null previous_response_id zu übergeben liefert 400 (siehe den 400-Eintrag unten für die abweichende Fehlerform) — jeder Aufruf muss die vollständige Konversation in input enthalten. Beim Streaming wird Reasoning über response.reasoning_text.delta-Events und ein type:"reasoning"-Output-Item dargestellt.

POST/v1/responses

Autorisierung

Authorizationerforderlich
string · header

API-Schlüssel als Bearer-Token im Authorization-Header.

Body

modelerforderlich
string

Das zu verwendende Modell, mit Provider-Präfix, z. B. "openai/gpt-5.4".

minLength: 1
Example: "openai/gpt-5.4"
inputerforderlich
string | InputItem[]

Konversationseingabe — entweder ein einzelner String oder ein strukturiertes Array von Items (message/function_call/function_call_output). Nachrichten können reinen Text oder ein Content-Block-Array mit input_image verwenden.

instructions
string

Systemebene-Anweisungen, eingefügt als erste System-Nachricht am Anfang des konvertierten messages-Arrays.

stream
boolean

true streamt die Antwort als Responses-API-SSE-Events (response.created, response.output_item.added, response.output_text.delta, response.reasoning_text.delta, response.completed und weitere); weggelassen oder false liefert eine einzelne JSON-Antwort.

max_output_tokens
integer

Maximale Anzahl an Tokens, die die Antwort generieren darf (wird in das upstream Chat-Completions-max_tokens umgewandelt).

tools
Tool[]

Liste der Tool-/Funktionsdefinitionen, die das Modell aufrufen kann. Akzeptiert die flache Responses-Spec-Form {type:"function", name, description, parameters} (empfohlen) sowie die verschachtelte Chat-Completions-Form {type:"function", function:{...}} (aus Kompatibilitätsgründen akzeptiert, unverändert weitergereicht). Das tools-Feld des Response-Objekts spiegelt den hier tatsächlich gesendeten Wert wider.

tool_choice
string | object

Steuert, ob/wie das Modell zum Aufrufen eines Tools gezwungen wird, z. B. {type:"function", name:"..."} (flache Form, empfohlen, automatisch für Upstream konvertiert) oder "auto". Das tool_choice-Feld des Response-Objekts spiegelt den hier gesendeten Wert wider, Standard "auto", wenn weggelassen.

parallel_tool_calls
boolean

Ob parallele Tool-Aufrufe erlaubt sind, wenn tools bereitgestellt werden. Standard true, wenn weggelassen; das parallel_tool_calls-Feld des Response-Objekts spiegelt den hier gesendeten Wert wider.

plugins
object[]

Plugin-Array (z. B. {id:"web"} für die Websuche). Nur auf einigen Modellrouten unterstützt, sonst ohne Wirkung; :online aktiviert die Websuche auf unterstützten Routen. Websuche über plugins, :online oder web_search_options kann zusätzliche Upstream-Kosten verursachen; belastet wird der verwendete Schlüssel: der BazaarLink-Plattformschlüssel oder Ihr BYOK-Schlüssel.

store
boolean

⚠️ Dieser Endpunkt ist zustandslos — true zu übergeben liefert sofort 400, es wird nie akzeptiert oder stillschweigend ignoriert. Es wegzulassen oder false zu übergeben ist die einzig gültige Nutzung.

previous_response_id
string

⚠️ Dieser Endpunkt ist zustandslos — jeden Nicht-null-Wert zu übergeben liefert sofort 400, es wird nie akzeptiert oder stillschweigend ignoriert. Um eine Konversation fortzusetzen, senden Sie stattdessen den vollständigen Verlauf im input-Array.

models
string[]

Fallback-Modellliste — wird der Reihe nach versucht, sobald die Kandidatengruppe des primären Modells erschöpft ist. BazaarLink löst jedes Fallback über das eigene Routing auf und berechnet den Kundenpreis des jeweiligen Modells; die Liste wird nicht an Upstreams weitergeleitet.

reasoning
object

Denk-Steuerungsobjekt für Reasoning-Modelle (z. B. {effort, max_tokens}), unverändert upstream weitergeleitet — es werden keine Standardwerte injiziert.

reasoning_effort
string

Flaches Kurzformfeld für reasoning.effort.

lowmediumhigh
thinking
object

Zusätzliches Token-Budget von Claudes Extended Thinking (z. B. {type:"enabled", budget_tokens:2048}), zusätzlich zu max_output_tokens — unverändert weitergeleitet, keine Standardwerte injiziert.

enable_thinking
boolean

Thinking-Umschalter für Qwen3/GLM-Familie-Modelle, unverändert weitergeleitet.

POST /v1/responses
curl https://api.bazaarlink.ai/v1/responses \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-5.4",
    "input": "What is the capital of France?"
  }'
Antwortbeispiele

BazaarLink gibt eine standardisierte Antwort zurück und entfernt upstream-spezifische Felder. usage.cost ist der für diese Anfrage berechnete USD-Betrag. Rufen Sie GET /v1/generation mit der opaken BazaarLink-Anfrage-ID aus Antwort-id oder x-request-id auf; nicht gestreamte Antworten liefern dieselbe ID auch in x-generation-id. Statistiken können erst Sekunden später verfügbar sein; wiederholen Sie 404 kurzzeitig. Lange nicht gestreamte Chat-, Messages- und Responses-Anfragen (etwa ab 12 Sekunden) können vor dem JSON-Body Leerzeichen als Keep-alive-Padding enthalten. Übliche JSON-Parser akzeptieren führende Leerzeichen.

{
  "id": "85e6f35c71a31f19-SJC",
  "object": "response",
  "created_at": 1753500000,
  "completed_at": 1753500002,
  "status": "completed",
  "model": "openai/gpt-5.4",
  "output": [
    {
      "type": "reasoning",
      "id": "bazaarlink-reasoning-item-id",
      "status": "completed",
      "summary": [],
      "content": [
        {
          "type": "reasoning_text",
          "text": "The user is asking a simple geography fact..."
        }
      ]
    },
    {
      "type": "message",
      "id": "bazaarlink-message-item-id",
      "role": "assistant",
      "status": "completed",
      "content": [
        {
          "type": "output_text",
          "text": "The capital of France is Paris.",
          "annotations": []
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 14,
    "output_tokens": 32,
    "total_tokens": 46,
    "cost": 0.00021,
    "bz_cost": 0.00021,
    "output_tokens_details": {
      "reasoning_tokens": 18
    }
  },
  "error": null,
  "incomplete_details": null,
  "tool_choice": "auto",
  "tools": [],
  "truncation": "auto",
  "parallel_tool_calls": true,
  "metadata": {},
  "store": false
}
Support
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
Response erstellen — BazaarLink API