오픈 API
"오디오 → 자막" 작업을 여러분의 시스템에 연결하세요. ERP, 상품 등록 도구, 대행 운영 백오피스에서 바로 호출할 수 있습니다. 과금은 웹 버전과 같은 크레딧 지갑을 공유하며 별도의 장부가 없습니다.
빠른 시작
1. 인증: 키를 요청 헤더에 넣기
curl https://smilesub.xixiaotech.cn/api/v1/me \ -H "Authorization: Bearer sk_live_여러분의_키" # 다음 방식도 가능합니다(많은 게이트웨이의 관례적 표기): # -H "X-API-Key: sk_live_여러분의_키"키를 URL 파라미터로 넘기는 방식은 지원하지 않습니다. URL은 액세스 로그, 브라우저 기록, Referer에 남기 때문에 장기 유효한 키가 로그에 나타나는 순간 유출과 같습니다.
2. 일반적인 흐름(오디오 → 자막 → 다운로드)
# ① 오디오를 업로드하고 작업을 생성합니다(Content-Length 헤더가 필요합니다. 본문은 multipart가 아니라 raw 바이너리입니다) curl -X POST "https://smilesub.xixiaotech.cn/api/v1/subtitles?language=zh" \ -H "Authorization: Bearer sk_live_여러분의_키" \ -H "Content-Type: audio/wav" \ -H "X-Filename: product-intro.wav" \ --data-binary @audio.wav # → { "success": true, "data": { "file_id": "…", "status": "queued", "credits_charged": 30 } } # ② has_subtitles가 true가 될 때까지 상태를 폴링합니다 curl "https://smilesub.xixiaotech.cn/api/v1/tasks/FILE_ID" \ -H "Authorization: Bearer sk_live_여러분의_키" # ③ 자막을 다운로드합니다(srt/vtt/txt는 무료, ass와 이중 자막은 회당 과금) curl -o out.srt "https://smilesub.xixiaotech.cn/api/v1/tasks/FILE_ID/export?format=srt" \ -H "Authorization: Bearer sk_live_여러분의_키"먼저 ffmpeg로 오디오를 추출한 뒤 업로드하세요(
ffmpeg -i in.mp4 -vn -ac 1 -ar 16000 out.wav). 웹 버전의 본 흐름도 같습니다. 서버는 보통 영상 전체를 다루지 않습니다.3. 동기 번역(여러 언어를 한 번에 제출)
curl -X POST https://smilesub.xixiaotech.cn/api/v1/translate \ -H "Authorization: Bearer sk_live_여러분의_키" \ -H "Content-Type: application/json" \ -d '{ "srt": "1\n00:00:00,000 --> 00:00:03,000\n안녕하세요\n", "source_language": "ko", "target_languages": ["en", "ja"], "output": "srt" }' # → { "success": true, "data": { "translations": { "en": { "content": "…" }, "ja": { "content": "…" } }, # "credits_charged": 6, "balance_after": 994 } }
엔드포인트 목록
과금, 오류 코드, 제한
과금 기준(웹 버전과 동일한 가격표)
- 자막 생성: — 크레딧 / 분(올림)
- 자막 번역: — 크레딧 / 분 / 대상 언어마다
- 이중 자막 내보내기: — 크레딧 / 회
- 스타일 ASS 내보내기: — 크레딧 / 회
- 원문 자막 내보내기(srt / vtt / txt): 무료
- 크리에이터 구독(월/분기/연간) 이용 기간 동안 두 가지 강화 내보내기가 면제됩니다
오류 코드
401 API_KEY_MISSING / API_KEY_INVALID키가 없거나 유효하지 않음402 INSUFFICIENT_CREDITS잔액 부족(충전이 필요합니다)403 API_DISABLED / SCOPE_REQUIREDAPI가 꺼져 있음 / 키 권한 부족404 TASK_NOT_FOUND작업이 없거나 본인 것이 아님409 SUBTITLES_NOT_READY자막 생성이 아직 끝나지 않음413 FILE_TOO_LARGE파일이 크기 한도를 초과429 QUOTA_EXCEEDED할당량 초과(응답에 Retry-After 포함)
제한: 파일당 최대 — MB, 번역 1회당 최대 2000개 자막. 할당량은 키별로 집계되며 매일 UTC 0시에 초기화됩니다.