OpenAI Chat Completions
Wyślij żądanie przez operację Chat Completions kompatybilną z OpenAI w RunAPI.
Omówienie
Użyj operacji Chat Completions zgodnej z OpenAI w RunAPI z kompatybilnym modelem oraz kształtami żądań i odpowiedzi protokołu.
Szybki start
- Utwórz klucz API i ustaw go jako RUNAPI_API_KEY.
- Wybierz zgodny model, a następnie wyślij udokumentowane parametry ścieżki i treść JSON.
- Odczytaj odpowiedź JSON lub zdarzenia wysyłane przez serwer pokazane dla tej operacji i obsłuż błędy protokołu.
Punkt końcowy
- Bazowy URL
https://runapi.ai- Wersja kontraktu
v1- Preferowane uwierzytelnianie
Authorization: Bearer YOUR_API_TOKEN
Nośniki uwierzytelniania
RunAPI akceptuje każdy z wymienionych poniżej protokołów. Wygenerowane przykłady używają preferowanego nagłówka danego protokołu.
- header - Preferowane
Authorization: Bearer YOUR_API_TOKEN- header
x-api-key: YOUR_API_TOKEN- header
x-goog-api-key: YOUR_API_TOKEN- query
?key=YOUR_API_TOKEN
Zgodne modele
Otwórz stronę modelu, aby zapoznać się z aktualnymi cenami, limitami żądań i szczegółami dotyczącymi użytku komercyjnego.
Pokaż 60 zgodnych modeli
- claude-fable-5-1
- claude-fable-5
- claude-sonnet-5
- claude-opus-5
- claude-opus-4-8
- claude-opus-4-7
- claude-opus-4-6
- claude-sonnet-4-6
- claude-opus-4-5-20251101
- claude-sonnet-4-5-20250929
- claude-haiku-4-5-20251001
- claude-opus-4-1-20250805
- gpt-5.5
- gpt-5.5-pro
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano
- gpt-5.4-pro
- gpt-5.3-codex
- gpt-5.3-codex-spark
- gpt-5.2
- gpt-5.6-luna
- gpt-5.6-sol
- gpt-5.6-terra
- gpt-6-astra
- gemini-3.7-flash
- gemini-3.6-flash
- gemini-3.5-flash
- gemini-3.1-pro-preview
- gemini-3-flash-preview
- gemini-2.5-pro
- gemini-2.5-flash
- deepseek-v4-flash-vision-exp
- deepseek-v4-pro
- deepseek-v4-flash
- glm-5.3
- glm-5.2
- glm-5.1
- glm-5-turbo
- glm-5
- glm-4.7
- glm-4.6
- glm-4.5
- glm-4.5-air
- kimi-k3
- kimi-k2.7-code
- kimi-k2.6
- kimi-k2.5
- MiniMax-M3
- MiniMax-M2.7
- MiniMax-M2.7-highspeed
- MiniMax-M2.5
- MiniMax-M2.5-highspeed
- MiniMax-M2.1
- MiniMax-M2
- mimo-v2.5-pro
- mimo-v2.5
- grok-4.20-0309-non-reasoning
- grok-4.5
- grok-4.3
Kontrakt żądania
Wymieniane są tylko pola mające zarówno publiczną dokumentację protokołu, jak i potwierdzenie obsługi przez RunAPI. Dodatkowe pola treści JSON są przekazywane bez zmian.
Treść JSON9 pola
max_tokens["integer", "null"]Limit tokenów generacji zachowany dla zgodności z obsługiwanymi modelami; obsługa modeli może się różnić.
messagesarrayWiadomości rozmowy w formacie OpenAI Chat Completions.
messages[].content["string", "array"]messages[].rolestringmodelstringIdentyfikator modelu RunAPI zwrócony przez kompatybilny katalog modeli.
stream["boolean", "null"]Zwróć fragmenty Chat Completions jako zdarzenia wysyłane przez serwer.
Domyślna wartość:false
temperature["number", "null"]Temperatura próbkowania; obsługa przez model może się różnić.
toolsarrayNarzędzia, które model może wywoływać.
top_p["number", "null"]Prawdopodobieństwo próbkowania jądra; obsługa przez model może być różna.
Przykład żądania
{
"messages": [
{
"content": "Summarize one practical improvement for an API deployment.",
"role": "user"
}
],
"model": "gpt-5.4",
"stream": false
}
Odpowiedź synchroniczna
Schemat
{
"additionalProperties": true,
"properties": {
"choices": {
"type": "array"
},
"created": {
"type": "integer"
},
"id": {
"type": "string"
},
"model": {
"type": "string"
},
"object": {
"const": "chat.completion",
"type": "string"
},
"usage": {
"additionalProperties": true,
"properties": {
"completion_tokens": {
"type": "integer"
},
"prompt_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"prompt_tokens",
"completion_tokens",
"total_tokens"
],
"type": "object"
}
},
"required": [
"id",
"object",
"created",
"model",
"choices"
],
"type": "object"
}
Przykład
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "Hello! How can I help today?",
"role": "assistant"
}
}
],
"created": 1785196800,
"id": "chatcmpl_example",
"model": "gpt-5.4",
"object": "chat.completion",
"usage": {
"completion_tokens": 8,
"prompt_tokens": 12,
"total_tokens": 20
}
}
Zdarzenie SSE: chunk
Schemat
{
"additionalProperties": true,
"properties": {
"choices": {
"type": "array"
},
"created": {
"type": "integer"
},
"id": {
"type": "string"
},
"model": {
"type": "string"
},
"object": {
"const": "chat.completion.chunk",
"type": "string"
},
"usage": {
"oneOf": [
{
"additionalProperties": true,
"properties": {
"completion_tokens": {
"type": "integer"
},
"prompt_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"prompt_tokens",
"completion_tokens",
"total_tokens"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"object",
"choices"
],
"type": "object"
}
Przykład
{
"choices": [
{
"delta": {
"content": "Hello"
},
"finish_reason": null,
"index": 0
}
],
"id": "chatcmpl_example",
"object": "chat.completion.chunk",
"usage": null
}
Błąd protokołu: invalid_request
Schemat
{
"additionalProperties": true,
"properties": {
"error": {
"additionalProperties": true,
"properties": {
"code": {
"type": [
"string",
"null"
]
},
"message": {
"type": "string"
},
"param": {
"type": [
"string",
"null"
]
},
"type": {
"type": "string"
}
},
"required": [
"message",
"type"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}
Przykład
{
"error": {
"code": null,
"message": "messages is required",
"param": "messages",
"type": "invalid_request_error"
}
}
Użycie
Schemat
{
"additionalProperties": true,
"properties": {
"completion_tokens": {
"type": "integer"
},
"prompt_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
},
"required": [
"prompt_tokens",
"completion_tokens",
"total_tokens"
],
"type": "object"
}
Przykład
{
"completion_tokens": 8,
"prompt_tokens": 12,
"total_tokens": 20
}
Wygenerowane przykłady kodu
Każdy przykład cURL, JavaScript i Python wysyła zwalidowane żądanie z tej specyfikacji bez konieczności używania SDK właściwego dla protokołu.
Instalacja
pip install requests
import requests
response = requests.post(
"https://runapi.ai/v1/chat/completions",
headers={"Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json"},
json={"model": "gpt-5.4", "messages": [{"role": "user", "content": "Summarize one practical improvement for an API deployment."}], "stream": False}
)
response.raise_for_status()
print(response.json())