curl -X POST https://api-llm.sunra.ai/v1/messages \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/messages",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "anthropic/claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, how are you?"}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/messages", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "anthropic/claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [
{ role: "user", content: "Hello, how are you?" }
]
})
});
const data = await response.json();
console.log(data);
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
],
"model": "anthropic/claude-sonnet-4-20250514",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 12,
"output_tokens": 15,
"total_tokens": 27,
"sunra_usage_semantics": "anthropic.exclusive.v1"
}
}
LLM
Create a message
POST
/
v1
/
messages
curl -X POST https://api-llm.sunra.ai/v1/messages \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/messages",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "anthropic/claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, how are you?"}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/messages", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "anthropic/claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [
{ role: "user", content: "Hello, how are you?" }
]
})
});
const data = await response.json();
console.log(data);
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
],
"model": "anthropic/claude-sonnet-4-20250514",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 12,
"output_tokens": 15,
"total_tokens": 27,
"sunra_usage_semantics": "anthropic.exclusive.v1"
}
}
Erstellt eine Nachricht im Anthropic Messages API-Format. Unterstützt Text, Bilder, PDFs, Tools und erweitertes Denken.
Authentifizierung
string
erforderlich
Bearer-Token. Verwenden Sie Ihren API-Schlüssel als Bearer-Token im Authorization-Header.Format:
Bearer <SUNRA_KEY>Anfrage
Dieser Endpunkt erwartet ein JSON-Objekt.string
erforderlich
Das Modell, das für die Nachricht verwendet werden soll. Verfügbare Modelle finden Sie unter sunra.ai/models.
object[]
erforderlich
integer
erforderlich
Die maximale Anzahl der zu generierenden Tokens vor dem Stoppen.
string
System-Prompt. Gibt Anweisungen, denen das Modell folgen soll.
boolean
Standard:false
Ob die Antwort mittels Server-Sent Events (SSE) gestreamt werden soll.
number
Grad der Zufälligkeit in der Antwort. Bereich von 0.0 bis 1.0.
number
Nucleus-Sampling-Parameter. Verwenden Sie einen Wert zwischen 0 und 1.
integer
Sampelt nur aus den Top-K-Optionen für jedes nachfolgende Token. Wird verwendet, um Antworten mit geringer Wahrscheinlichkeit aus dem “Long Tail” zu entfernen.
string[]
Benutzerdefinierte Textsequenzen, die das Modell dazu veranlassen, die Generierung zu stoppen.
object
Ein Objekt, das Metadaten über die Anfrage beschreibt.
Anzeigen Eigenschaften
Anzeigen Eigenschaften
string
Ein externer Bezeichner für den Benutzer, der mit der Anfrage verknüpft ist.
Antwort
Erfolgreiche Nachrichtenantwort.string
Eindeutiger Nachrichtenbezeichner.
string
Objekttyp. Immer
message.string
Die Rolle der generierten Nachricht. Immer
assistant.object[]
string
Das Modell, das die Anfrage bearbeitet hat.
string
Der Grund, warum das Modell die Generierung gestoppt hat. Kann
end_turn, max_tokens, stop_sequence oder tool_use sein.string | null
Die Stoppsequenz, die das Modell zum Stoppen veranlasst hat, falls zutreffend.
object
Token-Nutzungsstatistiken. Die drei Eingabe-Buckets schließen sich gegenseitig aus – siehe Token-Nutzung.
Anzeigen Eigenschaften
Anzeigen Eigenschaften
integer
Anzahl der verarbeiteten frischen Eingabe-Tokens. Schließt beide Cache-Buckets aus.
integer
Anzahl der generierten Ausgabe-Tokens.
integer
Alle Eingabe-Buckets plus
output_tokens. Wird bei gestreamten Antworten weggelassen.string | null
Vorhanden als
anthropic.exclusive.v1, wenn Sunra diese Antwort normalisiert hat. Prüfen Sie auf diesen Wert, anstatt die Konvention aus den Zahlen abzuleiten. Siehe Token-Nutzung.curl -X POST https://api-llm.sunra.ai/v1/messages \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/messages",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "anthropic/claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, how are you?"}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/messages", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "anthropic/claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [
{ role: "user", content: "Hello, how are you?" }
]
})
});
const data = await response.json();
console.log(data);
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
],
"model": "anthropic/claude-sonnet-4-20250514",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 12,
"output_tokens": 15,
"total_tokens": 27,
"sunra_usage_semantics": "anthropic.exclusive.v1"
}
}
⌘I