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

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.

Inputs

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

Every tool· This page as Markdown