cinara
Menu

Developers

Build with Cinara's API.

The app and the API run on the same platform, so what you make with a key shows up in History and Drive like anything else. Existing ElevenLabs speech code only needs a new address and key.

Quickstart

Your first MP3 in one request.

  1. 01 Sign in to the app and open API Keys. Workspace owners and admins can create keys; each is shown once.
  2. 02 Save it as CINARA_API_KEY in your environment.
  3. 03 Call POST /v1/text-to-speech/<voice>. You get MP3 bytes back, with X-Generation-Id and X-Credits-Remaining headers.
Text to speech with the Mentor voice
curl -X POST "https://api.cinara.ai/v1/text-to-speech/mentor?output_format=mp3_44100_128" \
  -H "xi-api-key: $CINARA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from Cinara.", "model_id": "speech"}' \
  --output hello.mp3

The basics

Address
https://api.cinara.ai
Authentication
Send your key in an xi-api-key header, or as Authorization: Bearer cin_…
Rate limit
120 requests a minute per key. Past that: 429 with Retry-After.
Billing
Every result is charged to your workspace's credits and listed in History with the key's name.
Errors
JSON with error, message and detail. Failed work is refunded.
Voices
Cinara voices such as mentor or haven, or your own. GET /v1/speech/options lists them.

ElevenLabs-compatible

Same request formats. Change two lines.

These endpoints accept the request formats ElevenLabs uses, so existing scripts keep working with Cinara's address and your Cinara key.

  • POST /v1/text-to-speech/:voiceId

    Text to speech

    JSON text, optional model_id (speech or speech-hd) and voice_settings.speed. Returns MP3.

  • POST /v1/text-to-speech/:voiceId/stream

    Text to speech, streamed

    The same request, with the MP3 streamed back.

  • POST /v1/speech-to-text

    Speech to text

    Multipart file, optional language_code, diarize and tag_audio_events. Returns text and words with times and speaker_id.

  • POST /v1/forced-alignment

    Forced alignment

    Multipart file (up to 50 MB) and its text. Returns characters and words with start and end times.

  • POST /v1/sound-generation

    Sound effects

    JSON text (up to 450 characters), optional duration_seconds (0.5 to 22), prompt_influence and loop. Returns MP3.

Cinara model ids (speech, speech-hd) are honoured; any other model_id uses Speech HD. Output formats are MP3.

Switching from ElevenLabs
- https://api.elevenlabs.io
+ https://api.cinara.ai

- xi-api-key: <your ElevenLabs key>
+ xi-api-key: cin_…  (from API Keys in the app)

ElevenLabs is a trademark of its owner. Cinara is not affiliated with ElevenLabs.

AI tools

Connect Cinara to your AI tools.

Ask Claude, ChatGPT or your editor to make speech, dialogue, sound effects, music, images and video, check on jobs, browse History and Drive, and create share links. It calls Cinara with your key.

AI tools can't upload files to Cinara. For transcription, dubbing and other work that starts from a file, use the app or the API. The snippets below show the shape; the docs have the full steps.

MCP endpoint
https://api.cinara.ai/v1/mcp
Your API key in an Authorization: Bearer header.
OpenAPI spec
https://api.cinara.ai/openapi.json
For ChatGPT GPT Actions and other tools that read OpenAPI.

Claude

Claude Code connects straight to the MCP server. Claude Desktop connects through the mcp-remote bridge. Connectors on claude.ai in the browser aren't supported yet.

Claude Code
claude mcp add --transport http cinara https://api.cinara.ai/v1/mcp \
  --header "Authorization: Bearer $CINARA_API_KEY"
Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "cinara": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.cinara.ai/v1/mcp",
               "--header", "Authorization: Bearer ${CINARA_API_KEY}"],
      "env": { "CINARA_API_KEY": "cin_…" }
    }
  }
}
Full steps for Claude

ChatGPT

A Custom GPT calls Cinara through Actions, importing the OpenAPI spec with your API key as Bearer auth. ChatGPT's own connectors aren't supported.

  1. 01 In ChatGPT, create a GPT and open Configure → Actions.
  2. 02 Import the schema from https://api.cinara.ai/openapi.json.
  3. 03 Set Authentication to API key, type Bearer, and paste your Cinara key.
Full steps for ChatGPT

VS Code

VS Code connects straight to the MCP server, in agent mode. It asks for the key once.

VS Code
// .vscode/mcp.json
{
  "servers": {
    "cinara": {
      "type": "http",
      "url": "https://api.cinara.ai/v1/mcp",
      "headers": { "Authorization": "Bearer ${input:cinara-key}" }
    }
  },
  "inputs": [
    { "id": "cinara-key", "type": "promptString",
      "description": "Cinara API key", "password": true }
  ]
}
Full steps for VS Code and Cursor

Cursor

Cursor connects straight to the same MCP server.

Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cinara": {
      "url": "https://api.cinara.ai/v1/mcp",
      "headers": { "Authorization": "Bearer cin_…" }
    }
  }
}
Full steps for VS Code and Cursor

Treat a key like a password. Anything a tool makes with it is charged to your workspace's credits, and you can revoke a key at any time on the API Keys page.

Get a key and make something.

Start with 10,000 free credits. Keys live on the API Keys page in the app.

Sign-up needs a confirmed email and a verified phone number.