
음성 입력, 음성 출력, 한 소켓을 통해 가능합니다. 응답 중간에 중단 가능하며, 음성 활동 감지가 응답 시점을 결정합니다.
음성 입력, 음성 출력, 한 소켓을 통해 가능합니다. 응답 중간에 중단 가능하며, 음성 활동 감지가 응답 시점을 결정합니다.
세션은 요청 매개변수 대신 소켓을 통한 session.update 이벤트로 구성됩니다.
다른 이름 StepFun StepAudio 3 Realtime
stepaudio-3-realtime/v1/realtimestepaudio-3-realtime-previewstepfun/stepaudio-3-realtimeEmpirioLabs 카탈로그의 실시간 종량제 요금입니다. 사용한 만큼만 결제하며 월 최소 요금이 없습니다.
StepAudio 3 Realtime 은(는) HTTP 엔드포인트가 아니라 wss://api.empiriolabs.ai/v1/realtime?model=stepaudio-3-realtime 의 WebSocket에서 실시간 대화를 진행합니다. 모델 ID stepaudio-3-realtime 로 연결하고 핸드셰이크 시 EmpirioLabs API 키를 Authorization: Bearer 헤더로 보내세요. 오디오는 base64 16비트 PCM으로 양방향 전송됩니다. 브라우저는 WebSocket에 헤더를 설정할 수 없으므로 이 연결은 서버에서 열고 오디오는 자체 소켓으로 브라우저에 중계하세요. EmpirioLabs 대시보드에서 API 키를 발급받으세요.
import asyncio, json, os, websockets
async def main():
async with websockets.connect(
"wss://api.empiriolabs.ai/v1/realtime?model=stepaudio-3-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())EmpirioLabs에서 StepAudio 3 Realtime API가 지원하는 요청 파라미터입니다. 필드를 생략하면 기본값이 적용됩니다.
| 파라미터 | 유형 | 기본값 | 범위 / 값 | 설명 |
|---|---|---|---|---|
| voice | enum | soft-spoken-gentleman | soft-spoken-gentleman, magnetic-voiced-male, vibrant-youth, l... | 세션 보이스는 모델이 오디오를 생성하기 전에 session.update로 설정됩니다. 모델이 말을 마치면 변경할 수 없으며, 다른 값은 거부됩니다. |
| instructions | string | - | - | 세션 시스템 지침: 페르소나, 말하는 스타일, 그리고 경계. |
| modalities | string | ["text","audio"] | - | 세션의 대응 방식. |
| volume_ratio | number | 1 | 0.1 ~ 2 | 음성 응답의 음량은 기본값에 비해 크게 나뉩니다. 수락 범위는 0.1에서 2.0입니다. |
| input_audio_format | enum | pcm16 | pcm16 | 당신이 보내는 오디오의 인코딩. 16비트 PCM. |
| output_audio_format | enum | pcm16 | pcm16 | 모델이 반환하는 오디오 인코딩. 16비트 PCM. |
| turn_detection | string | {"type":"server_vad"} | - | 서버 측 음성 활동 감지. 사용자가 말을 멈췄을 때 모델을 결정하고 모델이 응답해야 합니다. 이 기능이 없으면 모델은 듣지만 응답하지 않으니, 운전 중에 input_audio_buffer.commit와 response.create로 스스로 돌지 않는 한 켜두세요. |
wss@api.empiriolabs.ai/v1/realtime?model=stepaudio-3-realtime에서 WebSocket을 통한 전이중 음성, 일반 인증 베어러 헤더로 인증됨. 오디오는 pcm16 입력 및 출력 방식이다. 모델은 말하는 동안 듣기 때문에 응답 중간에 중단될 수 있으며, 서버 측 음성 활동 감지가 언제 응답할지 결정한다. 첫 번째 오디오 전에 session.update로 음성 설정; 모델이 말한 후에는 변경할 수 없으며, 나열된 7개의 음성 중 하나만 허용된다. 대화는 중국어와 영어만 가능하다. 완료된 각 턴은 모델이 보고한 사용량에 따라 별도로 청구된다. 이 모델은 미리보기 단계이며 기능이 변경될 수 있다.
EmpirioLabs에서 StepAudio 3 Realtime은(는) 종량제로 청구됩니다: 입력 $1.50 1M 프롬프트 토큰당; 제품정보 $10.00 생성된 토큰 1M 단위; 암묵적 캐시 읽기 $0.30 1M 캐시된 입력 토큰당. 이 페이지의 실시간 요금표는 항상 API 청구 금액과 일치합니다.
StepAudio 3 Realtime은(는) 256K 토큰 컨텍스트 윈도우를 지원합니다 (응답당 최대 131,072 출력 토큰).
StepAudio 3 Realtime은(는) api.empiriolabs.ai의 WEBSOCKET /v1/realtime를 통해 제공되며 표준 Bearer 토큰 인증을 사용합니다.
EmpirioLabs 플레이그라운드 를 열고 Start session 을 누르면 브라우저에서 바로 사용해 볼 수 있습니다. StepAudio 3 Realtime 은(는) 요청과 응답이 아니라 WebSocket으로 동작하므로 직접 연동할 때는 실시간 음성 퀵스타트 부터 시작하세요. EmpirioLabs API 키와 모델 ID stepaudio-3-realtime 로 서버에서 연결한 뒤 오디오를 양방향으로 스트리밍하면 됩니다.
EmpirioLabs 계정을 만든 다음 대시보드의 API Keys에서 키를 생성하세요. 요금은 종량제 크레딧이라 실행한 요청에 대해서만 결제합니다.