OpenAI Live
Send a request through RunAPI's OpenAI-compatible Live operation.
Vue d'ensemble
Use RunAPI's OpenAI-compatible Live operation with a compatible model and the protocol's request and response shapes.
Démarrage rapide
- Créez une clé API et définissez-la comme RUNAPI_API_KEY.
- Choisissez un modèle compatible, puis envoyez les paramètres de chemin et le corps JSON documentés.
- Lisez la réponse JSON ou les événements envoyés par le serveur affichés pour cette opération, et gérez les erreurs de protocole.
Point de terminaison
- URL de base
https://runapi.ai- Version du contrat
v1- Authentification recommandée
Authorization: Bearer YOUR_API_TOKEN
Supports d'authentification
RunAPI accepte chaque protocole listé ci-dessous. Les exemples générés utilisent l'en-tête préféré du protocole.
- header - Recommandé
Authorization: Bearer YOUR_API_TOKEN- header
x-api-key: YOUR_API_TOKEN
Modèles compatibles
Ouvrez une page de modèle pour consulter la tarification actuelle, les limites de débit et les conditions d'utilisation commerciale.
Afficher 1 modèle compatible
Contrat de requête
Seuls les champs disposant à la fois d'un protocole public et d'une prise en charge RunAPI avérée sont listés. Les champs supplémentaires du corps JSON sont transmis tels quels.
Corps JSON15 champs
delegation["object", "null"]Optional client or Responses delegation contract.
delegation.instructionsstringBackend prompt for delegated work when type is responses.
delegation.max_output_tokensintegerOutput token budget for the delegated response.
delegation.modelstringResponses model that runs delegated work when type is responses.
delegation.parallel_tool_callsbooleanAllow independent delegated tool calls in one turn.
delegation.reasoningobjectReasoning settings for the delegated model.
delegation.service_tierstringService tier requested for the delegated response.
delegation.textobjectText output settings for the delegated response.
delegation.tool_choice["string", "object"]Which delegated tools the backend may use.
delegation.toolsarrayHosted Responses tools, or client-owned function tools when type is 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.
Exemple de requête
{
"delegation": {
"model": "gpt-5.6-terra",
"tools": [
{
"type": "web_search_preview"
}
],
"type": "responses"
},
"model": "gpt-live-1",
"sdp": "v=0",
"transport": "webrtc"
}
Réponse synchrone
Schéma
{
"additionalProperties": true,
"properties": {
"session": {
"additionalProperties": true,
"type": "object"
},
"transport": {
"additionalProperties": true,
"type": "object"
}
},
"required": [
"session",
"transport"
],
"type": "object"
}
Exemple
{
"session": {
"id": "live_123"
},
"transport": {
"sdp": "answer",
"type": "webrtc"
}
}
Erreur de protocole : invalid_request
Schéma
{
"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"
}
Exemple
{
"error": {
"code": null,
"message": "Invalid Live session request",
"param": "sdp",
"type": "invalid_request_error"
}
}
Utilisation
Schéma
{
"additionalProperties": true,
"properties": {
"duration_seconds": {
"type": "number"
}
},
"required": [
"duration_seconds"
],
"type": "object"
}
Exemple
{
"duration_seconds": 3
}
Exemples de code générés
Chaque exemple cURL, JavaScript et Python envoie la requête validée depuis ce contrat sans nécessiter de SDK spécifique au protocole.
Installer
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", "model": "gpt-5.6-terra", "tools": [{"type": "web_search_preview"}]}}
)
response.raise_for_status()
print(response.json())