Skip to main content
이 문서는 영어 원문을 기반으로 자동 번역되었습니다. 표현이 어색하거나 모호한 부분이 있을 수 있으니, 정확한 내용은 영어 원문을 함께 확인해 주세요.
공식 Python SDK는 PyPI에 supertone으로 공개되어 있습니다. 소스: supertone-inc/supertone-python.

한눈에 보기

설치

Python 3.9+가 필요합니다.

API Key 설정

SDK는 환경 변수에서 자동으로 키를 읽지 않습니다. api_key를 명시적으로 전달하세요. 관례적으로 SUPERTONE_API_KEY에서 읽어옵니다.
보이스 ID는 환경 변수로 다루지 않습니다 — 사용 사례마다 달라지므로, 코드에 일반 문자열로 두거나(또는 요청 페이로드에서 전달하세요).

음성 생성하기(동기)

권장되는 패턴은 컨텍스트 매니저를 사용해 내부 HTTP 연결이 깔끔하게 닫히도록 하는 것입니다.

음성 생성하기(비동기)

_async 접미사와 async with를 사용하세요.
SDK의 모든 리소스 메서드는 두 가지 형태를 갖습니다: create_speech / create_speech_async, stream_speech / stream_speech_async, list_voices / list_voices_async 등.

음성 스트리밍

스트리밍은 오디오 청크의 이터레이터(또는 비동기 이터레이터)를 반환합니다.
비동기 버전에서는 async for chunk in response.result.aiter_bytes()를 사용하세요. 스트리밍은 현재 sona_speech_1에서만 지원됩니다.

긴 텍스트 자동 청크 분할

create_speech, create_speech_async, stream_speech, stream_speech_async는 300자보다 긴 텍스트를 자동으로 분할합니다. create_speech는 최대 3개 세그먼트를 병렬로 실행해 오디오를 병합하며, stream_speech는 순차적으로 세그먼트를 실행해 이터레이터로 청크를 전달합니다.
predict_duration은 자동 청크 분할을 수행하지 않습니다. 입력을 300자 이내로 유지하고, 더 긴 스크립트는 직접 길이를 합산하세요. 자세한 내용과 튜닝은 긴 텍스트를 참고하세요.

자주 사용하는 작업

타입 안전 enum(선택)

타입 안전성을 위해 SDK는 supertone.models에 enum 상수를 노출합니다.
일반 문자열("en", "sona_speech_1")도 동일하게 동작합니다 — 선호하는 방식을 선택하세요.

오류 처리

오류는 supertone.errors에 있으며 모두 SupertoneError를 상속합니다.
네트워크 오류(DNS 실패, 브로큰 파이프 등)는 httpx에서 발생하며 SupertoneError를 상속하지 않습니다.

설정

관련 문서

TypeScript SDK

Node 및 Bun을 위한 동등한 SDK입니다.

예제

자주 사용하는 워크플로에 대한 레시피입니다.