add_storyboard_sound
Add a sound to a film
Place ready audio the account already holds — a voice-over, music or an audio upload — on a film as a sound card. from_scene is the first scene it covers (absent is the start); offsets, the source window, length (loop, once, in_full) and gain_db are optional, and a card that names neither length nor gain lands as a hand-drop would. Sounds are listed in the answer's sounds array, numbered from 1. One undo step; undo_storyboard takes it back. Spends no credits.
Scope
storyboards.write— Authors, edits, renders and deletes storyboards. Reading a board rides media.read, and the two board tools that spend need generation.write as well.
Behaviour
- Writes
- Creates or changes items in the caller's own account.
- Adds or updates
- Adds or updates; nothing the caller already has is deleted or overwritten.
- Stays in the account
- Stays inside the caller's private Kuro account: any media provider it calls acts on Kuro's account, and the result is visible to no one else.
Credits
What the tool's description says about credits, verbatim.
- Spends no credits.
Inputs
storyboard_idstring · requireduuid
referenceobject (type: "upload") or object (type: "generation") · requiredfrom_sceneinteger · optionalFirst scene the card covers. Absent means from the start.
> 0
start_offset_secondsnumber · optional≥ 0
source_in_secondsnumber · optional≥ 0
source_out_secondsnumber or null · optionalloop_duration_secondsnumber or null · optionallengthstring · optionalone of "loop", "once", "in_full"
gain_dbinteger · optional≥ -40 · ≤ 0
Example call
A tools/call request with the required arguments only, each a placeholder read off the schema. Replace them before sending.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "add_storyboard_sound",
"arguments": {
"storyboard_id": "00000000-0000-4000-8000-000000000000",
"reference": {
"type": "upload",
"upload_id": "00000000-0000-4000-8000-000000000000"
}
}
}
}Input schema
As the server sends it in tools/list.
{
"type": "object",
"properties": {
"storyboard_id": {
"type": "string",
"format": "uuid"
},
"reference": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "upload"
},
"upload_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"type",
"upload_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "generation"
},
"generation_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"type",
"generation_id"
],
"additionalProperties": false
}
]
},
"from_scene": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "First scene the card covers. Absent means from the start."
},
"start_offset_seconds": {
"type": "number",
"minimum": 0
},
"source_in_seconds": {
"type": "number",
"minimum": 0
},
"source_out_seconds": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
},
"loop_duration_seconds": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
},
"length": {
"type": "string",
"enum": [
"loop",
"once",
"in_full"
]
},
"gain_db": {
"type": "integer",
"minimum": -40,
"maximum": 0
}
},
"required": [
"storyboard_id",
"reference"
],
"additionalProperties": false
}Related tools
- undo_storyboard
Take back YOUR last gesture on a film, or redo the one you took back.
- create_storyboard
Make a film three ways: from a brief you have written as scenes, from media the account already holds, or from a video you have already analysed.