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

Contrato opcional de delegação client ou Responses, no formato do provedor.

delegation.responsesobject
Opcional

Configurações de backend do trabalho delegado quando type é responses.

delegation.responses.instructionsstring
Opcional

Prompt de backend para o trabalho delegado.

delegation.responses.max_output_tokensinteger
Opcional

Orçamento de tokens de saída da resposta delegada; no mínimo 16.

delegation.responses.modelstring
Obrigatório

Modelo Responses que executa o trabalho delegado.

delegation.responses.parallel_tool_callsboolean
Opcional

Allow independent delegated tool calls in one turn.

delegation.responses.reasoningobject
Opcional

Reasoning settings for the delegated model.

delegation.responses.service_tierstring
Opcional

Service tier requested for the delegated response.

delegation.responses.textobject
Opcional

Text output settings for the delegated response.

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

Which delegated tools the backend may use.

delegation.responses.toolsarray
Opcional

Ferramentas Responses hospedadas que a chamada delegada pode usar.

delegation.responses.tools[].typestring
Obrigatório Valores permitidos: web_search, web_search_preview, file_search, computer_use_preview
delegation.toolsarray
Opcional

Ferramentas function pertencentes ao cliente quando type é 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": {
    "responses": {
      "model": "gpt-5.6-terra",
      "tools": [
        {
          "type": "web_search"
        }
      ]
    },
    "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", "responses": {"model": "gpt-5.6-terra", "tools": [{"type": "web_search"}]}}}
)
response.raise_for_status()
print(response.json())