Python에서 Cartesia의 AI 음성 기능을 사용하는 개발 경험을 개선한 Python SDK v2.0.0을 출시합니다.
이 발표는 SDK v2.0.0을 설명합니다. SDK v4.2.0을 사용하는 설정 방법은 Python 음성 합성: 오디오를 WAV 파일로 저장하기를 참고하세요.
Python으로 Cartesia 시작하기
프로젝트에 Cartesia Python SDK를 설치합니다.
pip install cartesia
SDK를 초기화하고 인증합니다.
from cartesia import Cartesia
import os
client = Cartesia(api_key=os.getenv("CARTESIA_API_KEY"))
이제 요청을 보낼 수 있습니다. 예를 들어 Cartesia의 음성 합성 모델로 오디오를 생성하려면 다음과 같이 작성합니다.
client.tts.bytes(
model_id="sonic-2",
transcript="Hello, world!",
voice={
"mode": "id",
"id": "694f9389-aac1-45b6-b726-9d9369183238",
},
language="en",
output_format={
"container": "wav",
"sample_rate": 44100,
"encoding": "pcm_f32le",
},
)
더 많은 예시는 API Explorer에서 확인하세요. Cartesia API에 대한 Python 코드 스니펫을 생성할 수 있습니다.
Python SDK 살펴보기
Python SDK v2는 널리 쓰이는 SDK 패턴을 기반으로 합니다. 여러 API 엔드포인트에 접근하는 시작점인 Cartesia 클라이언트를 중심으로 개발 경험을 구성했습니다.
추가 기능
- 기본 클라이언트: 코드 24줄만으로 클라이언트를 생성하고 사용할 수 있습니다.
- 비동기 클라이언트: SDK는 일반적인 실시간 호출과 함께
async클라이언트를 제공해 논블로킹 API 요청을 보낼 수 있습니다. - 스트리밍: SDK는 스트리밍 응답을 지원하며 순회할 수 있는 제너레이터를 반환합니다.
- WebSocket: WebSocket으로 연결해 지연 시간이 짧은 실시간 음성 애플리케이션을 만들 수 있습니다.
- 예외 처리: API는 성공이 아닌 상태 코드인 4xx와 5xx 응답을 처리합니다.
- 재시도: SDK에는 지수 백오프를 사용하는 자동 재시도가 구현되어 있습니다.
- 타임아웃: SDK의 기본 타임아웃은 60초입니다. 클라이언트 또는 요청 수준의 타임아웃 옵션으로 변경할 수 있습니다.
- 커스텀 클라이언트:
httpx클라이언트를 재정의해 사용 사례에 맞게 바꿀 수 있습니다. 프록시와 전송 방식 지원이 대표적인 예입니다.
다음은 무엇인가요?
Cartesia Python SDK로 무엇을 만드실지 기대합니다. 피드백은 개선에 도움이 됩니다. GitHub에 이슈를 올려 의견을 알려주세요.
