Skip to main content
def error_handling_example(client: Cartesia) -> None:
    """Example of error handling with SDK exceptions."""
    from cartesia import APIError, NotFoundError, RateLimitError, BadRequestError, AuthenticationError

    try:
        client.tts.generate(
            model_id="sonic-latest",
            transcript="",  # empty transcript will cause a 400 bad request response
            voice={"mode": "id", "id": "6ccbfb76-1fc6-48f7-b71d-91ac6298247b"},
            output_format={"container": "wav", "encoding": "pcm_s16le", "sample_rate": 44100},
            language="en",
        )
    except BadRequestError as e:
        print(f"Bad request (expected): {e.message}")
    except AuthenticationError as e:
        print(f"Auth failed: {e.message}")
    except NotFoundError as e:
        print(f"Not found: {e.message}")
    except RateLimitError as e:
        print(f"Rate limited: {e.message}")
    except APIError as e:
        print(f"API error: {e.message}")
From cartesia-python/examples/examples.py:825

Run this example

git clone --branch v3.2.0 https://github.com/cartesia-ai/cartesia-python
cd cartesia-python
uv sync
CARTESIA_API_KEY=YOUR_KEY uv run examples/examples.py error_handling_example