cURL
curl \
--request PATCH \
--url "https://api.breeze.blue/v1/studio/projects/prj_example/clips/batch" \
--header "xi-api-key: $BREEZE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"expected_edit_token": "replace_with_current_edit_token",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
"updates": [
{
"instructions": "Speak softly.",
"clip_id": "clp_example"
}
]
}'from breeze_blue import BreezeBlue
client = BreezeBlue()
result = client.studio.clips.batch_update("prj_example", {
"expected_edit_token": "replace_with_current_edit_token",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
"updates": [
{
"instructions": "Speak softly.",
"clip_id": "clp_example",
},
],
})import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient();
const result = await client.studio.clips.batchUpdate("prj_example", {
expectedEditToken: "replace_with_current_edit_token",
operationId: "123e4567-e89b-42d3-a456-426614174000",
updates: [{
instructions: "Speak softly.",
clipId: "clp_example",
}],
});{
"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": {}
}Studio
Update clips in bulk
Update up to 100 clips in a single atomic write. Each item names a clip_id and the fields to change.
PATCH
/
v1
/
studio
/
projects
/
{project_id}
/
clips
/
batch
cURL
curl \
--request PATCH \
--url "https://api.breeze.blue/v1/studio/projects/prj_example/clips/batch" \
--header "xi-api-key: $BREEZE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"expected_edit_token": "replace_with_current_edit_token",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
"updates": [
{
"instructions": "Speak softly.",
"clip_id": "clp_example"
}
]
}'from breeze_blue import BreezeBlue
client = BreezeBlue()
result = client.studio.clips.batch_update("prj_example", {
"expected_edit_token": "replace_with_current_edit_token",
"operation_id": "123e4567-e89b-42d3-a456-426614174000",
"updates": [
{
"instructions": "Speak softly.",
"clip_id": "clp_example",
},
],
})import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient();
const result = await client.studio.clips.batchUpdate("prj_example", {
expectedEditToken: "replace_with_current_edit_token",
operationId: "123e4567-e89b-42d3-a456-426614174000",
updates: [{
instructions: "Speak softly.",
clipId: "clp_example",
}],
});{
"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": {}
}Continue building
Manage Studio projects
Import scripts, edit safely, and retry writes.
Get a clip
Check stored and effective clip settings.
Studio CLI
Run the same operations from a terminal.
Authorizations
Breeze Developer API key.
Path Parameters
Studio project ID, such as prj_….
Body
application/json
edit_token from your latest read or write of this project. A stale token returns 409.
Required string length:
1 - 128New UUID for each write. Retrying with the same ID and body returns the original result instead of repeating the write.
Clip changes, from 1 to 100.
Required array length:
1 - 100 elementsShow child attributes
Show child attributes
Response
The updated 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.

