
Fala para dentro, fala para fora, em um único encaixe, com compreensão paralinguística de tom e ritmo.
Fala para dentro, fala para fora, em um único encaixe, com compreensão paralinguística de tom e ritmo.
A sessão é configurada com eventos session.update pelo socket, em vez de parâmetros de requisição.
Também conhecido como StepAudio Realtime, StepFun StepAudio 2.5 Realtime
stepaudio-2-5-realtime/v1/realtimestepaudio-2.5-realtimestepfun/stepaudio-2-5-realtimeTarifas pay-as-you-go ao vivo do catálogo EmpirioLabs. Você paga só pelo que usa, sem mínimo mensal.
StepAudio 2.5 Realtime mantém uma conversa ao vivo por um WebSocket em wss://api.empiriolabs.ai/v1/realtime?model=stepaudio-2-5-realtime, e não pelos endpoints HTTP. Conecte-se com o id de modelo stepaudio-2-5-realtime e envie sua chave de API da EmpirioLabs como cabeçalho Authorization: Bearer no handshake. O áudio trafega nos dois sentidos como PCM de 16 bits em base64. Um navegador não consegue definir cabeçalhos em um WebSocket, então abra esta conexão a partir do seu servidor e repasse o áudio ao navegador pelo seu próprio socket. Obtenha uma chave de API no painel 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 requisição suportados pela API StepAudio 2.5 Realtime na EmpirioLabs. Os padrões valem quando um campo é omitido.
| Parâmetro | Tipo | Padrão | Intervalo / valores | Descrição |
|---|---|---|---|---|
| voice | enum | soft-spoken-gentleman | soft-spoken-gentleman, magnetic-voiced-male, vibrant-youth, l... | Voz de sessão, definida com session.update antes que o modelo produza áudio. Não pode ser alterada depois que o modelo falou, e qualquer outro valor é rejeitado. |
| instructions | string | - | - | Instruções do sistema para a sessão: persona, estilo de fala e limites. |
| modalities | string | ["text","audio"] | - | Modalidades de resposta para a sessão. |
| volume_ratio | number | 1 | 0.1 a 2 | Volume da resposta falada, em relação ao padrão. O intervalo aceito é de 0,1 a 2,0. |
| input_audio_format | enum | pcm16 | pcm16 | Codificação do áudio que você envia. PCM de 16 bits. |
| output_audio_format | enum | pcm16 | pcm16 | Codificação do áudio que o modelo retorna. PCM de 16 bits. |
| turn_detection | string | {"type":"server_vad"} | - | Detecção de atividade de voz do lado do servidor. Decide quando você parou de falar e o modelo deve responder. Sem ele, o modelo escuta, mas nunca responde, então... |
Voz full-duplex por WebSocket em wss://api.empiriolabs.ai/v1/realtime?model=stepaudio-2-5-realtime, autenticada com o cabeçalho comum Authorization Bearer. O áudio é pcm16 in e out. O modelo ouve enquanto fala, então pode ser interrompido no meio da resposta, e a detecção de atividade de voz do lado do servidor decide quando atender. Defina voz com session.update antes do primeiro áudio; não pode ser alterada depois que o modelo fala, e apenas as sete vozes listadas são aceitas. A conversa é apenas em chinês e inglês. Cada turno concluído é faturado separadamente pelo uso que o modelo reporta.
Na EmpirioLabs, StepAudio 2.5 Realtime é cobrado por uso: Entrada $1.50 por 1M de tokens de prompt; Saída $10.00 por 1M de tokens gerados; Leitura implícita do cache $0.30 por 1M de tokens de entrada cacheados. A tabela de tarifas ao vivo desta página sempre corresponde ao que a API cobra.
StepAudio 2.5 Realtime suporta uma janela de contexto de 256K tokens com até 131.072 tokens de saída por resposta.
StepAudio 2.5 Realtime é servido por WEBSOCKET /v1/realtime em api.empiriolabs.ai com autenticação padrão por token Bearer.
Abra o playground da EmpirioLabs e clique em Start session para testar no navegador. StepAudio 2.5 Realtime funciona sobre um WebSocket em vez de requisição e resposta, então para integrar comece pelo guia rápido de voz em tempo real. Conecte-se do seu servidor com sua chave de API da EmpirioLabs e o id de modelo stepaudio-2-5-realtime e transmita áudio nos dois sentidos.
Crie uma conta EmpirioLabs e gere uma chave em API Keys no painel. A cobrança usa créditos pay-as-you-go, então você paga apenas pelas requisições que faz.
Confira nossos preços ou entre em contato se quiser que seu próprio modelo seja implementado em nossa pilha.