LLM-API-Protokolle

Atlas Cloud spricht OpenAI Chat Completions, Completions, Responses, Images, Anthropic Messages und Google Gemini. Ein Schlüssel, eine Basis-URL, sechs Wire-Formate.

Atlas Cloud akzeptiert sechs verschiedene Anfrageformate unter derselben Basis-URL mit demselben API-Schlüssel. Richten Sie ein vorhandenes SDK auf Atlas Cloud aus, und es funktioniert in der Regel unverändert — kein Umschreiben, keine eigene Adapterschicht.

https://api.atlascloud.ai

Protokollmatrix

ProtokollEndpunktWann Sie es verwenden
OpenAI Chat CompletionsPOST /v1/chat/completionsStandardwahl. Größte Modellabdeckung
OpenAI CompletionsPOST /v1/completionsKlassische Textvervollständigung. Nur wenige Modelle unterstützen sie
OpenAI ResponsesPOST /v1/responsesSie nutzen bereits die Responses API
OpenAI ImagesPOST /v1/images/generations, /v1/images/editsSynchrone Bildaufrufe über einen OpenAI-Client
Anthropic MessagesPOST /v1/messagesSie nutzen bereits das Anthropic SDK oder Claude Code
Google GeminiPOST /v1beta/models/{model}:generateContentSie nutzen bereits das Google GenAI SDK

Nicht jedes Modell spricht jedes Protokoll. Jedes Modell veröffentlicht eine Liste supported_apis — prüfen Sie diese, bevor Sie das Format wechseln. Die Liste ist geordnet: Der erste Eintrag ist die Empfehlung für dieses Modell. Modelle der Gemini-Familie zeigen ihre volle multimodale Leistungsfähigkeit beispielsweise nur im nativen Gemini-Format.

Authentifizierung

Ihr API-Schlüssel funktioniert mit vier verschiedenen Header-Varianten, sodass sich SDKs anderer Anbieter ohne Anpassung authentifizieren:

-H "Authorization: Bearer $ATLASCLOUD_API_KEY"

Empfohlen und mit jedem Protokoll nutzbar.

Atlas Cloud API-Schlüssel beginnen mit apikey-. Siehe API-Schlüssel.

OpenAI Chat Completions

Das am breitesten unterstützte Format.

curl https://api.atlascloud.ai/v1/chat/completions \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/deepseek-v3.2",
    "messages": [{"role": "user", "content": "Explain HTTP vs HTTPS"}],
    "max_tokens": 1024,
    "stream": true
  }'

Mit dem OpenAI SDK — zwei Zeilen ändern:

from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ATLASCLOUD_API_KEY"],
    base_url="https://api.atlascloud.ai/v1",
)

response = client.chat.completions.create(
    model="deepseek-ai/deepseek-v3.2",
    messages=[{"role": "user", "content": "Explain HTTP vs HTTPS"}],
)
print(response.choices[0].message.content)

Sampling-Parameter. Die Unterstützung variiert je Modell — jedes Modell veröffentlicht eigene supported_sampling_parameters. Häufig verfügbar: temperature (0–2), top_p (0–1), top_k, min_p, frequency_penalty (−2–2), presence_penalty (−2–2), repetition_penalty, stop, seed, logit_bias, logprobs, top_logprobs (0–20).

Strukturierte Ausgabe. response_format akzeptiert sowohl {"type": "json_object"} als auch eine json_schema-Definition — bei Modellen, die json_mode oder structured_outputs ausweisen.

Tool-Aufrufe. tools, tool_choice und parallel_tool_calls werden bei Modellen durchgereicht, die tools ausweisen.

Multimodale Eingaben. Bilder, Video und Audio können als Content-Parts angehängt werden:

{
  "role": "user",
  "content": [
    { "type": "text", "text": "What is in this image?" },
    { "type": "image_url", "image_url": { "url": "https://example.com/photo.jpg" } },
    { "type": "video_url", "video_url": { "url": "https://example.com/clip.mp4" } },
    { "type": "input_audio", "input_audio": { "data": "<base64>", "format": "mp3" } }
  ]
}

video_url ist eine Atlas Cloud Erweiterung über die OpenAI-Spezifikation hinaus. Audio muss als Inline-Base64 vorliegen — für input_audio wird keine URL akzeptiert.

Anthropic Messages

curl https://api.atlascloud.ai/v1/messages \
  -H "x-api-key: $ATLASCLOUD_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/deepseek-v3.2",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Richten Sie das Anthropic SDK auf Atlas Cloud aus, indem Sie base_url auf https://api.atlascloud.ai setzen.

Unterstützt. system (String oder Block-Array), stop_sequences, tools mit input_schema, tool_choice, thinking, Bildblöcke (sowohl base64- als auch url-Quellen), document-Blöcke und tool_result. Assistant-thinking-Blöcke werden auf Reasoning-Ausgaben abgebildet.

Unterschiede, die Sie kennen sollten:

VerhaltenDetail
stop_sequencesAuf die ersten 4 Einträge gekürzt
tool_choice: "any"Wird auf required abgebildet
cache_controlWird ignoriert, wenn das Zielmodell über ein übersetztes Protokoll bedient wird — Prompt-Caching greift dann nicht
Eingebaute Server-ToolsWebsuche, Computer Use und ähnliche von Anthropic gehostete Tools sind nicht verfügbar
POST /v1/messages/count_tokensNicht implementiert
MultimodalNur Bilder. Video- und Audio-Parts werden bei diesem Protokoll nicht akzeptiert

Streaming folgt der Anthropic-Ereignisfolge: message_start, content_block_start, content_block_delta, content_block_stop, message_delta, message_stop. Es gibt kein [DONE]-Sentinel.

OpenAI Responses

curl https://api.atlascloud.ai/v1/responses \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/deepseek-v3.2",
    "input": [{"role": "user", "content": [{"type": "input_text", "text": "Hello"}]}],
    "max_output_tokens": 1024
  }'

Unterstützt. instructions, input in allen Ausprägungen, tools, tool_choice, reasoning.effort, text.format (sowohl json_object als auch json_schema), text.verbosity, temperature, top_p, stream, parallel_tool_calls.

Stillschweigend ignoriert — werden ohne Fehler akzeptiert, haben aber keine Wirkung: previous_response_id, store, include, background, conversation, prompt, truncation, max_tool_calls, top_logprobs und reasoning.summary. metadata wird zurückgegeben, aber nicht weitergeleitet.

Da previous_response_id und store keine Wirkung haben, ist serverseitiger Konversationszustand nicht verfügbar. Senden Sie die vollständige Konversation mit jeder Anfrage.

Multimodal. Bilder und Audio. Kein Video bei diesem Protokoll. Bilder verwenden {"type": "input_image", "image_url": "<url string>"} — beachten Sie, dass der Wert ein einfacher String ist, kein Objekt.

Streaming sendet den Standard-Ereignissatz von Responses und endet mit response.completed, response.incomplete oder response.failed. Es gibt kein [DONE]-Sentinel.

Google Gemini

# Non-streaming
curl "https://api.atlascloud.ai/v1beta/models/MODEL_ID:generateContent" \
  -H "x-goog-api-key: $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"role": "user", "parts": [{"text": "Hello"}]}],
    "generationConfig": {"maxOutputTokens": 1024, "temperature": 0.7}
  }'

# Streaming — the alt=sse parameter is required
curl "https://api.atlascloud.ai/v1beta/models/MODEL_ID:streamGenerateContent?alt=sse" \
  -H "x-goog-api-key: $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contents": [{"role": "user", "parts": [{"text": "Hello"}]}]}'

?alt=sse ist für Streaming zwingend erforderlich. Ohne diesen Parameter liefert die Anfrage 404.

Unterstützt. contents[] mit den Rollen user und model, systemInstruction, generationConfig und tools.

Multimodal. Bilder, Video und Audio — inline über inline_data oder per Referenz über file_data.file_uri.

Dieses Protokoll wird nur von Modellen bedient, die es nativ sprechen. Modelle, deren Bezeichner nano, banana oder omni enthält, werden hier abgelehnt; nutzen Sie dafür Chat Completions oder die Endpunkte zur Mediengenerierung.

OpenAI Images

Synchrone Bildgenerierung für OpenAI-kompatible Clients:

curl https://api.atlascloud.ai/v1/images/generations \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "MODEL_ID", "prompt": "a cat", "n": 1, "size": "1024x1024"}'

/v1/images/edits erwartet multipart/form-data. Nur wenige Modelle weisen dieses Protokoll aus.

Dies ist ein anderer Weg als die primäre Bild-Pipeline. Die meisten Bildmodelle — und alle Video-, Audio- und 3D-Modelle — nutzen die asynchronen Endpunkte, die unter Vorhersagen beschrieben sind. Prüfen Sie supported_apis eines Modells, bevor Sie sich entscheiden.

Gateway-Verhalten

Das Gateway normalisiert unterwegs einige Dinge. Diese stehen nicht in den Upstream-Spezifikationen und werden Sie beim Debuggen einer Antwort überraschen:

VerhaltenGilt fürDetail
Nutzungsstatistiken erzwungenStreaming-Anfragenstream_options.include_usage wird auf true gesetzt, sodass immer ein abschließender Usage-Chunk eintrifft
Standard-System-PromptChat Completions, Messages, ResponsesWenn Sie keinen System-Prompt senden, wird "You are a helpful assistant." eingefügt
max_completion_tokens umgeschriebenChat CompletionsWird in max_tokens umgewandelt
Reasoning-Flags normalisiertChat Completionsenable_thinking, thinking.type und reasoning_effort: "none" werden vereinheitlicht
Keep-Alive-KommentareStreamingLeerlaufende Streams senden SSE-Kommentarzeilen, die mit : beginnen. Clients müssen sie ignorieren
Limit für den Anfrage-BodyAlle Endpunkte50 MB. Größere Payloads liefern 413 — nutzen Sie eine URL oder laden Sie die Datei hoch

Nicht verfügbar

Diese Endpunkte existieren bei Atlas Cloud nicht. Anfragen an sie funktionieren unabhängig vom Modell nicht:

  • /v1/embeddings
  • /v1/rerank
  • /v1/audio/speech und /v1/audio/transcriptions — Audio läuft über den Audio-Endpunkt
  • /v1/messages/count_tokens

Anbieter wie Ollama, Cohere und Bedrock werden nicht als native Protokolle bereitgestellt. Modelle vieler Hersteller sind verfügbar, aber immer über eines der sechs oben genannten Formate.

Ratenbegrenzungen und Fehler

Ratenbegrenzungen gelten pro Konto und pro Modell. Wenn Sie eine überschreiten, liefert die API 429.

LLM-Endpunkte liefern keine X-RateLimit-*-Header, und 429-Antworten dieser Endpunkte enthalten kein Retry-After. Implementieren Sie exponentielles Backoff auf der Client-Seite, statt sich auf Antwort-Header zu verlassen.

Jede Antwort enthält einen X-Request-ID-Header. Geben Sie ihn an, wenn Sie den Support kontaktieren.

Verwandte Themen

Last updated on

On this page