OneProvider

Streaming (SSE)

Réponses en flux : stream:true sur l’un ou l’autre point d’accès, les événements SSE d’Anthropic arrivent inchangés. Exemples Python, Node et fetch.

Définissez stream:true sur l’un ou l’autre endpoint. Les types d’événements SSE d’Anthropic arrivent tels quels, sans mise en tampon.

Tous les modèles, leurs capacités et leurs tarifs Index de la documentation pour les agents IA : https://oneprovider.dev/docs/llms.txt

Pourquoi utiliser le streaming

  • Le délai avant le premier jeton passe de plusieurs secondes à ~100 ms.
  • Les longues boucles d’utilisation d’outils restent sous la limite de 6 minutes pour le début d’une réponse, car un flux commence à répondre tout de suite. Toute requête est plafonnée à 10 minutes, voir Codes d’erreur .
  • Meilleure UX : affichage progressif au lieu de spinners figés.

Types d’événements

  • message_start — premier événement, renvoie les métadonnées de l’assistant.
  • content_block_start · content_block_delta · content_block_stop — un ensemble par bloc text ou tool_use. Les deltas sont soit text_delta, soit input_json_delta (pour l’entrée d’un outil).
  • message_delta — stop_reason et mise à jour de usage à la fin.
  • message_stop — événement final.
  • ping — signal de maintien de connexion toutes les ~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 brut (navigateur, 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);
}
Sans mise en tampon Les événements parviennent à votre client dès que le modèle les produit. Toute requête, streaming compris, est plafonnée à 10 minutes ; voir Codes d’erreur .

Réponses rapides

Quelle base URL utiliser ?

Claude Code et les SDK Anthropic utilisent https://api.oneprovider.dev. Les SDK OpenAI et les clients compatibles OpenAI utilisent https://api.oneprovider.dev/v1. Une seule clé fonctionne avec les deux ; la liste des modèles est sur la page des modèles , les tarifs sur la page des tarifs .

Comment s’authentifier ?

Envoyez la clé sk-… telle quelle dans x-api-key ou Authorization: Bearer : l’un des deux, jamais les deux. Conservez la clé dans une variable d’environnement, pas dans un fichier qui sera commité. En savoir plus sur l’authentification .

Où obtenir une clé ?

Ouvrez votre espace client dans le bot Telegram @oneprovider_robot ou sur app.oneprovider.dev, rechargez le solde et appuyez sur « Créer une clé ». Chaque clé peut avoir sa propre limite de dépense. Espace client et clés API .

Que signifient 401, 404 et 429 ?

401 : la clé est absente, mal saisie ou envoyée dans le mauvais en-tête ; collez la clé entière, sans guillemets ni espaces. 404 : le plus souvent une base URL incorrecte, par exemple un /v1 manquant ou en double. 429 avec « Insufficient balance » : le solde de l’espace client est à zéro ou la clé a atteint sa limite de dépense, donc rechargez au lieu de réessayer ; tout autre 429 est une limite de débit, donc attendez le délai indiqué par Retry-After. Détails : codes d’erreur et dépannage .

Pourquoi les flux se coupent-ils ou se réinitialisent-ils ?

Les VPN et les proxys VLESS mettent souvent le SSE en mémoire tampon ou perturbent la négociation HTTP/2. OneProvider n’a aucune restriction régionale et ne met pas les flux en mémoire tampon : désactivez le proxy et réessayez.

Où demander de l’aide si cela ne suffit pas ?

Écrivez à @Oneproviderhelpbot sur Telegram ou ouvrez « Support » dans l’espace client web, en indiquant le code de statut HTTP et le message d’erreur exact. Comment fonctionne le support .

Dernière mise à jour: 2026-11-08 Vous avez trouvé un bug ? @Oneproviderhelpbot