SDKs
Use the official Cartesia SDKs with Nineninesix by overriding the base URL.
Nineninesix is Cartesia-compatible. You don't need a custom SDK — point the official Cartesia SDK at https://api.nineninesix.ai.
Node.js / TypeScript
npm install @cartesia/cartesia-jsimport { Cartesia } from "@cartesia/cartesia-js";
const client = new Cartesia({
apiKey: "sk_996_your_api_key",
baseURL: "https://api.nineninesix.ai",
});
const res = await client.tts.generate({
model_id: "gepard-1.0",
transcript: "Hello from Nineninesix!",
voice: { mode: "id", id: "<voice-id>" },
output_format: { container: "wav", encoding: "pcm_s16le", sample_rate: 22050 },
});
const buffer = Buffer.from(await res.arrayBuffer());
await fs.promises.writeFile("output.wav", buffer);Python
pip install cartesiafrom cartesia import Cartesia
client = Cartesia(
api_key="sk_996_your_api_key",
base_url="https://api.nineninesix.ai",
)
audio = client.tts.bytes(
model_id="gepard-1.0",
transcript="Hello from Nineninesix!",
voice={"mode": "id", "id": "<voice-id>"},
output_format={"container": "wav", "encoding": "pcm_s16le", "sample_rate": 22050},
)
with open("output.wav", "wb") as f:
f.write(audio)curl
No SDK needed:
curl -N https://api.nineninesix.ai/tts/bytes \
-H "Authorization: Bearer sk_996_your_api_key" \
-H "Content-Type: application/json" \
-d '{"model_id":"gepard-1.0","transcript":"Hello!","voice":{"mode":"id","id":"<voice-id>"},"output_format":{"container": "wav", "encoding": "pcm_s16le", "sample_rate": 22050}}' \
--output output.wavEnvironment Variables
Store your key and base URL in environment variables:
NINENINESIX_API_KEY=sk_996_your_api_key
NINENINESIX_BASE_URL=https://api.nineninesix.aiconst client = new Cartesia({
apiKey: process.env.NINENINESIX_API_KEY,
baseURL: process.env.NINENINESIX_BASE_URL,
});Compatibility Note
The API follows the Cartesia API surface (/tts/bytes, /tts/websocket, /voices). Any HTTP or WebSocket client that can send JSON and read a binary/stream response will work.