
Habla dentro, habla fuera, sobre una sola cavidad, con comprensión paralingüística del tono y el ritmo.
Habla dentro, habla fuera, sobre una sola cavidad, con comprensión paralingüística del tono y el ritmo.
La sesión se configura con eventos session.update sobre el socket en lugar de parámetros de solicitud.
También conocido como StepAudio Realtime, StepFun StepAudio 2.5 Realtime
stepaudio-2-5-realtime/v1/realtimestepaudio-2.5-realtimestepfun/stepaudio-2-5-realtimeTarifas de pago por uso en vivo del catálogo de EmpirioLabs. Solo pagas por lo que usas, sin mínimo mensual.
StepAudio 2.5 Realtime mantiene una conversación en vivo a través de un WebSocket en wss://api.empiriolabs.ai/v1/realtime?model=stepaudio-2-5-realtime, no a través de los endpoints HTTP. Conéctate con el id de modelo stepaudio-2-5-realtime y envía tu clave de API de EmpirioLabs como cabecera Authorization: Bearer en el handshake. El audio viaja en ambos sentidos como PCM de 16 bits en base64. Un navegador no puede establecer cabeceras en un WebSocket, así que abre esta conexión desde tu servidor y retransmite el audio al navegador por tu propio socket. Consigue una clave de API en el panel de EmpirioLabs.
import asyncio, json, os, websockets
async def main():
async with websockets.connect(
"wss://api.empiriolabs.ai/v1/realtime?model=stepaudio-2-5-realtime",
additional_headers=[
("Authorization", f"Bearer {os.environ['EMPIRIOLABS_API_KEY']}"),
],
max_size=None,
) as ws:
print(json.loads(await ws.recv())["type"]) # session.created
await ws.send(json.dumps({
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [{"type": "input_text", "text": "Say hello."}],
},
}))
await ws.send(json.dumps({"type": "response.create"}))
async for raw in ws:
event = json.loads(raw)
if event["type"] == "response.audio.delta":
... # base64 audio chunk, append to your playback buffer
elif event["type"] == "response.done":
break
asyncio.run(main())Parámetros de solicitud compatibles con la API de StepAudio 2.5 Realtime en EmpirioLabs. Los valores por defecto se aplican cuando se omite un campo.
| Parámetro | Tipo | Predeterminado | Rango / valores | Descripción |
|---|---|---|---|---|
| voice | enum | soft-spoken-gentleman | soft-spoken-gentleman, magnetic-voiced-male, vibrant-youth, l... | Voz de sesión, configurada con session.update antes de que el modelo produzca audio. No puede cambiarse una vez que el modelo ha hablado y cualquier otro valor es... |
| instructions | string | - | - | Instrucciones del sistema para la sesión: personalidad, estilo de habla y límites. |
| modalities | string | ["text","audio"] | - | Modalidades de respuesta para la sesión. |
| volume_ratio | number | 1 | 0.1 a 2 | Volumen de la respuesta hablada, en relación con el valor predeterminado. El rango aceptado es de 0,1 a 2,0. |
| input_audio_format | enum | pcm16 | pcm16 | Codificación del audio que envías. PCM de 16 bits. |
| output_audio_format | enum | pcm16 | pcm16 | Codificación del audio que el modelo devuelve. PCM de 16 bits. |
| turn_detection | string | {"type":"server_vad"} | - | Detección de actividad de voz en el servidor. Decide cuándo has dejado de hablar y el modelo debe responder. Sin ella, el modelo escucha pero nunca responde, así que... |
Voz dúplex completo a través de un WebSocket en wss://api.empiriolabs.ai/v1/realtime?model=stepaudio-2-5-realtime, autenticada con el encabezado ordinario Authorization Bearer. El audio es pcm16 de entrada y salida. El modelo escucha mientras habla, por lo que puede ser interrumpido a mitad de respuesta, y la detección de actividad de voz en el servidor decide cuándo contestar. Establece voz con session.update antes del primer audio; no puede cambiarse una vez que el modelo ha hablado, y solo se aceptan las siete voces listadas. La conversación es solo en chino e inglés. Cada turno completado se factura por sí solo según el uso que el modelo reporte.
En EmpirioLabs, StepAudio 2.5 Realtime se factura por uso: Entrada $1.50 por 1M de tokens de prompt; Producto $10.00 por 1M de tokens generados; Lectura implícita de caché $0.30 por cada 1M de tokens de entrada en caché. La tabla de tarifas en vivo de esta página siempre coincide con lo que cobra la API.
StepAudio 2.5 Realtime admite una ventana de contexto de 256K tokens con hasta 131.072 tokens de salida por respuesta.
StepAudio 2.5 Realtime se sirve a través de WEBSOCKET /v1/realtime en api.empiriolabs.ai con autenticación estándar de token Bearer.
Abre el playground de EmpirioLabs y pulsa Start session para probarlo en tu navegador. StepAudio 2.5 Realtime funciona sobre un WebSocket en lugar de una petición y una respuesta, así que para integrarlo empieza por la guía rápida de voz en tiempo real. Conéctate desde tu servidor con tu clave de API de EmpirioLabs y el id de modelo stepaudio-2-5-realtime, y luego transmite audio en ambos sentidos.
Crea una cuenta de EmpirioLabs y genera una clave en API Keys en el panel. La facturación es con créditos de pago por uso, así que solo pagas por las solicitudes que haces.
Consulta nuestros precios o contacta con nosotros si quieres que tu propio modelo se implemente en nuestra pila.