curl \
--request POST \
--url "https://api.breeze.blue/v1/studio/projects/import" \
--header "xi-api-key: $BREEZE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"title": "An evening story",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
"chapters": [
{
"client_ref": "opening",
"title": "Opening",
"clips": [
{
"client_ref": "opening.line1",
"script": "The lights came on."
}
]
}
]
}'from breeze_blue import BreezeBlue
client = BreezeBlue()
result = client.studio.projects.import_project({
"title": "An evening story",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
"chapters": [
{
"client_ref": "opening",
"title": "Opening",
"clips": [
{
"client_ref": "opening.line1",
"script": "The lights came on.",
},
],
},
],
})import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient();
const result = await client.studio.projects.importProject({
title: "An evening story",
operationId: "123e4567-e89b-42d3-a456-426614174000",
chapters: [{
clientRef: "opening",
title: "Opening",
clips: [{
clientRef: "opening.line1",
script: "The lights came on.",
}],
}],
});{
"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": {}
}Import a project
Create a project from a complete script in one step: up to 20 chapters with up to 400 clips each. Every voice is checked before anything is created. client_refs in the response maps each client_ref to the created chapter or clip ID. Requires a paid Studio subscription and a free saved-project slot.
curl \
--request POST \
--url "https://api.breeze.blue/v1/studio/projects/import" \
--header "xi-api-key: $BREEZE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"title": "An evening story",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
"chapters": [
{
"client_ref": "opening",
"title": "Opening",
"clips": [
{
"client_ref": "opening.line1",
"script": "The lights came on."
}
]
}
]
}'from breeze_blue import BreezeBlue
client = BreezeBlue()
result = client.studio.projects.import_project({
"title": "An evening story",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
"chapters": [
{
"client_ref": "opening",
"title": "Opening",
"clips": [
{
"client_ref": "opening.line1",
"script": "The lights came on.",
},
],
},
],
})import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient();
const result = await client.studio.projects.importProject({
title: "An evening story",
operationId: "123e4567-e89b-42d3-a456-426614174000",
chapters: [{
clientRef: "opening",
title: "Opening",
clips: [{
clientRef: "opening.line1",
script: "The lights came on.",
}],
}],
});{
"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.
Chapters in order, from 1 to 20.
1 - 20 elementsShow child attributes
Show child attributes
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 imported project, with client_refs.
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.

