블로그 / 엔지니어링

Cartesia Python SDK v2.0.0

Arjun Desai 
Cartesia Python SDK v2.0.0

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에 이슈를 올려 의견을 알려주세요.