curl \
--request POST \
--url "https://api.breeze.blue/v1/studio/projects" \
--header "xi-api-key: $BREEZE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"title": "An evening story",
"operation_id": "123e4567-e89b-42d3-a456-426614174000"
}'from breeze_blue import BreezeBlue
client = BreezeBlue()
result = client.studio.projects.create({
"title": "An evening story",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
})import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient();
const result = await client.studio.projects.create({
title: "An evening story",
operationId: "123e4567-e89b-42d3-a456-426614174000",
});{
"project": {
"id": "<string>",
"title": "<string>",
"description": "<string>",
"tts_settings": {
"model": "<string>",
"language": "<string>",
"generation_language": "<string>",
"guidance_scale": 123
},
"default_voice_id": "<string>",
"default_instructions": "<string>",
"default_silence_ms": 123,
"edit_token": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"chapter_count": 123,
"clip_count": 123
},
"edit_token": "<string>",
"client_refs": {},
"created_ids": [
"<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": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}Create a project
Create a project with one chapter and one empty clip. Requires a paid Studio subscription and a free saved-project slot. Retrying with the same operation_id and body returns the original project.
curl \
--request POST \
--url "https://api.breeze.blue/v1/studio/projects" \
--header "xi-api-key: $BREEZE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"title": "An evening story",
"operation_id": "123e4567-e89b-42d3-a456-426614174000"
}'from breeze_blue import BreezeBlue
client = BreezeBlue()
result = client.studio.projects.create({
"title": "An evening story",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
})import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient();
const result = await client.studio.projects.create({
title: "An evening story",
operationId: "123e4567-e89b-42d3-a456-426614174000",
});{
"project": {
"id": "<string>",
"title": "<string>",
"description": "<string>",
"tts_settings": {
"model": "<string>",
"language": "<string>",
"generation_language": "<string>",
"guidance_scale": 123
},
"default_voice_id": "<string>",
"default_instructions": "<string>",
"default_silence_ms": 123,
"edit_token": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"chapter_count": 123,
"clip_count": 123
},
"edit_token": "<string>",
"client_refs": {},
"created_ids": [
"<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": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}{
"code": "<string>",
"detail": "<string>",
"error": "<string>",
"ok": false,
"meta": {}
}Continue building
Manage Studio projects
List clips
Studio CLI
Authorizations
Breeze Developer API key.
Body
New UUID for each write. Retrying with the same ID and body returns the original result instead of repeating the write.
Project title.
1 - 120Project description.
1000TTS model and language settings.
Show child attributes
Show child attributes
Voice given to new clips that do not set voice_id.
1 - 128\SDelivery instructions for clips with empty instructions.
1000Silence after each clip in milliseconds, unless the clip sets trailing_silence_ms.
0 <= x <= 600000Response
The created project.
The project after this request.
Show child attributes
Show child attributes
Current edit_token. Send it as expected_edit_token on the next write.
Import only: each client_ref mapped to its created ID.
Show child attributes
Show child attributes
IDs created by this request, in order.

