curl \
--request GET \
--url "https://api.breeze.blue/v1/voices" \
--header "xi-api-key: $BREEZE_API_KEY"import os
from breeze_blue import BreezeBlue
client = BreezeBlue(api_key=os.environ["BREEZE_API_KEY"])
voices = client.voices.search(search="calm documentary narrator")
for voice in voices["voices"]:
print(voice["voice_id"], voice["name"])import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient({
apiKey: process.env.BREEZE_API_KEY!,
});
const voices = await client.voices.search({ search: "calm documentary narrator" });
for (const voice of voices.voices) {
console.log(voice.voiceId, voice.name);
}{
"voices": [
{
"voice_id": "<string>",
"name": "<string>",
"origin": "<string>",
"voice_type": "<string>",
"settings": {
"guidance_scale": 1
},
"language_code": "af",
"gender": "male",
"age": "child",
"tone": [
"warm"
],
"accent": "american",
"tags": [
"<string>"
],
"is_favorited": false,
"preview_url": "<string>",
"description": "<string>",
"publication_status": "<string>",
"publication_job_id": "<string>",
"publication_error_code": "<string>",
"created_at_unix": 123
}
],
"has_more": true,
"total": 123,
"page": 123,
"page_size": 123,
"next_page_token": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}List voices
List or search every voice available to the authenticated account. Public-catalog searches keep semantic relevance first and use the daily global Trend rank only inside an equivalent relevance tier.
curl \
--request GET \
--url "https://api.breeze.blue/v1/voices" \
--header "xi-api-key: $BREEZE_API_KEY"import os
from breeze_blue import BreezeBlue
client = BreezeBlue(api_key=os.environ["BREEZE_API_KEY"])
voices = client.voices.search(search="calm documentary narrator")
for voice in voices["voices"]:
print(voice["voice_id"], voice["name"])import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient({
apiKey: process.env.BREEZE_API_KEY!,
});
const voices = await client.voices.search({ search: "calm documentary narrator" });
for (const voice of voices.voices) {
console.log(voice.voiceId, voice.name);
}{
"voices": [
{
"voice_id": "<string>",
"name": "<string>",
"origin": "<string>",
"voice_type": "<string>",
"settings": {
"guidance_scale": 1
},
"language_code": "af",
"gender": "male",
"age": "child",
"tone": [
"warm"
],
"accent": "american",
"tags": [
"<string>"
],
"is_favorited": false,
"preview_url": "<string>",
"description": "<string>",
"publication_status": "<string>",
"publication_job_id": "<string>",
"publication_error_code": "<string>",
"created_at_unix": 123
}
],
"has_more": true,
"total": 123,
"page": 123,
"page_size": 123,
"next_page_token": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}Continue building
Get a voice
List Voice Metadata options
Convert text to speech
Authorizations
Breeze Developer API key.
Query Parameters
Search public catalog voices by semantic and text relevance, and personal voices by name, description, or voice identifier.
Only return voices whose saved audio language matches this supported ISO 639-1 two-letter language code. See supported language codes.
af, ar, bg, bn, bs, ca, cs, da, de, el, en, es, et, eu, fa, fi, fr, gl, he, hi, hu, id, is, it, ja, kn, ko, lt, mr, ms, ne, nl, no, pl, pt, ro, ru, sk, sl, sq, sv, sw, ta, te, th, tl, tr, uk, ur, vi, zh Only return voices in this exact primary category. See category codes.
narration, social-media, ads-brand, podcast, learning, support-agents, roleplay, gaming, animation, cinematic, wellness, stylized Repeat to match any supplied gender code. See Metadata options.
male, female, neutral Repeat to match any supplied age code. See Metadata options.
child, young, middle_aged, old Repeat to match voices containing any supplied tone code. See Metadata options.
warm, calm, bright, gentle, energetic, authoritative, sincere, weary, precise, refined, urgent, friendly, articulate, steady, playful, compassionate, reflective, measured, rhythmic, passionate Filter by accent code. american also matches English voices whose accent is null. Cannot be combined with accent_mode=unmarked. See Metadata options, accent codes.
american, british, scottish, irish, australian, canadian, us_southern, us_new_york, indian, south_african, russian, japanese, korean, chinese, mandarin_northeastern, mandarin_shaanxi, mandarin_shanghai, mandarin_sichuan, mandarin_henan, mandarin_beijing, mandarin_taiwan, cantonese, mandarin_guangdong, mandarin_yunnan all (default) applies no null-only filter. unmarked returns voices whose accent is null; combine with language_code=zh to find Mandarin voices. Cannot be combined with accent.
all, unmarked Optional origin filter. Accepted values: designed, cloned.
Voice source filter. Accepted values: all, default, personal.
Sort field for non-search listings. Accepted values: created_at_unix, name, trend. trend is available only with voice_type=default. Eligible voices absent from the daily snapshot follow ranked voices; pagination pins the snapshot and initial supplemental candidates.
Sort direction for non-search listings. Accepted values: asc, desc. The default is desc. For trend, desc means most popular first.
Pagination token from the previous response. Keep the same filters.
Page number for offset-based navigation.
x >= 1Number of records to return per page.
1 <= x <= 100Only return voices favorited by the authenticated account.
Return voices matching all supplied tags, ignoring case. See Tags and favorites.

