Client Flow
대화형 아바타 세션을 시작하고 관리하는 전체 흐름은 다음과 같습니다.
Prerequisites
Interactive Avatar > Avatars 에서 아바타를 생성한 후 아바타 ID를 복사합니다. 이 ID는 Start Session API에서 사용됩니다.
Core Session Flow
- Create Session Token:
POST /api/v2/sessions/token
- appId + userKey 전달
- session_token 수신
- Start Session
POST /api/v2/sessions/start- Bearer token으로 인증
- session_id, livekit 정보 수신
- LiveKit 연결
- livekit.url + livekit.token으로 WebRTC 연결
- 아바타의 영상/음성 스트리밍 수신 시작
- Talk:
POST /api/v2/sessions/{sessionId}/talk- 사용자 메시지 전송
- 아바타가 메시지를 발화
- greeting_text를 설정했으면 자동으로 첫 메시지 전송
- Stop Session:
POST /api/v2/sessions/stop- STUDIO-API-KEY 헤더 사용
- 세션 종료 및 과금 정지
Optional APIs
- List Sessions:
GET /api/v2/sessions활성/종료된 세션 목록 조회 (대시보드용) - Get Session Detail:
GET /api/v2/sessions/{sessionId}특정 세션의 상세 정보 조회
Response Format
API 요청에 대한 응답코드와 데이터, 메세지의 형태를 가집니다. 성공과 에러 모두 동일한 형태를 사용합니다.
{
"code": 1000,
"data": {},
"message": "사람이 읽을 수 있는 메시지"
}
| 이름 | 타입 | 설명 |
|---|---|---|
| code | number | 애플리케이션의 상태코드 |
| data | Object | null | 성공시 payload |
| message | string | 로그/UI용 메시지 |
Error Codes
모든 API 응답은 성공 여부와 상관없이 HTTP 상태 코드와 응답 본문의 code 값으로 결과를 나타냅니다. 다음은 API에서 사용되는 공통 에러 코드입니다.
| code | HTTP | 의미 |
|---|---|---|
| 4000 | 400 / 422 | 검증 실패 / 잘못된 입력 |
| 4010 | 401 | 토큰 또는 자격증명 오류 |
| 4030 | 403 | 권한 없음 |
| 4040 | 404 | 리소스 없음 |
| 4290 | 429 | 레이트 리밋 |
| 5000 | 500 | 내부/서비스 오류 |