Skip to main content
Glama

Generate sound effect

generate_sound_effect

Synthesize a standalone audio effect from a description of the desired sound and timing. Returns toolExecutionId; use get_tool_execution to retrieve the generated audio file and download URL.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "prompt": "<prompt>"
    },
    "name": "generate_sound_effect"
  }
}

Input Schema

NameRequiredDescriptionDefault
promptYesDescription of the sound effect.
durationSecondsNoRequested sound-effect playback duration in seconds.

Output Schema

NameRequiredDescriptionDefault
errorNoError details when status is failed; otherwise null.
statusNoJob status: pending, running, succeeded, failed, or cancelled.
resultsNoGenerated results with download URLs when succeeded.
toolTypeNoTool name (e.g. GENERATE_IMAGE).
attemptIndexNoCurrent or latest attempt index.
toolExecutionIdYesTool execution id (vg_tool_...).
progressPercentageNoCompletion progress 0-100 (present after polling).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed33 schema fields changed
    • changedOutput schema / properties / error / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "code": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Machine-readable error code."
      -      },
      -      "internalErrorCode": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Opaque code for support."
      -      },
      -      "message": {
      -        "description": "Human-readable error description.",
      -        "type": "string"
      -      },
      -      "requirement": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": {},
      -            "properties": {
      -              "details": {
      -                "additionalProperties": {
      -                  "type": "string"
      -                },
      -                "propertyNames": {
      -                  "type": "string"
      -                },
      -                "type": "object"
      -              },
      -              "type": {
      -                "description": "Requirement type (e.g. purchase_add_on).",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "type"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "What is needed to resolve the error, when applicable."
      -      }
      -    },
      -    "required": [
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "code": {
      +        "description": "Machine-readable error code.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "internalErrorCode": {
      +        "description": "Opaque code for support.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "Human-readable error description.",
      +        "type": "string"
      +      },
      +      "requirement": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": {},
      +            "properties": {
      +              "details": {
      +                "additionalProperties": {
      +                  "type": "string"
      +                },
      +                "propertyNames": {
      +                  "type": "string"
      +                },
      +                "type": "object"
      +              },
      +              "type": {
      +                "description": "Requirement type (e.g. purchase_add_on).",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "What is needed to resolve the error, when applicable."
      +      }
      +    },
      +    "required": [
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / downloadUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / downloadUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / downloadUrlExpiresAt / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / downloadUrlExpiresAt / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / description / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / description / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / file / properties / downloadSource / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "description": "A file rendition source (thumbnail, preview, download, …).",
      -    "properties": {
      -      "expiresAt": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Unix expiry for url."
      -      },
      -      "fileBytes": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition size in bytes."
      -      },
      -      "height": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition height in pixels."
      -      },
      -      "status": {
      -        "description": "Rendition status.",
      -        "enum": [
      -          "pending",
      -          "ready",
      -          "failed",
      -          "skipped"
      -        ],
      -        "type": "string"
      -      },
      -      "url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Signed URL when status is ready."
      -      },
      -      "width": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition width in pixels."
      -      }
      -    },
      -    "required": [
      -      "status"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "description": "A file rendition source (thumbnail, preview, download, …).",
      +    "properties": {
      +      "expiresAt": {
      +        "description": "Unix expiry for url.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "fileBytes": {
      +        "description": "Rendition size in bytes.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "height": {
      +        "description": "Rendition height in pixels.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "status": {
      +        "description": "Rendition status.",
      +        "enum": [
      +          "pending",
      +          "ready",
      +          "failed",
      +          "skipped"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "Signed URL when status is ready.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "width": {
      +        "description": "Rendition width in pixels.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / downloadUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / downloadUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / downloadUrlExpiresAt / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / downloadUrlExpiresAt / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / durationSeconds / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / durationSeconds / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / file / properties / hlsSource / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "description": "A file rendition source (thumbnail, preview, download, …).",
      -    "properties": {
      -      "expiresAt": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Unix expiry for url."
      -      },
      -      "fileBytes": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition size in bytes."
      -      },
      -      "height": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition height in pixels."
      -      },
      -      "status": {
      -        "description": "Rendition status.",
      -        "enum": [
      -          "pending",
      -          "ready",
      -          "failed",
      -          "skipped"
      -        ],
      -        "type": "string"
      -      },
      -      "url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Signed URL when status is ready."
      -      },
      -      "width": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition width in pixels."
      -      }
      -    },
      -    "required": [
      -      "status"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "description": "A file rendition source (thumbnail, preview, download, …).",
      +    "properties": {
      +      "expiresAt": {
      +        "description": "Unix expiry for url.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "fileBytes": {
      +        "description": "Rendition size in bytes.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "height": {
      +        "description": "Rendition height in pixels.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "status": {
      +        "description": "Rendition status.",
      +        "enum": [
      +          "pending",
      +          "ready",
      +          "failed",
      +          "skipped"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "Signed URL when status is ready.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "width": {
      +        "description": "Rendition width in pixels.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / results / items / properties / file / properties / previewSource / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "description": "A file rendition source (thumbnail, preview, download, …).",
      -    "properties": {
      -      "expiresAt": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Unix expiry for url."
      -      },
      -      "fileBytes": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition size in bytes."
      -      },
      -      "height": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition height in pixels."
      -      },
      -      "status": {
      -        "description": "Rendition status.",
      -        "enum": [
      -          "pending",
      -          "ready",
      -          "failed",
      -          "skipped"
      -        ],
      -        "type": "string"
      -      },
      -      "url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Signed URL when status is ready."
      -      },
      -      "width": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition width in pixels."
      -      }
      -    },
      -    "required": [
      -      "status"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "description": "A file rendition source (thumbnail, preview, download, …).",
      +    "properties": {
      +      "expiresAt": {
      +        "description": "Unix expiry for url.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "fileBytes": {
      +        "description": "Rendition size in bytes.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "height": {
      +        "description": "Rendition height in pixels.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "status": {
      +        "description": "Rendition status.",
      +        "enum": [
      +          "pending",
      +          "ready",
      +          "failed",
      +          "skipped"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "Signed URL when status is ready.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "width": {
      +        "description": "Rendition width in pixels.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / publicHlsUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / publicHlsUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / publicPlaybackId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / publicPlaybackId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / file / properties / thumbnailSource / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "description": "A file rendition source (thumbnail, preview, download, …).",
      -    "properties": {
      -      "expiresAt": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Unix expiry for url."
      -      },
      -      "fileBytes": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition size in bytes."
      -      },
      -      "height": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition height in pixels."
      -      },
      -      "status": {
      -        "description": "Rendition status.",
      -        "enum": [
      -          "pending",
      -          "ready",
      -          "failed",
      -          "skipped"
      -        ],
      -        "type": "string"
      -      },
      -      "url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Signed URL when status is ready."
      -      },
      -      "width": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Rendition width in pixels."
      -      }
      -    },
      -    "required": [
      -      "status"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "description": "A file rendition source (thumbnail, preview, download, …).",
      +    "properties": {
      +      "expiresAt": {
      +        "description": "Unix expiry for url.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "fileBytes": {
      +        "description": "Rendition size in bytes.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "height": {
      +        "description": "Rendition height in pixels.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "status": {
      +        "description": "Rendition status.",
      +        "enum": [
      +          "pending",
      +          "ready",
      +          "failed",
      +          "skipped"
      +        ],
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "Signed URL when status is ready.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "width": {
      +        "description": "Rendition width in pixels.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / thumbnailUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / thumbnailUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / thumbnailUrlExpiresAt / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / thumbnailUrlExpiresAt / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / transcriptText / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / transcriptText / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / file / properties / type / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / file / properties / type / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / thumbnailUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / thumbnailUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / properties / thumbnailUrlExpiresAt / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / results / items / properties / thumbnailUrlExpiresAt / type
      Added value: +[
      +  "number",
      +  "null"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / durationSeconds / description
      Added value: +"Requested sound-effect playback duration in seconds."
  3. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=false). The description adds the critical non-obvious behavior: the call is asynchronous and returns a toolExecutionId that must be redeemed via get_tool_execution. It omits that repeated calls are non-idempotent and presumably consume credits, which the idempotentHint alone does not make operationally clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, with the generation behavior front-loaded and the retrieval step second. Every clause earns its place and nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description needn't document return values, and it correctly focuses on the async handoff instead. The one remaining gap is sibling differentiation against generate_music and text_to_speech, which matters in a family this crowded.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters carry their own descriptions, so the baseline is 3. The description's phrase "desired sound and timing" loosely maps to prompt and durationSeconds but adds no format, unit, or constraint detail beyond the schema (e.g., the 1–30 second bound is only in the schema).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Synthesize a standalone audio effect" gives a specific verb and resource, and the phrase "standalone audio effect" implicitly separates it from generate_music and text_to_speech. It stops short of naming those siblings explicitly, so an agent must infer the boundary rather than being told.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies a useful follow-up rule (call get_tool_execution with the returned toolExecutionId to fetch the audio), which is genuine usage guidance. However, it never states when to choose this over generate_music or text_to_speech, nor any exclusions or credit-cost caveats, so the core routing decision is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.