OneProvider

Streaming (SSE)

Receba respostas em tempo real: defina stream:true em qualquer endpoint e os eventos SSE da Anthropic chegam intactos. Com exemplos em Python e Node.

Defina stream:true em qualquer um dos endpoints. Os tipos de evento SSE da Anthropic chegam sem alteração e sem buffer.

Todos os modelos, recursos e preços Índice da documentação para agentes de IA: https://oneprovider.dev/docs/llms.txt

Por que usar streaming

  • O tempo até o primeiro token cai de segundos para ~100 ms.
  • Ciclos longos de uso de ferramentas ficam longe do limite de 6 minutos para uma resposta começar, porque o stream começa a responder na hora. Toda requisição tem teto de 10 minutos, veja os Códigos de erro .
  • Melhor experiência: renderização progressiva em vez de indicadores de carregamento parados.

Tipos de evento

  • message_start — o primeiro evento, retorna os metadados do assistente.
  • content_block_start · content_block_delta · content_block_stop — um conjunto por bloco de texto ou tool_use. Os deltas são text_delta ou input_json_delta (para a entrada da ferramenta).
  • message_delta — stop_reason e atualização de usage no final.
  • message_stop — o evento final.
  • ping — keep-alive a cada ~15 s.

Python (Anthropic SDK)

python
with client.messages.stream(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Tell me a haiku about Frankfurt."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
print("\n--", final.usage)

Node / TypeScript

ts
const stream = client.messages.stream({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Tell me a haiku about Frankfurt." }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
}
const final = await stream.finalMessage();
console.log("--", final.usage);

Fetch puro (navegador, edge-runtime)

ts
const r = await fetch("https://api.oneprovider.dev/v1/messages", {
method: "POST",
headers: {
"x-api-key": KEY,
"anthropic-version": "2023-06-01",
"content-type": "application/json",
},
body: JSON.stringify({
model: "claude-sonnet-5-5",
max_tokens: 1024,
stream: true,
messages: [{ role: "user", content: "stream me a poem" }],
}),
});
const reader = r.body!.pipeThrough(new TextDecoderStream()).getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
process.stdout.write(value);
}
Sem buffer Os eventos chegam ao seu cliente assim que o modelo os produz. Toda requisição, inclusive com streaming, tem teto de 10 minutos; veja os Códigos de erro .

Respostas rápidas

Qual base URL devo usar?

O Claude Code e os SDKs da Anthropic usam https://api.oneprovider.dev. Os SDKs da OpenAI e os clientes compatíveis com a OpenAI usam https://api.oneprovider.dev/v1. Uma única chave funciona nos dois; a lista de modelos está na página de modelos e os preços, na página de preços .

Como me autentico?

Envie a chave sk-… pura em x-api-key ou em Authorization: Bearer: um dos dois, nunca ambos. Guarde a chave em uma variável de ambiente, não em um arquivo que vai para o commit. Mais sobre autenticação .

Onde consigo uma chave?

Abra o seu painel no bot do Telegram @oneprovider_robot ou em app.oneprovider.dev, recarregue o saldo e toque em “Emitir chave”. Cada chave pode ter o seu próprio limite de gastos. Painel e chaves de API .

O que significam 401, 404 e 429?

401: a chave está ausente, foi digitada errado ou enviada no cabeçalho errado; cole a chave inteira, sem aspas nem espaços. 404: em geral, uma base URL errada, por exemplo um /v1 ausente ou duplicado. 429 com “Insufficient balance”: o saldo do painel ou o limite de gastos da chave acabou, então recarregue em vez de tentar de novo; qualquer outro 429 é um limite de requisições, então aguarde o tempo de Retry-After. Detalhes: códigos de erro e solução de problemas .

Por que os streams são cortados ou reiniciados?

VPNs e proxies VLESS costumam armazenar SSE em buffer ou quebrar a negociação do HTTP/2. A OneProvider não tem restrições regionais e não armazena streams em buffer; desative o proxy e tente de novo.

Onde pergunto se isso não bastar?

Escreva para @Oneproviderhelpbot no Telegram ou abra “Suporte” no painel web, informando o código de status HTTP e a mensagem de erro exata. Como funciona o suporte .

Última atualização: 2026-11-08 Encontrou um erro? @Oneproviderhelpbot