Aller au contenu
Référence API
Référence API

OpenAI Live

Send a request through RunAPI's OpenAI-compatible Live operation.

01

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

  1. Créez une clé API et définissez-la comme RUNAPI_API_KEY.
  2. Choisissez un modèle compatible, puis envoyez les paramètres de chemin et le corps JSON documentés.
  3. 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

POST /v1/live/webrtc
URL de base
https://runapi.ai
Version du contrat
v1
Authentification recommandée
Authorization: Bearer YOUR_API_TOKEN
02

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
03

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
04

Contrat de requête

Corps JSON

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 JSON18 champs
delegation["object", "null"]
Optionnel

Contrat facultatif de délégation client ou Responses, au format du fournisseur.

delegation.responsesobject
Optionnel

Paramètres backend du travail délégué lorsque type vaut responses.

delegation.responses.instructionsstring
Optionnel

Prompt backend pour le travail délégué.

delegation.responses.max_output_tokensinteger
Optionnel

Budget de tokens de sortie de la réponse déléguée ; au moins 16.

delegation.responses.modelstring
Requis

Modèle Responses qui exécute le travail délégué.

delegation.responses.parallel_tool_callsboolean
Optionnel

Allow independent delegated tool calls in one turn.

delegation.responses.reasoningobject
Optionnel

Reasoning settings for the delegated model.

delegation.responses.service_tierstring
Optionnel

Service tier requested for the delegated response.

delegation.responses.textobject
Optionnel

Text output settings for the delegated response.

delegation.responses.tool_choice["string", "object"]
Optionnel

Which delegated tools the backend may use.

delegation.responses.toolsarray
Optionnel

Outils Responses hébergés que l'appel délégué peut utiliser.

delegation.responses.tools[].typestring
Requis Valeurs autorisées: web_search, web_search_preview, file_search, computer_use_preview
delegation.toolsarray
Optionnel

Outils function détenus par le client lorsque type vaut client.

delegation.tools[].typestring
Requis
delegation.typestring
Optionnel Valeurs autorisées: client, responses
modelstring
Requis

RunAPI model identifier; Live currently supports gpt-live-1.

sdpstring
Requis

Client SDP offer for the WebRTC session.

transportstring
Requis

WebRTC session negotiation transport.

Exemple de requête

JSON
{
  "delegation": {
    "responses": {
      "model": "gpt-5.6-terra",
      "tools": [
        {
          "type": "web_search"
        }
      ]
    },
    "type": "responses"
  },
  "model": "gpt-live-1",
  "sdp": "v=0",
  "transport": "webrtc"
}
05

Réponse synchrone

HTTP 201

Schéma

JSON
{
  "additionalProperties": true,
  "properties": {
    "session": {
      "additionalProperties": true,
      "type": "object"
    },
    "transport": {
      "additionalProperties": true,
      "type": "object"
    }
  },
  "required": [
    "session",
    "transport"
  ],
  "type": "object"
}

Exemple

JSON
{
  "session": {
    "id": "live_123"
  },
  "transport": {
    "sdp": "answer",
    "type": "webrtc"
  }
}
06

Erreur de protocole : invalid_request

HTTP 400

Schéma

JSON
{
  "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

JSON
{
  "error": {
    "code": null,
    "message": "Invalid Live session request",
    "param": "sdp",
    "type": "invalid_request_error"
  }
}
07

Utilisation

Schéma

JSON
{
  "additionalProperties": true,
  "properties": {
    "duration_seconds": {
      "type": "number"
    }
  },
  "required": [
    "duration_seconds"
  ],
  "type": "object"
}

Exemple

JSON
{
  "duration_seconds": 3
}
08

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

Shell
pip install requests
PYTHON
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())