BazaarLinkBazaarLink
Anmelden
DokumentationAPI-ReferenzSDK-ReferenzAgentic-NutzungKI-Skills
Chat

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.

POST/v1/chat/completions

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-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.

minLength: 1
Example: "openai/gpt-4o"
messageserforderlich
Message[]

Array von Konversationsnachrichten, mindestens eine. Jede hat eine role (system/user/assistant/tool) und content.

minLength: 1
content
string | ContentPart[]

Audio-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.

Example: [{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]
models
string[]

Fallback-Modellliste — wird der Reihe nach versucht, nur verwendet, wenn die Kandidatengruppe des primären Modells erschöpft ist.

stream
boolean

true 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.

temperature
number

Sampling-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_tokens
integer

Maximale Anzahl an Tokens, die die Antwort generieren darf.

max_completion_tokens
integer

Alias von max_tokens mit identischer Semantik.

top_p
number

Nucleus-Sampling-Schwellenwert.

top_k
integer

Begrenzt das Sampling auf die K wahrscheinlichsten Tokens.

frequency_penalty
number

Bestraft Tokens basierend darauf, wie oft sie bereits aufgetreten sind.

presence_penalty
number

Bestraft Tokens basierend darauf, ob sie überhaupt aufgetreten sind, unabhängig von der Anzahl.

repetition_penalty
number

Wiederholungsstrafkoeffizient — ein separater Mechanismus von frequency/presence penalty.

min_p
number

Mindestwahrscheinlichkeitsschwelle relativ zum wahrscheinlichsten Token.

top_a
number

Ein weiterer dynamischer Cutoff-Sampling-Mechanismus, der den Schwellenwert durch das Quadrat der höchsten Wahrscheinlichkeit skaliert.

seed
integer

Deterministischer Sampling-Seed; nicht alle Provider garantieren Reproduzierbarkeit.

n
integer

Anzahl der zu generierenden Antworten.

stop
string | string[]

Sequenzen, bei denen die Generierung stoppt, bis zu 4.

tools
Tool[]

Liste der Tool-/Funktionsdefinitionen, die das Modell aufrufen kann.

tool_choice
string | object

Steuert, ob/wie das Modell zum Aufrufen eines Tools gezwungen wird.

parallel_tool_calls
boolean

Ob 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_format
object

Schränkt das Ausgabeformat ein, z. B. {type:"json_object"} oder {type:"json_schema"} mit einem JSON Schema.

logit_bias
object

Ordnet 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.

logprobs
boolean

Gibt 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_logprobs
integer

Anzahl 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.

0–20
user
string

Endbenutzer-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.

reasoning
object

Denk-Steuerungsobjekt für Reasoning-Modelle (z. B. {effort, max_tokens}).

reasoning_effort
string

Flaches Kurzformfeld für reasoning.effort.

lowmediumhigh
include_reasoning
boolean

true 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_config
object

Optionen für Bildgenerierung/-bearbeitung (verwendet, wenn modalities image enthält).

modalities
string[]

Angeforderte 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
Example: ["text","audio"]
audio
object

Optionen für die Audioausgabe, zusammen mit modalities:["text","audio"]. Unterstützte voice- und format-Werte hängen vom Modell ab.

Example: {"voice":"alloy","format":"wav"}
voice
string

Eine vom Modell unterstützte Stimme, zum Beispiel alloy.

Example: "alloy"
format
string

Ein vom Modell unterstütztes Ausgabeformat, zum Beispiel wav; für Streaming wird häufig pcm16 verwendet, sofern das Modell es unterstützt.

Example: "wav"
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.

POST /v1/chat/completions
curl https://api.bazaarlink.ai/v1/chat/completions \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "Explain quantum computing in one paragraph."}]
  }'
Antwortbeispiele

Erfolgreich. BazaarLink gibt nur Felder aus seiner öffentlichen Allowlist zurück, etwa die eigene Antwort-ID, model, choices und usage. Das Feld model folgt der öffentlichen Ausgaberegel von BazaarLink: Nach der Aliasauflösung kann der angeforderte Name erhalten bleiben; bei automatisch gerouteten Anfragen wird das tatsächlich verwendete Modell angezeigt. Das provider-Feld und weitere Upstream-Metadaten werden entfernt. usage.cost ist immer der von BazaarLink abgerechnete Betrag.

{
  "id": "85e6f35c71a31f19-SJC",
  "object": "chat.completion",
  "created": 1740000000,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Quantum computing leverages quantum mechanics..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 74,
    "total_tokens": 102,
    "cost": 0.000648
  }
}
Support
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
Chat erstellen — BazaarLink API