Pular para o conteúdo
Referência de API
Referência de API

OpenAI Live

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

01

Visão geral

Use RunAPI's OpenAI-compatible Live operation with a compatible model and the protocol's request and response shapes.

Início rápido

  1. Crie uma Chave de API e defina-a como RUNAPI_API_KEY.
  2. Escolha um modelo compatível, depois envie os parâmetros de caminho e o corpo JSON documentados.
  3. Leia a resposta JSON ou os eventos enviados pelo servidor exibidos para esta operação e trate os erros de protocolo.

Endpoint

POST /v1/live/webrtc
URL base
https://runapi.ai
Versão do contrato
v1
Autenticação preferida
Authorization: Bearer YOUR_API_TOKEN
02

Portadores de autenticação

O RunAPI aceita cada carrier listado abaixo. Os exemplos gerados usam o cabeçalho preferido do protocolo.

header - Preferido
Authorization: Bearer YOUR_API_TOKEN
header
x-api-key: YOUR_API_TOKEN
03

Modelos compatíveis

Abra uma página de modelo para ver preços atuais, limites de taxa e detalhes de uso comercial.

Mostrar 1 modelo compatível
04

Contrato de solicitação

Corpo JSON

Apenas os campos com evidências de suporte tanto no protocolo público quanto no RunAPI são listados. Campos adicionais no corpo JSON são repassados diretamente.

Corpo JSON15 campos
delegation["object", "null"]
Opcional

Optional client or Responses delegation contract.

delegation.instructionsstring
Opcional

Backend prompt for delegated work when type is responses.

delegation.max_output_tokensinteger
Opcional

Output token budget for the delegated response.

delegation.modelstring
Opcional

Responses model that runs delegated work when type is responses.

delegation.parallel_tool_callsboolean
Opcional

Allow independent delegated tool calls in one turn.

delegation.reasoningobject
Opcional

Reasoning settings for the delegated model.

delegation.service_tierstring
Opcional

Service tier requested for the delegated response.

delegation.textobject
Opcional

Text output settings for the delegated response.

delegation.tool_choice["string", "object"]
Opcional

Which delegated tools the backend may use.

delegation.toolsarray
Opcional

Hosted Responses tools, or client-owned function tools when type is client.

delegation.tools[].typestring
Obrigatório
delegation.typestring
Opcional Valores permitidos: client, responses
modelstring
Obrigatório

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

sdpstring
Obrigatório

Client SDP offer for the WebRTC session.

transportstring
Obrigatório

WebRTC session negotiation transport.

Exemplo de solicitação

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

Resposta síncrona

HTTP 201

Esquema

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

Exemplo

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

Erro de protocolo: invalid_request

HTTP 400

Esquema

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"
}

Exemplo

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

Uso

Esquema

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

Exemplo

JSON
{
  "duration_seconds": 3
}
08

Exemplos de Código Gerados

Cada exemplo em cURL, JavaScript e Python envia a requisição validada deste contrato sem exigir um SDK específico do protocolo.

Instalar

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", "model": "gpt-5.6-terra", "tools": [{"type": "web_search_preview"}]}}
)
response.raise_for_status()
print(response.json())