Source: https://aiprimetech.io/es/docs/api-reference/streaming/ [Inicio](/es/) / [Documentación](/es/docs/) / Transmisión en tiempo real # Transmisión en tiempo real Eventos enviados por el servidor en ambos formatos: sus estructuras difieren y, si los confundes, parecerá que no llega nada. Copiar página [ Ver como Markdown](/es/docs/api-reference/streaming.md) [ Preguntar a ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/api-reference/streaming.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Preguntar en Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/api-reference/streaming.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) Configura stream en true y la respuesta pasa a ser text/event-stream. Ambos endpoints transmiten en streaming, pero emiten eventos con estructuras diferentes. ## Formato de Anthropic ``` Copycurl -N https://aiprimetech.io/v1/messages \ -H "x-api-key: $CLAUDEAPIKEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-sonnet-4-6","max_tokens":512,"stream":true, "messages":[{"role":"user","content":"Count to five"}]}' ``` ``` Copyevent: message_start data: {"type":"message_start","message":{"id":"msg_...","usage":{"input_tokens":9}}} event: content_block_delta data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"One"}} event: message_delta data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":14}} event: message_stop data: {"type":"message_stop"} ``` El texto llega en content_block_delta eventos en delta.text. Los recuentos finales de tokens de salida llegan en message_delta, no message_start. ## Formato de OpenAI ``` Copydata: {"choices":[{"delta":{"content":"One"},"index":0}]} data: {"choices":[{"delta":{},"finish_reason":"stop","index":0}]} data: [DONE] ``` El texto llega en choices[0].delta.content, y el flujo termina con un marcador literal data: [DONE] que no es JSON. Esta discrepancia produce una respuesta vacía sin ningún error: un cliente que analiza choices[].delta.content en un flujo de Messages no encuentra nada, siempre, e informa de que la operación se ha completado correctamente. Si el streaming parece funcionar pero no devuelve nada, comprueba qué estructura estás analizando. ## Python, SDK de Anthropic ``` Copyfrom anthropic import Anthropic client = Anthropic(api_key=class="s">"sk-your-key", base_url=class="s">"https://aiprimetech.io") with client.messages.stream( model=class="s">"claude-sonnet-4-6", max_tokens=512, messages=[{class="s">"role": class="s">"user", class="s">"content": class="s">"Count to five"}], ) as stream: for text in stream.text_stream: print(text, end=class="s">"", flush=True) ``` ## Notas operativas - Usa curl -N al hacer pruebas manuales; de lo contrario, curl almacena todo el flujo en un búfer y parece que no ocurre nada. - Desactiva el almacenamiento en búfer del proxy situado delante de tu propia aplicación (proxy_buffering off en nginx) o los clientes recibirán la respuesta de golpe al final. - Si la conexión se interrumpe durante el streaming, los tokens ya generados se facturan igualmente. - El streaming no cambia el precio, solo el momento en que llegan los bytes. [API de mensajesReferencia sin streaming](/es/docs/api-reference/messages/)[ErroresFallos durante el streaming](/es/docs/api-reference/errors/)[Resolución de problemasRespuestas vacías](/es/docs/guides/troubleshooting/) [AnteriorEndpoint de modelos](/es/docs/api-reference/models-endpoint/)[SiguienteErrores](/es/docs/api-reference/errors/)