OpenAI Live
Send a request through RunAPI's OpenAI-compatible Live operation.
Omówienie
Use RunAPI's OpenAI-compatible Live operation with a compatible model and the protocol's request and response shapes.
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
Zgodne modele
Otwórz stronę modelu, aby zapoznać się z aktualnymi cenami, limitami żądań i szczegółami dotyczącymi użytku komercyjnego.
Pokaż 1 kompatybilny model
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ść JSON18 pola
delegation["object", "null"]Opcjonalny kontrakt delegacji client lub Responses, w formacie dostawcy.
delegation.responsesobjectUstawienia backendu pracy delegowanej, gdy type ma wartość responses.
delegation.responses.instructionsstringPrompt backendu dla pracy delegowanej.
delegation.responses.max_output_tokensintegerBudżet tokenów wyjściowych delegowanej odpowiedzi; co najmniej 16.
delegation.responses.modelstringModel Responses wykonujący delegowaną pracę.
delegation.responses.parallel_tool_callsbooleanAllow independent delegated tool calls in one turn.
delegation.responses.reasoningobjectReasoning settings for the delegated model.
delegation.responses.service_tierstringService tier requested for the delegated response.
delegation.responses.textobjectText output settings for the delegated response.
delegation.responses.tool_choice["string", "object"]Which delegated tools the backend may use.
delegation.responses.toolsarrayHostowane narzędzia Responses, z których może korzystać delegowane wywołanie.
delegation.responses.tools[].typestringweb_search, web_search_preview, file_search, computer_use_preview
delegation.toolsarrayNarzędzia function należące do klienta, gdy type ma wartość client.
delegation.tools[].typestringdelegation.typestringclient, responses
modelstringRunAPI model identifier; Live currently supports gpt-live-1.
sdpstringClient SDP offer for the WebRTC session.
transportstringWebRTC session negotiation transport.
Przykład żądania
{
"delegation": {
"responses": {
"model": "gpt-5.6-terra",
"tools": [
{
"type": "web_search"
}
]
},
"type": "responses"
},
"model": "gpt-live-1",
"sdp": "v=0",
"transport": "webrtc"
}
Odpowiedź synchroniczna
Schemat
{
"additionalProperties": true,
"properties": {
"session": {
"additionalProperties": true,
"type": "object"
},
"transport": {
"additionalProperties": true,
"type": "object"
}
},
"required": [
"session",
"transport"
],
"type": "object"
}
Przykład
{
"session": {
"id": "live_123"
},
"transport": {
"sdp": "answer",
"type": "webrtc"
}
}
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": "Invalid Live session request",
"param": "sdp",
"type": "invalid_request_error"
}
}
Użycie
Schemat
{
"additionalProperties": true,
"properties": {
"duration_seconds": {
"type": "number"
}
},
"required": [
"duration_seconds"
],
"type": "object"
}
Przykład
{
"duration_seconds": 3
}
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/live/webrtc",
headers={"Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json"},
json={"model": "gpt-live-1", "transport": "webrtc", "sdp": "v=0", "delegation": {"type": "responses", "responses": {"model": "gpt-5.6-terra", "tools": [{"type": "web_search"}]}}}
)
response.raise_for_status()
print(response.json())