Chat erstellen
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. Audio-Chat nutzt diesen Endpunkt; Audioausgabe wird mit modalities:["text","audio"] und audio:{voice,format} angefordert. GET /v1/models?output_modalities=audio filtert nur Modelle mit Audioausgabe, nicht alle Modelle mit Audioeingabe; Modelle, die Audio aufnehmen und Text ausgeben, bleiben in der Text-Liste. Ein Fähigkeitsmerkmal allein garantiert keine verfügbare Route; wählen Sie ein gelistetes Modell und seine unterstützten Parameter. Reine Audioausgabe, TTS, STT und andere nicht tokenbasierte Generierungsarten gehören nicht zu diesem Vertrag.
/v1/chat/completionsAutorisierung
AuthorizationerforderlichAPI-Schlüssel als Bearer-Token im Authorization-Header.
Body
modelerforderlichDas zu verwendende Modell, mit Provider-Präfix, z. B. "openai/gpt-4o". GET /v1/models listet ids wie "claude-sonnet-4.6" und kanonische Aliase wie "anthropic/claude-sonnet-4.6". Anfragen akzeptieren beide Formen; nutzen Sie eine aufgeführte id oder einen alias.
"openai/gpt-4o"messageserforderlichArray von Konversationsnachrichten, mindestens eine. Jede hat eine role (system/user/assistant/tool) und content.
contentAudio-Eingaben gehören in messages[].content[]: {"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}. Für data wird rohes Base64 verwendet, kein Data-URI; die unterstützten Formate hängen vom Modell ab. Verwenden Sie kein input_audio auf oberster Ebene: Dafür gibt es keine eigene Validierung und keine Guthaben-Reservierung.
[{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]modelsFallback-Modellliste — wird der Reihe nach versucht, nur verwendet, wenn die Kandidatengruppe des primären Modells erschöpft ist.
streamtrue streamt die Antwort als SSE; weggelassen oder false liefert eine einzelne JSON-Antwort. Audio-Streams liefern data (Base64-Audio) und transcript-Fragmente in choices[].delta.audio; nicht gestreamte Antworten verwenden choices[].message.audio. Das Modell kann zusätzlich id und expires_at liefern. Fragmente zusammensetzen und gemäß audio.format dekodieren; Streaming-Formate hängen vom Modell ab.
temperatureSampling-Temperatur — höher ist zufälliger, niedriger deterministischer. Sampling-Werte werden ohne Bereichsprüfung weitergegeben; das Modell kann Werte außerhalb seines unterstützten Bereichs begrenzen oder ignorieren.
max_tokensMaximale Anzahl an Tokens, die die Antwort generieren darf.
max_completion_tokensAlias von max_tokens mit identischer Semantik.
top_pNucleus-Sampling-Schwellenwert.
top_kBegrenzt das Sampling auf die K wahrscheinlichsten Tokens.
frequency_penaltyBestraft Tokens basierend darauf, wie oft sie bereits aufgetreten sind.
presence_penaltyBestraft Tokens basierend darauf, ob sie überhaupt aufgetreten sind, unabhängig von der Anzahl.
repetition_penaltyWiederholungsstrafkoeffizient — ein separater Mechanismus von frequency/presence penalty.
min_pMindestwahrscheinlichkeitsschwelle relativ zum wahrscheinlichsten Token.
top_aEin weiterer dynamischer Cutoff-Sampling-Mechanismus, der den Schwellenwert durch das Quadrat der höchsten Wahrscheinlichkeit skaliert.
seedDeterministischer Sampling-Seed; nicht alle Provider garantieren Reproduzierbarkeit.
nAnzahl der zu generierenden Antworten.
stopSequenzen, bei denen die Generierung stoppt, bis zu 4.
toolsListe der Tool-/Funktionsdefinitionen, die das Modell aufrufen kann.
tool_choiceSteuert, ob/wie das Modell zum Aufrufen eines Tools gezwungen wird.
parallel_tool_callsOb parallele Tool-Aufrufe erlaubt sind, wenn tools bereitgestellt werden. Standard true. Nur für Modelle der OpenAI-Familie — wird stillschweigend entfernt, wenn das Zielmodell nicht von OpenAI stammt, kein Fehler.
response_formatSchränkt das Ausgabeformat ein, z. B. {type:"json_object"} oder {type:"json_schema"} mit einem JSON Schema.
logit_biasOrdnet Token-IDs Bias-Werten [-100, 100] zu, die vor dem Sampling addiert werden. Nur für Modelle der OpenAI-Familie — wird stillschweigend entfernt, wenn das Zielmodell nicht von OpenAI stammt, kein Fehler.
logprobsGibt Log-Wahrscheinlichkeiten jedes Ausgabe-Tokens zurück. Nur für Modelle der OpenAI-Familie — wird stillschweigend entfernt, wenn das Zielmodell nicht von OpenAI stammt, kein Fehler.
top_logprobsAnzahl der wahrscheinlichsten zurückzugebenden Tokens pro Position (erfordert logprobs: true). Nur für Modelle der OpenAI-Familie — wird stillschweigend entfernt, wenn das Zielmodell nicht von OpenAI stammt, kein Fehler.
userEndbenutzer-Kennung für Überwachung und Missbrauchserkennung. Hat keine Auswirkung auf die Abrechnung. Nur für Modelle der OpenAI-Familie — wird stillschweigend entfernt, wenn das Zielmodell nicht von OpenAI stammt, kein Fehler.
reasoningDenk-Steuerungsobjekt für Reasoning-Modelle (z. B. {effort, max_tokens}).
reasoning_effortFlaches Kurzformfeld für reasoning.effort.
lowmediumhighinclude_reasoningtrue liefert den Denkinhalt in message.reasoning (beim Streaming in delta.reasoning); false schaltet das Denken bei den Modellen ab, die standardmäßig denken (siehe Abschnitt Reasoning), sodass kein Denken berechnet wird. Ohne reasoning_effort, reasoning oder thinking denken und liefern nur diese Modelle standardmäßig; andere Modelle nur auf Anfrage.
image_configOptionen für Bildgenerierung/-bearbeitung (verwendet, wenn modalities image enthält).
modalitiesAngeforderte Ausgabemodalitäten. Bei image erfolgt Routing über den Bildgenerierungs-Dispatch-Pfad. Audio-Chat verwendet ["text","audio"] mit einem audio-Objekt und erfordert ein Modell, das Text- und Audioausgabe unterstützt.
textimageaudio["text","audio"]audioOptionen für die Audioausgabe, zusammen mit modalities:["text","audio"]. Unterstützte voice- und format-Werte hängen vom Modell ab.
{"voice":"alloy","format":"wav"}voiceEine vom Modell unterstützte Stimme, zum Beispiel alloy.
"alloy"formatEin vom Modell unterstütztes Ausgabeformat, zum Beispiel wav; für Streaming wird häufig pcm16 verwendet, sofern das Modell es unterstützt.
"wav"pluginsPlugin-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.