Cartesia

Cartesia builds real-time voice AI - the Sonic family of text-to-speech models, Ink speech-to-text models, and a Voice Agents platform for building and deploying telephone and web voice agents. The core generation surface is exposed both as REST (bytes and Server-Sent Events) and as a low-latency, bidirectional WebSocket protocol at wss://api.cartesia.ai for streaming TTS and STT with multiplexed contexts, word/phoneme timestamps, and mid-stream flush and cancel.

12 APIs 0 Features
AIVoice AIText to SpeechSpeech to TextRealtimeWebSocketVoice CloningVoice Agents

APIs

Cartesia Text-to-Speech API

Synthesize speech from text with the Sonic model family (sonic-3.5, sonic-3, sonic-latest) over plain HTTP - a single-shot binary response at POST /tts/bytes or a Server-Sent Ev...

Cartesia TTS WebSocket API

Bidirectional, multiplexed WebSocket at wss://api.cartesia.ai/tts/websocket for realtime speech generation. Clients send JSON generation requests keyed by a context_id (continui...

Cartesia Speech-to-Text API

Batch transcription of an audio file of any length with the ink-whisper model at POST /stt. Accepts flac, m4a, mp3, mp4, and mpeg uploads, 99+ languages, and optional word-level...

Cartesia STT WebSocket API

Realtime transcription over WebSocket at wss://api.cartesia.ai/stt/websocket. Clients stream raw binary audio in 100ms chunks and issue finalize/close text commands; the server ...

Cartesia Voices API

Manage the voice catalog - list, search, and filter voices by gender, language, and ownership; get, update, and delete a voice; clone a new voice from an uploaded audio clip at ...

Cartesia Voice Changer API

Transform an input speech recording into a different target voice - a single-shot binary response at POST /voice-changer/bytes or a Server-Sent Events stream at POST /voice-chan...

Cartesia Infill API

Generate audio that smoothly connects two existing audio segments at POST /infill/bytes - supply a left and/or right audio clip plus the transcript to be spoken between them, us...

Cartesia Datasets API

Create, list, get, update, and delete datasets, and upload, list, and delete files within a dataset - the audio/text collections used to build custom fine-tunes and voices.

Cartesia Pronunciation Dictionaries API

Create, list, get, update, and delete custom pronunciation dictionaries that can be referenced by pronunciation_dict_id on TTS requests to override how specific words or terms a...

Cartesia API Keys and Auth API

List and get metadata for standard API keys, and mint short-lived (up to 3600s) scoped access tokens at POST /access-token with tts/stt/agent grants for safe use in browser and ...

Cartesia Voice Agents API

Build and operate voice agents end to end - manage agents and public templates; place, list, cancel, and batch outbound calls and download call audio and logs; import, provision...

Cartesia Usage API

Read-only usage endpoints returning credit consumption and agent usage over time, bucketed by the requested interval, for monitoring spend against a plan's included credits.

Collections

Pricing Plans

Rate Limits

Cartesia Ai Rate Limits

15 limits

RATE LIMITS

FinOps

Event Specifications

Cartesia Realtime WebSocket API (TTS + STT)

AsyncAPI 2.6 description of Cartesia's **documented public WebSocket API**. Unlike most providers in this catalog, Cartesia publishes a real, bidirectional WebSocket protocol - ...

ASYNCAPI

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Cartesia API
  version: '2026-03-01'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Text-to-Speech
    type: folder
  items:
  - info:
      name: Text-to-Speech (Bytes).
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/tts/bytes
      body:
        type: json
        data: '{}'
    docs: Synthesizes a complete transcript and returns raw audio bytes.
  - info:
      name: Text-to-Speech (SSE).
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/tts/sse
      body:
        type: json
        data: '{}'
    docs: Streams audio chunks with extra metadata as Server-Sent Events.
- info:
    name: Speech-to-Text
    type: folder
  items:
  - info:
      name: Batch Speech-to-Text.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/stt
      body:
        type: multipart-form
        data: []
    docs: Transcribes an audio file of any length.
- info:
    name: Voices
    type: folder
  items:
  - info:
      name: List Voices.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/voices
    docs: Returns a paginated list of voices.
  - info:
      name: Clone Voice.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/voices/clone
      body:
        type: multipart-form
        data: []
    docs: Clones a new voice from an uploaded audio clip.
  - info:
      name: Get Voice.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/voices/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the voice.
    docs: Retrieves a voice by ID.
  - info:
      name: Update Voice.
      type: http
    http:
      method: PATCH
      url: https://api.cartesia.ai/voices/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the voice.
      body:
        type: json
        data: '{}'
    docs: Updates voice metadata.
  - info:
      name: Delete Voice.
      type: http
    http:
      method: DELETE
      url: https://api.cartesia.ai/voices/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the voice.
    docs: Deletes a voice.
  - info:
      name: Localize Voice.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/voices/localize
      body:
        type: json
        data: '{}'
    docs: Creates a new voice from an existing voice localized to a new language and dialect.
- info:
    name: Voice Changer
    type: folder
  items:
  - info:
      name: Voice Changer (Bytes).
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/voice-changer/bytes
      body:
        type: multipart-form
        data: []
    docs: Transforms speech into a different target voice, returning raw audio bytes.
  - info:
      name: Voice Changer (SSE).
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/voice-changer/sse
      body:
        type: multipart-form
        data: []
    docs: Transforms speech into a different target voice, streamed as Server-Sent Events.
- info:
    name: Infill
    type: folder
  items:
  - info:
      name: Infill (Bytes).
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/infill/bytes
      body:
        type: multipart-form
        data: []
    docs: Generates audio that smoothly connects two existing audio segments.
- info:
    name: Datasets
    type: folder
  items:
  - info:
      name: List Datasets.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/datasets
    docs: Paginated list of datasets.
  - info:
      name: Create Dataset.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/datasets/
      body:
        type: json
        data: '{}'
    docs: Creates a new dataset.
  - info:
      name: Upload file to dataset.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/datasets/:id/files
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the dataset.
      body:
        type: multipart-form
        data: []
    docs: Uploads a new file to a dataset.
  - info:
      name: Delete Dataset.
      type: http
    http:
      method: DELETE
      url: https://api.cartesia.ai/datasets/:id
      params:
      - name: id
        value: ''
        type: path
        description: The ID of the dataset.
    docs: Deletes a dataset.
- info:
    name: Pronunciation Dictionaries
    type: folder
  items:
  - info:
      name: List pronunciation dictionaries.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/pronunciation-dictionaries
    docs: List all pronunciation dictionaries for the authenticated user.
  - info:
      name: Create a pronunciation dictionary.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/pronunciation-dictionaries
      body:
        type: json
        data: '{}'
    docs: Create a new pronunciation dictionary.
- info:
    name: API Keys & Auth
    type: folder
  items:
  - info:
      name: List API Keys.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/api-keys
    docs: Returns a paginated list of standard API keys.
  - info:
      name: Generate a new access token.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/access-token
      body:
        type: json
        data: '{}'
    docs: Generates a short-lived access token to make API requests.
- info:
    name: Voice Agents
    type: folder
  items:
  - info:
      name: List Agents.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/agents
    docs: Lists all agents associated with your account.
  - info:
      name: List Templates.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/agents/templates
    docs: List of public, Cartesia-provided agent templates.
  - info:
      name: Create Outbound Call.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/calls/outbound
      body:
        type: json
        data: '{}'
    docs: Places an outbound call using a voice agent.
  - info:
      name: List Calls.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/calls
    docs: Lists calls.
  - info:
      name: Create Call Batch.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/call-batches
      body:
        type: json
        data: '{}'
    docs: Queues a batch of outbound calls.
  - info:
      name: Provision Cartesia Number.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/phone-numbers/provision
      body:
        type: json
        data: '{}'
    docs: Provision a new Cartesia-managed US phone number.
  - info:
      name: Create Webhook.
      type: http
    http:
      method: POST
      url: https://api.cartesia.ai/webhooks
      body:
        type: json
        data: '{}'
    docs: Register a webhook endpoint.
  - info:
      name: List Documents.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/documents
    docs: List all knowledge base documents in your organization.
  - info:
      name: List Metrics.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/metrics
    docs: List of all LLM-as-a-Judge metrics owned by your account.
- info:
    name: Usage
    type: folder
  items:
  - info:
      name: Get Credit Usage.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/usage/credits?interval=day
      params:
      - name: interval
        value: day
        type: query
        description: 'Bucket size: hour, day, week, month.'
    docs: Returns your credit usage over time, bucketed by the requested interval.
  - info:
      name: Get Agent Usage.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/usage/agents?interval=day
      params:
      - name: interval
        value: day
        type: query
        description: 'Bucket size: hour, day, week, month.'
    docs: Returns your agent usage over time, bucketed by the requested interval.
- info:
    name: Status
    type: folder
  items:
  - info:
      name: API Status and Version.
      type: http
    http:
      method: GET
      url: https://api.cartesia.ai/api-status
    docs: Returns current API health and version.
bundled: true