BlitzReels Video Editor
Server Details
Create, edit, reframe, caption, organize, generate, and export short-form videos with BlitzReels.
- Status
- Healthy
- Uptime
- 99.1% over 51 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 122 tools
The 122-tool set contains multiple overlapping clusters: clips_get/clips_status_get/clips_inspect/clips_list and clips_manage all retrieve or act on clips; editor_*/timeline_* tools edit the same timeline items; several import/upload paths bring media into the library. Descriptions help, but boundaries are often unclear, forcing agents to guess.
Most names are snake_case, but verb/object ordering is inconsistent (add_text_overlay vs captions_words_correct; timeline_edit_apply vs update_timeline_clip) and singular/plural prefixes vary (clip_share vs clips_create). Still readable, but not a predictable pattern.
122 tools is far beyond a well-scoped video-editor surface; the rubric's extreme-mismatch threshold is 50+. The fragmentation into many near-duplicate operations makes the set unwieldy.
Broad lifecycle coverage exists for clips, exports, generation, captions, and timeline editing, but major resources like projects, media assets, characters, and story kits lack delete/update operations. These gaps are workable in some workflows but create notable dead ends.
Available Tools
122 toolsadd_text_overlayAdd Title CardBIdempotentInspect
Add an opening title card (hook) or generic text overlay to a project timeline. Defaults to classic white: black text on a white card.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | title_card is an opening hook. overlay is generic on-video text. | title_card |
| name | No | ||
| size | No | Title-card size. Ignored for overlay. | default |
| text | Yes | ||
| theme | No | Title-card look. classic_white is black text on a white card. Ignored for overlay. | classic_white |
| projectId | Yes | UUID string. | |
| layerIndex | No | ||
| startSeconds | No | ||
| idempotencyKey | Yes | Retry key. Reuse only with identical inputs. | |
| durationSeconds | No | ||
| expectedRevision | No | Expected sequence revision, or null. |
Output Schema
| Name | Required | Description |
|---|---|---|
| txid | Yes | |
| result | Yes | |
| replayed | Yes | |
| revision | Yes | |
| warnings | Yes | |
| projectId | Yes | |
| operationId | Yes | |
| baseRevision | Yes | |
| mutationReceipt | Yes | |
| createdTimelineItemIds | Yes | |
| deletedTimelineItemIds | Yes | |
| affectedTimelineItemIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false, so the agent knows this is a mutating but safe operation. The description adds only the default theme ('classic white') and does not disclose other behavioral traits like interaction with existing timeline items or the impact of layerIndex. With annotations covering the core safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately states the tool's purpose and its default. No wasted words; it front-loads the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 11 parameters, including two modes (overlay vs title_card) and several parameters that are ignored based on the mode, the description is too thin. It does not explain when to use overlay vs title_card, nor does it mention that certain parameters (size, theme) are ignored for overlay. Since an output schema exists, return values are covered, but the usage context is incomplete for such a configurable tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 55%, so a significant portion of parameters (name, layerIndex, startSeconds, durationSeconds, text) lack descriptions in the schema. The tool description adds no parameter guidance beyond mentioning the default theme, which is already in the schema. It fails to compensate for the undocumented parameters, making this a weak area.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Add' and the resource 'opening title card (hook) or generic text overlay to a project timeline,' which is specific and unambiguous. It does not explicitly differentiate from sibling tools like timeline_media_add or add_transition, but the purpose is clear enough for an agent to understand what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives, nor does it mention scenarios where another tool would be more appropriate. The distinction between 'overlay' and 'title_card' is only hinted at by the parenthetical, but no concrete usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_transitionAdd TransitionCIdempotentInspect
Add a timed transition effect, optionally attached to one timeline item and paired with sound.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| easing | No | easeInOut | |
| preset | No | flash | |
| intensity | No | ||
| projectId | Yes | UUID string. | |
| includeSfx | No | ||
| layerIndex | No | ||
| startSeconds | Yes | ||
| idempotencyKey | Yes | Retry key. Reuse only with identical inputs. | |
| timelineItemId | No | ||
| durationSeconds | No | ||
| expectedRevision | No | Expected sequence revision, or null. |
Output Schema
| Name | Required | Description |
|---|---|---|
| txid | Yes | |
| result | Yes | |
| replayed | Yes | |
| revision | Yes | |
| warnings | Yes | |
| projectId | Yes | |
| operationId | Yes | |
| baseRevision | Yes | |
| mutationReceipt | Yes | |
| createdTimelineItemIds | Yes | |
| deletedTimelineItemIds | Yes | |
| affectedTimelineItemIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-destructive, idempotent, open-world mutation. The description adds no further behavioral context such as what exactly is created, permissions required, side effects on the timeline, or how expectedRevision affects the write. It does not contradict annotations, but it does not enrich them either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. However, it is too sparse for a 12-parameter mutation tool with low schema coverage, so its brevity becomes under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter tool with 25% schema coverage, existing annotations, and an output schema, this description is incomplete. It gives the purpose but omits the parameter meanings and usage context needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 25% schema description coverage, the description must compensate for 9 undocumented parameters. It indirectly touches on timelineItemId (optional attachment) and includeSfx (paired with sound), but ignores name, easing, preset, intensity, layerIndex, durationSeconds, and expectedRevision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Add a timed transition effect.' It distinguishes itself from timeline siblings like add_text_overlay or timeline_audio_add by resource type, though it does not explicitly name an alternative. Clarity is high but lacks sibling routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. The phrase 'optionally attached to one timeline item and paired with sound' implies the tool can be used standalone or attached, but this is context about parameters, not selection guidance versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_update_timeline_clipsBatch Update Timeline ClipsAIdempotentInspect
Update timing, trim, layer, or state for up to 100 timeline items in one sequence transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| updates | Yes | Each update needs at least one field to change besides timelineItemId. | |
| projectId | Yes | UUID string. | |
| idempotencyKey | Yes | Retry key. Reuse only with identical inputs. | |
| expectedRevision | No | Expected sequence revision, or null. |
Output Schema
| Name | Required | Description |
|---|---|---|
| txid | Yes | |
| result | Yes | |
| replayed | Yes | |
| revision | Yes | |
| warnings | Yes | |
| projectId | Yes | |
| operationId | Yes | |
| baseRevision | Yes | |
| mutationReceipt | Yes | |
| createdTimelineItemIds | Yes | |
| deletedTimelineItemIds | Yes | |
| affectedTimelineItemIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent=true, readOnly=false, and destructive=false. The description adds valuable behavioral context: the operation is transactional and limited to 100 items. It does not contradict the annotations and provides insight beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly packed sentence. It front-loads the verb, specifies the supported fields, and includes the critical constraints (up to 100 items, one transaction) without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema (100% coverage) and the presence of an output schema, the description is sufficient for understanding the core operation. It captures the essential batch and transactional behavior. A minor gap is not explicitly directing users to the singular update_timeline_clip for single updates, but that is more of a usage guideline than a completeness issue.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter already has a description. The phrase 'timing, trim, layer, or state' adds semantic grouping to the fields, but it does not provide new syntax or details beyond what the schema already documents. This is the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update'), the resource ('timeline items'), and the scope ('up to 100 ... in one sequence transaction'). It explicitly lists the kinds of updates (timing, trim, layer, state), which distinguishes it from singular siblings like update_timeline_clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: it is for batch updating up to 100 items atomically ('one sequence transaction'). It does not explicitly name an alternative for single-item updates, but the batch limit and transactional phrasing imply the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
captions_look_applyApply Caption LookADestructiveIdempotentInspect
Apply a verified caption look to one project. Preserves word overrides unless clearWordOverrides=true. Existing captions are restyled; spoken audio is preserved.
| Name | Required | Description | Default |
|---|---|---|---|
| lookId | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | No | UUID string. | |
| idempotencyKey | Yes | ||
| clearWordOverrides | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds genuinely useful detail beyond them: it discloses that word overrides are preserved by default and only cleared when clearWordOverrides=true, and that existing captions are restyled while spoken audio is preserved. That explains exactly what the 'destructive' behavior touches, though it says nothing about permissions or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then the override caveat, then the preservation guarantee. No filler and every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers the mutation's effects and preservation guarantees adequately for a destructive tool. It is still thin on permission/authorization context and on how the required idempotencyKey should be supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%, so the description must compensate, and it does explain the semantics of clearWordOverrides (the flag that controls override destruction). However, projectId, lookId, workspaceId, and idempotencyKey receive no added meaning in the description, leaving most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Apply') and resource ('a verified caption look') with an explicit scope of 'one project', so the action is unambiguous. It does not explicitly differentiate itself from adjacent caption siblings like captions_themes_list or captions_source_prepare, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'verified' implies a prerequisite that the look must first be validated, giving some implied usage context, but there is no explicit when-to-use, when-not-to-use, or named alternative. The agent has to infer the workflow ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
captions_source_preparePrepare Source CaptionsADestructiveIdempotentInspect
Restore editable project captions from the selected source's completed canonical transcript. Keeps the full recording and avoids duplicate captions on identical retries. Requires source transcription first; no-speech is an explicit successful state.
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | Yes | UUID string. | |
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=true, so the burden is lighter, yet the description still adds real context: retry behavior ('avoids duplicate captions on identical retries'), that the full recording is preserved, and that no-speech is a legitimate success rather than a failure. It stops short of saying which existing editable captions are overwritten or what authorizations are needed, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, with the core action front-loaded and each clause carrying distinct information (source, retry/idempotency behavior, precondition, edge case). No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the annotations cover safety and idempotency. The description supplies the prerequisite and the no-speech success state, leaving only minor gaps around overwrite scope and parameter mapping.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only half the parameters carry schema descriptions, and those present just say 'UUID string'. The description adds indirect meaning for idempotencyKey ('identical retries') and projectId ('project captions'), but it never clarifies the assetId-vs-projectId relationship or the source-selection semantics, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb and resource ('Restore editable project captions from the selected source's completed canonical transcript'), which is clearly distinct from siblings like captions_words_list or media_transcript_get. It does not explicitly name a sibling to disambiguate against, but the resource is precise enough for an agent to select it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a meaningful precondition ('Requires source transcription first') and defines an edge outcome ('no-speech is an explicit successful state'), which tells the agent when the call is valid. However, it never names an alternative tool or a when-not condition, so routing against e.g. captions_words_correct or captions_look_apply 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.
captions_themes_listList Caption ThemesARead-onlyIdempotentInspect
List built-in caption looks and saved caption themes available to a workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| includeSavedThemes | No | Include saved workspace caption themes. | |
| includeBuiltInLooks | No | Include built-in caption looks. |
Output Schema
| Name | Required | Description |
|---|---|---|
| themes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds that it includes both built-in looks and saved themes, which is useful context, but does not disclose additional behaviors like pagination or ordering. This is adequate given the annotations, but not overly rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the action and scope. No redundant words or filler, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation, the description, combined with comprehensive annotations and a full output schema, provides complete context. There are no missing details about return values or safety, and the tool's simplicity means no additional context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have full descriptions in the input schema, achieving 100% schema coverage. The description itself does not add parameter-level meaning, but the schema is sufficient, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists built-in caption looks and saved caption themes for a workspace, using a specific verb and resource. It distinguishes itself from sibling tools by focusing on caption themes, which is unique among the provided tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a simple listing tool, but provides no explicit guidance on when to use it versus alternatives or when not to use it. Since no alternative theme-listing tools exist among siblings, this is acceptable but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
captions_words_correctCorrect Caption WordsADestructiveIdempotentInspect
Replace selected caption words by their stable IDs. Preserves timing and the other captions; this does not change the spoken audio.
| Name | Required | Description | Default |
|---|---|---|---|
| updates | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered. The description adds genuinely useful scope beyond that: it clarifies that timing, other captions, and the spoken audio are preserved, which narrows what "destructive" means here. It stops short of addressing partial-failure or auth behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed by the preservation guarantee. No filler, and the second clause carries real information rather than restating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. The description covers the action and its side effects adequately, but omits guidance on the required idempotencyKey and the batch constraint (max 200 updates), which an agent must know to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only projectId has a trivial "UUID string" note). The description partially compensates by explaining that updates target words via "stable IDs" (wordId), but leaves idempotencyKey, workspaceId, array size limits, and the text-length constraint entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Replace selected caption words") and the mechanism ("by their stable IDs"), which is easy to distinguish from the list-oriented sibling captions_words_list. It does not explicitly name or contrast any sibling, so it falls just short of the top mark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (correcting already-existing caption words identified by ID, which presupposes a prior captions_words_list call) but never states when to use this versus alternatives or any prerequisites. Usage is inferable but not documented.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
captions_words_listRead Caption WordsARead-onlyIdempotentInspect
Read bounded editable caption words and stable word IDs for one project, optionally matching text.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| offset | Yes | ||
| matchText | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is free. The description adds real context beyond that: results are 'bounded' (paginated), the words are 'editable' (i.e. subsequently mutable via the correct sibling), and IDs are 'stable' so they can be referenced later.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-packed sentence with the read action and scope front-loaded and no filler. Density is high but each clause (bounded, editable, stable IDs, optional match) carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a 5-parameter read tool the description covers scope, filtering and pagination at a high level but omits ordering behavior, what 'bounded' limits actually are, and how stable IDs map to downstream correction calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only projectId is annotated), so the description must compensate. It does so partially: 'one project' scopes projectId/workspaceId, 'optionally matching text' explains matchText, and 'bounded' signals limit/offset pagination. It still gives no bounds or ordering semantics for limit/offset.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (read) plus resource (caption words + stable word IDs) and scope (one project), with an optional text filter. It reads clearly as a listing tool against siblings like captions_words_correct, though it never names the alternative that mutates words.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: reading is clearly the safe/fetch direction, and 'for one project' plus 'optionally matching text' hints at when it applies. There is no explicit when-not guidance or pointer to sibling tools such as captions_words_correct or captions_themes_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_cloneClone CarouselBIdempotentInspect
Duplicate a carousel onto a new project. Copies slots. Icon and shot values may be pack filenames or asset:.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| projectId | Yes | UUID string. | |
| workspaceId | No | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| kit | No | |
| name | No | |
| frame | No | |
| style | No | |
| locale | No | |
| slides | No | |
| can_undo | No | |
| platform | No | |
| revision | No | |
| warnings | No | |
| templates | No | |
| project_id | No | |
| next_actions | No | |
| mutationReceipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare idempotentHint=true and destructiveHint=false, so the description doesn't contradict them. It adds one useful behavioral context: 'Icon and shot values may be pack filenames or asset:<media_asset_id>.' This goes beyond fields but is more about data representation than side effects or prerequisites. It doesn't disclose permissions, reversibility, or any consequences of cloning, which are relevant for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. The main action is front-loaded, and the asset-format clarification is appended efficiently. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description omits critical context: How is the source carousel identified? There is no carouselId parameter. Also, it doesn't state any prerequisites (e.g., whether the target project must exist) or what happens to existing slots. For a mutating clone operation, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (projectId has a generic 'UUID string' description). The description does not explain the role of any parameter (e.g., projectId as target vs. source, workspaceId, name, idempotencyKey). The note about icon and shot formats refers to the copied content, not the parameters themselves. It fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Duplicate'), the resource ('a carousel'), and the target ('onto a new project'). 'Copies slots' adds a behavioral detail. This clearly distinguishes it from sibling operations like carousels_migrate or carousels_compile because it is a pure copy operation onto a new project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention conditions, exclusions, or name any sibling for contrast. An agent has to infer that 'clone' implies a copy action, but there is no explicit direction about when this is preferable to other carousel-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_compileCompile CarouselBIdempotentInspect
Create or replace a carousel project from a slide document. Server owns chip layout, safezones, and exact export pixels.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| style | No | ||
| locale | No | ||
| slides | Yes | ||
| platform | Yes | ||
| series_id | No | ||
| project_id | No | ||
| workspaceId | No | ||
| clear_existing | No | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| frame | Yes | |
| job_id | No | |
| slides | Yes | |
| platform | Yes | |
| revision | Yes | |
| warnings | Yes | |
| project_id | Yes | |
| slide_count | Yes | |
| next_actions | Yes | |
| ai_image_run_id | No | |
| mutationReceipt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral context beyond the annotations: the server controls chip layout, safezones, and export pixels, so callers should not expect to specify those details. 'Create or replace' is consistent with idempotentHint=true, and the annotations already cover read/write and destructive hints; no contradiction is evident.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded and no wasted words. The second sentence adds a meaningful behavioral boundary without repeating schema constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 10 parameters, nested slides/style/visual objects, and no schema descriptions. The two-sentence description leaves key semantics unexplained, including idempotency key behavior, clear_existing semantics, platform-specific constraints, and how the result relates to existing projects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to compensate, but it only maps 'slide document' to the slides parameter. It does not explain required fields like idempotencyKey, platform, or name, nor options such as clear_existing, style, series_id, or project_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete action ('Create or replace a carousel project') and the input source ('a slide document'), making the core purpose clear. It doesn't name or contrast sibling tools like carousels_patch_document or carousels_clone, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus alternatives such as carousels_patch_document, carousels_preview, or carousels_migrate. The phrase 'Server owns chip layout...' hints at an automated-compilation use case, but the agent is left to infer when this is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_expand_recipeExpand Carousel RecipeARead-onlyIdempotentInspect
Turn a named recipe or a brief into compile-ready named-template slides. Expand never publishes and never invents metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| brief | No | ||
| offer | No | ||
| locale | No | ||
| product | No | ||
| audience | No | ||
| platform | No | ||
| recipeId | Yes | ||
| workspaceId | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| locale | No | |
| slides | Yes | |
| platform | Yes | |
| recipe_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows this is a safe, non-destructive, idempotent operation. The description adds valuable behavioral context beyond annotations: 'never publishes' (side-effect boundary) and 'never invents metrics' (data integrity guarantee). It also clarifies the input modes ('named recipe or a brief') and output ('compile-ready named-template slides'). This is good additional context that goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and output, followed by two crisp negative constraints. Every word earns its place. It's concise, structured, and immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 9 parameters, an output schema, and annotations. The description covers the core input modes (recipe or brief) and the key behavioral boundaries (no publish, no invented metrics). It doesn't explain the optional parameters (offer, locale, product, audience, platform, workspaceId) or how they influence the expansion, but the output schema exists and the annotations cover safety. For a complex tool with 9 params, the description is reasonably complete but could benefit from a note on how optional params shape the output. Given the output schema exists, the description doesn't need to explain return values. A 4 is fair.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden of explaining parameters. The description mentions 'named recipe or a brief' which maps to recipeId and brief parameters, but it doesn't explain the other 7 parameters (name, offer, locale, product, audience, platform, workspaceId). The schema itself has enums for recipeId and platform, and types for others, but no descriptions. The description adds some semantic context (recipe vs brief) but doesn't compensate for the 0% coverage of the remaining parameters. Baseline 3 is appropriate because the description adds some meaning but leaves many parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Expand'), a clear resource ('a named recipe or a brief'), and the output ('compile-ready named-template slides'). It also distinguishes itself from siblings by explicitly saying it 'never publishes' (contrasting with carousels_compile) and 'never invents metrics' (contrasting with generation_plan_brief or similar). This is a clear, specific purpose statement that differentiates it from the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you have a named recipe or a brief and want to expand it into slides. It also gives an exclusion: 'never publishes', which tells the agent not to use this tool when publishing is the goal. However, it doesn't explicitly name the alternative tool for publishing (e.g., carousels_compile) or state when to use a sibling instead. The context signals show siblings like carousels_compile, carousels_clone, carousels_patch_document, which are related, but the description doesn't explicitly route to them. Still, the 'never publishes' clause provides a clear boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_getGet Carousel DocumentBRead-onlyIdempotentInspect
Read the carousel slot document and the named template catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | UUID string. | |
| workspaceId | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kit | No | |
| name | Yes | |
| frame | Yes | |
| style | Yes | |
| locale | Yes | |
| slides | Yes | |
| can_undo | Yes | |
| platform | Yes | |
| revision | Yes | |
| warnings | Yes | |
| templates | Yes | |
| project_id | Yes | |
| next_actions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds a small amount of scope context (which artifacts are read) but discloses nothing beyond that, such as auth requirements or side effects — acceptable given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states both the action and the two resources read with no filler. It is slightly under-specified, but every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, 1 required), annotations cover safety, and an output schema exists, so the description need not explain return values. The main gaps are parameter semantics and the meaning of the nullable workspaceId, which leaves the description adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: projectId has a tautological 'UUID string' description and workspaceId has none. The description does not compensate by explaining what projectId identifies, what workspaceId null means, or how the parameters relate to the slot document/template catalog.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and identifies distinct resources ('carousel slot document and the named template catalog'), which separates it from sibling carousel tools like carousels_patch_document, carousels_compile, and carousels_preview. It does not explicitly contrast itself with those siblings, but naming the exact artifacts read is enough to disambiguate the core intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as carousels_preview, carousels_kit, or characters_get. Usage is only weakly implied by the verb, and no prerequisites, exclusions, or sibling routing are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_kitCarousel Theme KitBIdempotentInspect
Save or apply a theme, brand theme, or named slide template. Themes rewrite fonts, colors, overlay, and asset: logos. Never persist signed URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | ||
| name | No | ||
| scope | No | ||
| themeId | No | ||
| projectId | Yes | UUID string. | |
| slideIndex | No | ||
| workspaceId | No | ||
| idempotencyKey | Yes | ||
| savedTemplateId | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kit | No | |
| name | No | |
| frame | No | |
| style | No | |
| locale | No | |
| slides | No | |
| can_undo | No | |
| platform | No | |
| revision | No | |
| warnings | No | |
| templates | No | |
| project_id | No | |
| next_actions | No | |
| mutationReceipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real behavioral context beyond the annotations: applying themes rewrites fonts, colors, overlays, and asset logos, and 'Never persist signed URLs' is a concrete constraint. The main gap is that delete_theme and delete_template operations are not disclosed, though this does not contradict the readOnly or idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the main action and containing no filler. The side-effect warning and signed-URL constraint each earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a 7-value op enum, 9 parameters, and delete operations, three sentences are not enough. An agent cannot determine which parameters are required per operation or how scope, workspaceId, and slideIndex interact; the output schema covers return shape, but the operation-selection semantics remain under-documented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 11% schema description coverage, the description needed to explain op, themeId, savedTemplateId, scope, and slideIndex, but it only adds general context about what themes rewrite. It does not clarify per-operation parameter requirements or the difference between project and brand scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-resource pair ('Save or apply a theme, brand theme, or named slide template') and adds detail about what themes do ('rewrite fonts, colors, overlay, and asset:<id> logos'). It does not explicitly distinguish from sibling apply/list tools, and it omits the delete operations visible in the op enum, so it is not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case by saying the tool saves/applies themes, and the op enum provides sub-operations. However, it never states when to prefer this tool over siblings such as captions_themes_list, story_kits_apply, or series_apply, nor does it give any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_migrateMigrate Legacy CarouselBIdempotentInspect
Rebuild a compile slot document from a legacy overlay carousel. Then patch slots like any compiled deck.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | UUID string. | |
| workspaceId | No | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| kit | No | |
| name | No | |
| frame | No | |
| style | No | |
| locale | No | |
| slides | No | |
| can_undo | No | |
| platform | No | |
| revision | No | |
| warnings | No | |
| templates | No | |
| project_id | No | |
| next_actions | No | |
| mutationReceipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true. The description adds that it rebuilds a document and then patches slots, implying a two-step behavior. It doesn't disclose side effects beyond what annotations cover, but it does clarify the migration nature. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The core action is front-loaded. It could be slightly more structured by naming the alternative tools, but it's concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema (not shown), so return values are covered. The description explains the migration workflow but lacks parameter semantics and explicit routing to siblings. For a migration tool with 3 params and 2 required, an agent would need more context on what idempotencyKey and workspaceId mean, and when to use this vs carousels_compile. It's adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only projectId has a description, and it's just 'UUID string.'). The description does not explain the parameters at all. idempotencyKey and workspaceId are undocumented in the schema, and the description doesn't compensate. With low coverage, the description should add meaning but doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Rebuild a compile slot document from a legacy overlay carousel' and then 'patch slots like any compiled deck.' This clearly identifies the resource (compile slot document) and the operation (migrate/rebuild from legacy carousel). It distinguishes itself from siblings like carousels_compile and carousels_patch_document by focusing on legacy migration, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this when you have a legacy overlay carousel and need to rebuild a compile slot document. It says 'Then patch slots like any compiled deck,' which hints at a workflow but doesn't explicitly state when to use this vs alternatives like carousels_compile or carousels_patch_document. No exclusions or alternative tool names are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_patch_documentPatch Carousel DocumentBIdempotentInspect
Reorder, remove, insert, duplicate, or undo slides on a compiled carousel. One write for the filmstrip. Insert rasters an empty named template unless sourceIndex copies a slide.
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | ||
| to | No | ||
| from | No | ||
| index | No | ||
| projectId | Yes | UUID string. | |
| templateId | No | ||
| sourceIndex | No | ||
| workspaceId | No | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| kit | No | |
| name | No | |
| frame | No | |
| style | No | |
| locale | No | |
| slides | No | |
| can_undo | No | |
| platform | No | |
| revision | No | |
| warnings | No | |
| templates | No | |
| project_id | No | |
| next_actions | No | |
| mutationReceipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It reveals behavior beyond annotations: 'One write for the filmstrip' signals atomicity/scope, and 'Insert rasters an empty named template unless sourceIndex copies a slide' describes a non-obvious default. Annotations already handle idempotency and non-destructive status, so this is appropriate supplementary disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the operation list front-loaded and the nuanced insert behavior isolated in the second sentence. No filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is too sparse for a 9-parameter mutation with 11% schema coverage: it does not clarify how from/to/index map to operations, what idempotencyKey should be, or how workspaceId interacts with projectId. Output schema exists, so return-value docs are not needed, but call construction remains underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 11% schema coverage, the description must carry parameter meaning but only hints at templateId ('named template') and sourceIndex ('copies a slide'). Positional semantics for to, from, and index, plus workspaceId and idempotencyKey, are left completely unexplained, and 'duplicate' is listed even though op's enum omits it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates a specific action set ('Reorder, remove, insert, duplicate, or undo slides') on a clear resource ('compiled carousel'), so an agent can tell this is a structural slide-level patch rather than a single-slide edit. It does not explicitly contrast with carousels_patch_slide, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'on a compiled carousel' gives a context clue, but the description never states when to prefer this tool over sibling tools like carousels_patch_slide, carousels_compile, or carousels_get. No when-not conditions or alternative names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_patch_slidePatch Carousel SlideAIdempotentInspect
Patch named slots or template_id on one slide. Re-rasters that slide only. Never rewrite HTML.
| Name | Required | Description | Default |
|---|---|---|---|
| lines | No | ||
| slots | No | ||
| projectId | Yes | UUID string. | |
| slideIndex | Yes | ||
| templateId | No | ||
| workspaceId | No | ||
| mediaAssetId | No | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| kit | No | |
| name | No | |
| frame | No | |
| style | No | |
| locale | No | |
| slides | No | |
| can_undo | No | |
| platform | No | |
| revision | No | |
| warnings | No | |
| templates | No | |
| project_id | No | |
| next_actions | No | |
| mutationReceipt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal that this is a non-read-only, idempotent, non-destructive operation. The description adds valuable context beyond these annotations: it re-rasters only that slide and never rewrites HTML. This is specific behavioral disclosure about side effects that annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse sentences with no waste. The purpose is front-loaded, followed by behavioral constraints. Every clause earns its place and the description is highly scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values are covered. However, an 8-parameter tool with a nested slots object and low schema coverage needs far more input context. The description does not explain what 'lines' represents, how slot keys are used, or the roles of mediaAssetId and workspaceId, leaving an agent to guess at correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13% (only projectId has a description). The description names 'slots' and 'template_id' as the patchable entities, but leaves lines, mediaAssetId, workspaceId, and slideIndex unexplained. With 8 parameters and a nested object, this partial compensation is insufficient for an agent to understand what to pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: patch named slots or template_id on one slide. It names the specific verb, resource, and scope, and adds behavioral differentiators (re-rasters that slide only, never rewrites HTML) that distinguish it from broader carousel tools like carousels_patch_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for single-slide targeted updates ('on one slide', 're-rasters that slide only') but never explicitly says when to prefer this over alternatives or when not to use it. It does not mention carousels_patch_document or other sibling tools, so the agent must infer the boundary from the name and scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carousels_previewPreview CarouselARead-onlyIdempotentInspect
Render JPEG stills for a compiled carousel at the exact platform frame and return them as MCP images so you can inspect chips on the real slides.
| Name | Required | Description | Default |
|---|---|---|---|
| chrome | Yes | none | |
| projectId | Yes | UUID string. | |
| workspaceId | No | ||
| slideIndexes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| frame | Yes | |
| slides | Yes | |
| platform | Yes | |
| revision | Yes | |
| warnings | Yes | |
| project_id | Yes | |
| next_actions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: it returns MCP images (not just data), renders JPEG stills, and uses the exact platform frame. This goes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and purpose. Every phrase earns its place: 'JPEG stills', 'compiled carousel', 'exact platform frame', 'MCP images', 'inspect chips on the real slides'. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema (MCP images), so return values are covered. The description explains the purpose and output format. It could mention that the carousel must be compiled first (prerequisite), but the word 'compiled' implies this. For a read-only preview tool with rich annotations, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only projectId has a description, and it's just 'UUID string'). The description mentions 'compiled carousel' and 'platform frame' which hints at projectId and chrome, but doesn't explain slideIndexes or workspaceId. The chrome enum is self-explanatory, but slideIndexes semantics (which slides to render) are not described. Baseline 3 is appropriate since the description adds some context but doesn't fully compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Render'), a specific resource ('compiled carousel'), and the exact purpose ('inspect chips on the real slides'). It clearly distinguishes this from sibling tools like carousels_compile or carousels_get by focusing on previewing rendered stills as MCP images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for inspecting a compiled carousel before/after compilation, and the 'exact platform frame' phrasing signals it's for platform-specific visual verification. It doesn't explicitly name alternatives or exclusions, but the context is clear enough for an agent to select it over compile/get tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
characters_applyApply Reusable CharacterAIdempotentInspect
Create or update a reference-based character for repeatable faceless story generation.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| type | No | human | |
| species | No | ||
| storyFacts | No | ||
| characterId | No | ||
| workspaceId | No | Optional workspace UUID. Defaults to the user's default workspace. UUID string. | |
| defaultVoiceId | No | ||
| idempotencyKey | Yes | ||
| defaultVoiceStyle | No | ||
| referenceAssetIds | No | ||
| canonicalDescription | No | ||
| confirmLikenessConsent | No | For a human character, set true only after the user confirms consent to use the depicted person's likeness. | |
| primaryReferenceAssetId | No | ||
| confirmRightsToReferences | No | Set true only after the user confirms they own the reference media or have permission to use it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| character | Yes | |
| mutationReceipt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose idempotentHint=true and destructiveHint=false; the description adds the upsert-like 'create or update' behavior and the fact that the character is reference-based. It does not disclose important operational constraints such as consent or rights gates, but those are documented in the schema properties, so the additional behavioral gap is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence that front-loads the operation, the resource kind, and the use case; no filler or restatement of the title. It earns its place, even though it sacrifices detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the tool has 14 parameters and a very low schema description coverage. The description leaves critical invocation questions open—how updates are keyed (characterId vs idempotencyKey), what reference assets are required, and which consent flags must be set. This is not complete enough for a complex write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 21%, so the description should compensate for the many undocumented parameters. It does not: no mention of idempotencyKey, characterId as the update selector, referenceAssetIds/primaryReferenceAssetId, voice fields, or storyFacts. The only hint is 'reference-based,' which weakly maps to the reference asset parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create or update') and resource ('reference-based character'), and adds the purpose context 'for repeatable faceless story generation.' This is enough to distinguish it from sibling read tools like characters_get/characters_list and from story-generation tools, even though it does not name a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear context by describing the intended use case—reusable characters for faceless story generation—but does not articulate exclusions or point to alternatives such as characters_list or generation_faceless_create. The agent can infer when to use it but is not explicitly steered away from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
characters_getGet Reusable CharacterARead-onlyIdempotentInspect
Inspect one reusable character and its ordered reference-image set before planning a story.
| Name | Required | Description | Default |
|---|---|---|---|
| characterId | Yes | ||
| workspaceId | No | Optional workspace UUID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| character | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond the annotations. 'Inspect' aligns with readOnlyHint=true and destructiveHint=false. The mention of 'ordered reference-image set' hints at the output structure, but no further details about auth, rate limits, or idempotency are provided. Annotations already cover the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of 14 words that is front-loaded and efficient. However, it is slightly terse and could be more explicit about the core resource (e.g., 'Reusable character' is a domain term that may not be universally understood). Still, it earns its place without excess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool (read a single character), the presence of annotations and an output schema, the description is mostly complete. It clarifies the use case and the ordered reference-image set. However, it does not explicitly state that the characterId is required or that the operation is read-only, though these are inferred from context and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention any parameters. Schema coverage is 50% (workspaceId has a description in the schema, but characterId does not). The tool description could have explained what characterId represents, but it fails to compensate for the undocumented parameter, leaving a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Inspect' (read-only) and the resource 'one reusable character and its ordered reference-image set', with a clear scope ('before planning a story'). This distinguishes it from siblings like 'characters_list' (list all) and 'characters_apply' (apply a character).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context for when to use this tool ('before planning a story'), but does not explicitly mention when not to use it or alternatives such as 'characters_list' for browsing. The sibling list implies the differentiation, but the description could be more direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
characters_listList Reusable CharactersARead-onlyIdempotentInspect
List bounded reusable characters with identity, voice, facts, and image-reference metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| workspaceId | No | Optional workspace UUID. Defaults to the user's default workspace. UUID string. | |
| includeArchived | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| bounds | Yes | |
| characters | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows this is a safe, repeatable read operation. Description adds the term 'bounded' which hints at scope but doesn't explain what 'bounded' means (e.g., workspace-scoped, project-scoped) nor mention pagination behavior that offset/limit implies. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 14 words, zero waste. Each part ('List', 'bounded reusable characters', metadata details) serves a clear purpose. Front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low parameter description coverage, the output schema exists and parameter names are clear. The description lacks a note about workspace scoping or archived behavior, but for a simple list tool with rich annotations and output schema, it is largely complete. Could mention that workspaceId is optional and defaults to user's default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 4 parameters but description coverage is only 25%—it does not mention or elaborate on any parameter. However, the output schema exists and parameters like limit/offset/workspaceId/includeArchived are self-explanatory from names and schema defaults. Baseline 3 is appropriate since description adds no value beyond schema, but schema names provide adequate context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states specific verb ('List'), resource ('bounded reusable characters'), and included data ('identity, voice, facts, and image-reference metadata'). It clearly distinguishes this tool from sibling tools like characters_get or characters_apply by framing it as a list operation. However, it doesn't explicitly differentiate from other list tools in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage is listing characters, but no explicit guidance on when to use this vs alternatives like characters_get (for a single character) or characters_apply (for applying characters). No exclusion criteria or context about filtering, pagination, or prerequisites beyond schema-bound parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clip_batches_deleteDelete Clip BatchADestructiveIdempotentInspect
Preview or delete a terminal clip batch. Dry-run is the default; real deletion requires explicit confirmation, retention choice, workspace delete permission, and an idempotency key.
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | ||
| batchId | Yes | UUID string. | |
| retention | No | retain_projects_and_exports | |
| workspaceId | No | UUID string. | |
| confirmDelete | No | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations (which already indicate destructive and idempotent). It discloses that dry-run is the default, real deletion requires confirmation and a retention choice, workspace delete permission is needed, and an idempotency key is required. This fully informs the agent of conditions and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys purpose, default behavior, and prerequisites. Every phrase adds value without wordiness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavior and preconditions for this destructive, idempotent tool with 6 parameters. Given that the output schema exists (so return format is already specified), the description provides sufficient context for the agent to understand the tool's workflow, though it does not elaborate on what the dry-run preview returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 33% schema description coverage, the description must compensate for the lack of parameter details. It does add semantic value by referencing dry-run, confirmation, retention choice, workspace permission, and idempotency key. However, it does not explain the precise conditions for each parameter (e.g., dryRun must be false, confirmDelete must be true, or the meaning of retention enum values), leaving some ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb and resource: 'Preview or delete a terminal clip batch.' It distinguishes itself from sibling tools like delete_timeline_items by focusing on clip batches, and the dual preview/delete nature is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for previewing or deleting a terminal clip batch. It implies that real deletion requires explicit confirmation and permissions, giving the agent actionable guidance. It doesn't explicitly name alternatives, but the resource type is distinct enough from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_candidates_listReview Clip CandidatesARead-onlyIdempotentInspect
Read existing suggested moments with source ranges, hooks, transcript excerpts and thumbnails before producing videos. Results are bounded; this does not generate suggestions or render clips.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| offset | Yes | ||
| assetId | Yes | UUID string. | |
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds that results are bounded and that no generation/rendering occurs, but says nothing about pagination traversal, ordering, or what happens when no candidates exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded: the first says what is returned, the second bounds expectations and rules out adjacent operations. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description need not explain return shapes, and it correctly focuses on purpose, exclusions and boundedness. The only real gap is parameter-level guidance for the two UUID scoping arguments and paging controls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (assetId is documented merely as "UUID string"; workspaceId, limit and offset have none). The description contributes no parameter meaning at all — it never explains what assetId/workspaceId scope the candidate listing to, nor that limit/offset drive the paging implied by "results are bounded."
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Read") and resource ("existing suggested moments") and enumerates the payload an agent will see (source ranges, hooks, transcript excerpts, thumbnails). It is clear this is a read of pre-computed candidates rather than the clips themselves, though no sibling from the large clips_* family (e.g. clips_list, clips_inspect) is named to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"before producing videos" places the call in a workflow sequence, and "this does not generate suggestions or render clips" is an explicit when-not that excludes clips_create/clips_export style work. No named alternative tool is given for the case where the agent wants committed clips rather than candidates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_createCreate ClipsBInspect
Create a private BlitzReels clip batch from an existing asset or a user-provided video URL. Supports public social videos, Google Drive, and direct media URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Video URL to import before clipping. Supports social video links, Google Drive file links, and direct video file URLs. | |
| assetId | No | Existing BlitzReels video asset ID. Provide assetId or url, not both. UUID string. | |
| seriesId | No | Optional Series UUID. Omitted inherits the source Series; null creates standalone clips. | |
| clipCount | No | Maximum clips requested. Available source moments and account limits can yield fewer. | |
| selection | No | Existing asset only: reviewed candidate IDs to include in order or exclude. Resolve IDs with clips_candidates_list first. Null delegates selection. | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| clipPresetId | No | Clip style preset. Use high-retention for High Retention clips or demo-focus for product and screen demos. | default |
| captionThemeId | No | Saved theme UUID or built-in caption look. Omitted inherits Series defaults; null uses workspace captions. | |
| durationBounds | No | Requested clip duration bounds. Selection preserves complete moments; minimum cannot exceed maximum. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| autoTrimSilence | No | Trim silence around selected moments. | |
| createSharePage | No | Create a public showcase page where completed clips appear. | |
| selectedAudioLanguage | No | Audio language track for a social-video URL, using the language reported by media_import_inspect. Null uses source default. Existing assets and direct files preserve source audio. |
Output Schema
| Name | Required | Description |
|---|---|---|
| batch | Yes | |
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false, and openWorld=true. The description adds meaningful context by calling the batch 'private' and enumerating supported source types, which the annotations do not convey. However, it omits that this is likely an asynchronous batch-producing operation and says nothing about permissions or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with zero filler; the primary action and the source modes are front-loaded. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But for a 13-parameter creation tool that spawns a batch, the description is thin: it does not indicate the result is a batch needing status polling (clips_status_get), nor how capacity limits interact with clipCount. Adequate but with a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 13 parameters – including selection, durationBounds, and clipPresetId – are already documented in the schema. The description adds no parameter-level detail beyond the source-type enumeration, which the 'url' schema field already states. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a private BlitzReels clip batch') and names the two source modes (existing asset or user-provided video URL). This is clearly distinguishable from siblings like clips_candidates_list or clips_reselect, though it never names those siblings to route the agent explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance or exclusions. It does not tell the agent to resolve candidate IDs via clips_candidates_list first, nor does it mention the assetId-vs-url selection rule – that only appears in the schema parameter descriptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_exportExport One ClipBIdempotentInspect
Render one managed clip at an existing-account-supported quality. Returns persisted export state; inspect until the accepted delivery file is ready. Can spend existing account credits.
| Name | Required | Description | Default |
|---|---|---|---|
| clipId | Yes | ||
| format | No | mp4 | |
| resolution | No | 1080p | |
| workspaceId | No | UUID string. | |
| idempotencyKey | Yes | ||
| coverFrameSeconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), so the description's job is to add beyond that. It does add two genuinely useful facts: the operation is asynchronous and must be polled ('inspect until the accepted delivery file is ready'), and it can consume account credits. However it does not say what the returned export state looks like, how long renders take, or what failure/rejection looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler; the render action comes first and the polling instruction second. The middle clause ('persisted export state') is slightly jargon-y but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is legitimately omitted, and the credit-spend warning covers the main operational risk. But with 2 required params at 17% coverage and no alternative-tool routing, the definition is only minimally sufficient for an expensive, idempotency-keyed render call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17%, so the description carries the burden of explaining parameters — and it explains none of them. clipId, workspaceId, format, resolution, coverFrameSeconds, and the required idempotencyKey are all undocumented in prose, leaving an agent to guess at identifier sources and the meaning of 'existing-account-supported quality'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Render one managed clip') plus the quality constraint tied to the account. It is distinguishable from siblings like clips_create, but it never contrasts itself with exports_start or other export-adjacent tools, so sibling differentiation is only inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a workflow ('inspect until the accepted delivery file is ready') but never states when to use this tool instead of exports_start, exports_list, or clips_presets_list. There is no explicit when/when-not guidance or named alternative anywhere in the text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_getGet Clip BatchBRead-onlyIdempotentInspect
Get status, generated clips, render counts, and download links for a BlitzReels clip batch.
| Name | Required | Description | Default |
|---|---|---|---|
| batchId | Yes | Clip batch ID. UUID string. | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| batch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds that the response includes render counts and download links, which hints at a polling/retrieval use case, but does not state whether the batch must be complete or whether the data is eventually consistent. Modest added value above the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that lists the four returned artifacts with no filler or repetition. Nothing could be trimmed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not document return values, and it is adequate for a two-parameter read tool with full annotations. The gap is routing: with siblings clips_status_get, clips_inspect, and clips_list in the same namespace, the description never helps the agent choose this one over those.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the schema already explains batchId and the optional workspaceId default. The description adds no syntax, format, or scoping detail beyond what the schema provides, making the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Get') plus resource ('a BlitzReels clip batch') and enumerates what comes back: status, generated clips, render counts, and download links. That is more informative than a bare 'get batch'. It does not, however, distinguish this tool from the closely named sibling clips_status_get, leaving some ambiguity about which retrieval endpoint to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no preconditions (e.g. batch must be finished rendering), and no mention of alternatives such as clips_status_get or clips_list. The agent must infer usage purely from the name and the description's field list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_inspectInspect One ClipBRead-onlyIdempotentInspect
Read one managed clip's selected source range, project, workflow state and delivery information.
| Name | Required | Description | Default |
|---|---|---|---|
| clipId | Yes | ||
| workspaceId | No | UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description contributes only that the read covers a 'selected source range' and workflow/delivery info, adding modest context but no auth, pagination, or scoping behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no waste and the resource and scope front-loaded. It is efficient, though very sparse for a tool with two parameters and several near-identical siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be described, and the annotations cover the safe-read profile, making the bare description minimally workable. Still, it omits clipId semantics and any disambiguation from clips_get, leaving the agent to guess when this differs from the other clip read tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% and the required `clipId` has no description at all, nor does the description clarify its format or how it relates to `workspaceId`. The description provides no parameter meaning beyond what the (partially documented) schema shows, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (one managed clip) and enumerates the facets returned: selected source range, project, workflow state, delivery information. However, it never distinguishes this from the very similar sibling `clips_get` (nor `clips_status_get`), so an agent cannot tell the two apart from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no reference to alternatives such as clips_get, clips_list, or clips_candidates_list. Given how many clip-related siblings exist, this absence is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_listList ClipsBRead-onlyIdempotentInspect
List bounded managed clips from the selected source or project with their current workflow state.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| status | No | ||
| assetId | No | UUID string. | |
| projectId | No | UUID string. | |
| workspaceId | No | UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description. The description adds only that results carry 'current workflow state'; it says nothing about pagination limits, filter behavior, or result ordering, so it adds limited value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. Its only weakness is the compressed, undefined jargon ('bounded managed clips'), which costs a little clarity at the same word count.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations cover the read-only/idempotent profile. What remains missing is filter semantics for a six-parameter listing tool, particularly the undocumented status filter and pagination bounds, which an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, and the covered fields are trivially documented as 'UUID string.' The description does not explain limit, offset, or the status filter at all, nor does it clarify how assetId/projectId/workspaceId scope the listing; the vague 'selected source or project' is the only hint and it is not tied to a named parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (List) and resource (managed clips) plus scope (from the selected source or project) and a hint at returned data (current workflow state). It does not, however, distinguish itself from close siblings like clips_candidates_list or clips_presets_list, and the qualifier 'bounded managed' is unexplained jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus clips_get, clips_inspect, clips_candidates_list, or clips_status_get, and no preconditions or exclusions. The phrase 'from the selected source or project' implies a context dependency but never says how that selection is made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_manageManage ClipsCInspect
List or inspect clips, regenerate, repair visual QA, start export, promote an accepted delivery export, inspect caption words, or apply a verified caption look.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| clipId | No | ||
| format | No | mp4 | |
| lookId | No | ||
| offset | No | ||
| status | No | ||
| assetId | No | UUID string. | |
| exportId | No | UUID string. | |
| matchText | No | ||
| operation | Yes | ||
| projectId | No | UUID string. | |
| endSeconds | No | ||
| layoutMode | No | ||
| repairMode | No | auto | |
| resolution | No | 1080p | |
| workspaceId | No | UUID string. | |
| startSeconds | No | ||
| suggestionId | No | UUID string. | |
| selectionMode | No | ||
| idempotencyKey | No | ||
| timelineItemId | No | ||
| captionsEnabled | No | ||
| confirmVisualQa | No | ||
| contentTypeHint | No | ||
| captionWordLimit | No | ||
| coverFrameSeconds | No | ||
| clearWordOverrides | No | ||
| maxDurationSeconds | No | ||
| minDurationSeconds | No | ||
| allowBlockingQaBypass | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations indicate this is a mutating, non-idempotent operation, and the description reinforces this with verbs like 'regenerate' and 'promote,' but it does not disclose side effects, prerequisites, or reversibility. For example, 'promote an accepted delivery export' implies a state change but no details are given about what is affected or whether confirmation is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs many operations into a comma-separated list, making it somewhat run-on but still efficient in length. It is front-loaded with 'List or inspect clips' but the long list of loosely related actions reduces clarity and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 30 parameters, 7 enums, and an output schema, the description provides only a high-level operation list. It lacks critical contextual details such as parameter dependencies, operation-specific behaviors, or typical use cases, making it incomplete for an agent to reliably invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 30 parameters and only 17% schema description coverage, the description carries a heavy responsibility to explain parameters, but it names none of them. It does not map operations to required fields (e.g., which params are needed for 'repair' vs 'export') nor explain enums like selectionMode or layoutMode.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly enumerates the tool's operations with action verbs (list, inspect, regenerate, repair, start export, promote, inspect, apply), making its broad purpose evident. It distinguishes from siblings like clips_get or exports_start by covering a wider range of clip management actions, though the list-like structure prevents a single focused purpose from being stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use clips_manage versus sibling tools such as clips_get, clips_create, or exports_start. The description only lists operations without explaining which to choose for a given scenario or when a more specific sibling tool would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_presets_listList Clip PresetsARead-onlyIdempotentInspect
List available clip batch presets and their clipping/caption defaults.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| presets | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well-covered. The description adds the factual content (clipping/caption defaults) but does not disclose additional behavioral traits such as return format, pagination, or whether presets include custom user-defined ones.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately states the action and object. It contains no redundant phrases or filler, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and comprehensive annotations, the description is largely complete for a simple list tool. However, it could provide slightly more contextual value by hinting at how these presets are used (e.g., 'These presets can be applied when creating clip batches'), which would help new users understand the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is trivially 100% and the description has no parameter burden. A baseline score of 4 is appropriate since there is nothing to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('List') and resource ('available clip batch presets'), and specifies the included information ('clipping/caption defaults'). This distinguishes it from sibling tools like captions_themes_list and clips_get, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the tool's name and description—if you need to list presets, this is the tool—but there is no explicit guidance on when to use it versus alternatives, nor any mention of prerequisites or follow-up actions. The description could benefit from noting that these presets are for use with clip batch creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_recoverRecover Missing ClipsAIdempotentInspect
Recover a terminal batch's missing clip count through the persisted recovery workflow. Preserves accepted clips and returns the recovery batch ID. Can spend existing account credits; retry with the identical idempotency key.
| Name | Required | Description | Default |
|---|---|---|---|
| batchId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| targetClipCount | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, yet the description adds real value: it preserves accepted clips, returns the recovery batch ID, and -- critically -- may spend account credits and must be retried with the identical idempotency key. This cost and retry context goes beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action, followed by a side-effect/return note and then cost/retry semantics. Every sentence carries distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a credit-spending mutation tool with full annotation coverage and an output schema, the description supplies the important extra context (credit cost, idempotent retry, preservation of accepted clips). The remaining gap is the under-documented workspaceId and targetClipCount parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%; batchId's 'UUID string' is trivial and workspaceId, idempotencyKey, and targetClipCount are undocumented in the schema. The description recovers some meaning for idempotencyKey (retry semantics) and hints at targetClipCount ('missing clip count'), but leaves workspaceId and the count's 1-30 bound unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (recover) and resource ('a terminal batch's missing clip count') plus the mechanism ('persisted recovery workflow'), which is well beyond a tautology. It does not explicitly distinguish itself from close siblings like clips_repair or clips_reselect, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Guidance is implied: use it on a 'terminal batch' with missing clips, and it warns that credits may be spent and that retries must reuse the idempotency key. However, it never states when to prefer this over clips_repair, clips_reselect, or clips_create, and gives no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_repairRepair One Clip LayoutBDestructiveIdempotentInspect
Request a layout repair for one managed clip, such as preserving a screen demo or moving captions away from faces. Changes that clip's project; preserves the other clips.
| Name | Required | Description | Default |
|---|---|---|---|
| clipId | Yes | ||
| repairMode | No | auto | |
| workspaceId | No | UUID string. | |
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuine scoping context ('Changes that clip's project; preserves the other clips'), clarifying the blast radius of the destructive operation, but says nothing about reversibility, permissions, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences with no filler: purpose plus examples first, scope constraint second. Well-structured, though the second clause is the only scope information and could be slightly more precise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a destructive, 4-parameter mutation tool with only 25% schema coverage, the description leaves the repair modes and permission/authorization requirements unexplained, which is a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (25%). The examples ('screen demo', 'captions away from faces') indirectly illustrate two repairMode enum values, but the description never explains repairMode, clipId, workspaceId, or idempotencyKey — including the two required parameters — so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Request a layout repair for one managed clip') and gives concrete examples of the operation ('preserving a screen demo or moving captions away from faces'). This lets an agent understand the action, though it never explicitly contrasts with near-siblings like clips_manage, clips_recover, or batch_update_timeline_clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent can infer this is for fixing the layout of a single clip. There is no explicit when-to-use vs when-not guidance and no named alternative for related tasks such as batch-editing or manually updating timeline clips.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_reselectRevise Selected MomentADestructiveIdempotentInspect
Replace the source moment for one managed clip using a verified suggestion or explicit time range. Can spend existing account credits. Preserves the other clips; read current state before retrying.
| Name | Required | Description | Default |
|---|---|---|---|
| clipId | Yes | ||
| lookId | No | ||
| endSeconds | No | ||
| layoutMode | No | ||
| workspaceId | No | UUID string. | |
| startSeconds | No | ||
| suggestionId | No | UUID string. | |
| selectionMode | Yes | ||
| idempotencyKey | Yes | ||
| captionsEnabled | No | ||
| contentTypeHint | No | ||
| maxDurationSeconds | No | ||
| minDurationSeconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (destructiveHint=true, idempotentHint=true, readOnlyHint=false), so the bar is lower. The description adds valuable non-structured context: it can consume account credits, it preserves the other clips (blast radius), and it advises reading current state before retrying. Missing only details like whether the replaced source can be recovered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the operation and mechanism before cost and retry caveats. No filler, though the credit and retry notes are compressed to the point of mild ambiguity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but with 13 parameters at 15% schema coverage and a credit-spending mutation, the description leaves several parameters unexplained and gives no detail on the auto_best mode or the layout/content hints. Adequate for the main path, thin for full complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 15% across 13 parameters, so the description must carry meaning. It maps well to selectionMode (suggestion/time_range) and suggestion/time params, but leaves layoutMode, contentTypeHint, captionsEnabled, min/maxDurationSeconds, lookId, workspaceId, and idempotencyKey entirely undocumented. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Replace the source moment for one managed clip') plus the two mechanisms ('verified suggestion or explicit time range'). This clearly separates it from siblings like clips_create, clips_get, and clips_repair without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the usage path via 'using a verified suggestion or explicit time range' and gives a retry prerequisite ('read current state before retrying'), but never states when to prefer this over clips_create, clips_repair, or clips_recover, nor any when-not condition. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clips_status_getRefresh Clip ProgressARead-onlyIdempotentInspect
Read one existing batch's progress, ready clips and renewed signed links without opening or remounting a review widget. Safe for bounded polling and widget refresh; does not recreate or repair clips.
| Name | Required | Description | Default |
|---|---|---|---|
| batchId | Yes | UUID string. | |
| workspaceId | No | UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| batch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive behavior, but the description adds real value beyond them: it discloses that signed links are renewed, that a review widget is not opened/remounted, and that bounded polling is supported. This is useful operational context not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded with the highest-value information (what is returned, then safety constraints). No filler and no repetition of structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, yet the description still summarizes the return payload (progress, ready clips, renewed links). Combined with annotations covering the safety profile, nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two UUID parameters, so the schema already carries the parameter documentation. The description implies a single existing batch via 'one existing batch' but adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and a precise resource set: one batch's progress, ready clips, and renewed signed links. It also implicitly differentiates itself from the repair/recover siblings by declaring it does not recreate or repair clips, so an agent can distinguish it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context ('safe for bounded polling and widget refresh') and a negative constraint ('does not recreate or repair clips'). It stops short of explicitly naming the alternative siblings (e.g. clips_repair, clips_recover) that handle those cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
content_performance_listRead Published Content PerformanceARead-onlyIdempotentInspect
Read bounded existing provider-reported engagement in the selected workspace, sorted by views. Returns source title, caption, published date and views/likes/comments/shares/saves. Does not import new data, start monitoring or infer attributable leads, sales or revenue.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| range | Yes | 30d | |
| offset | Yes | ||
| search | Yes | ||
| platform | Yes | all | |
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds real context beyond them: the data is pre-existing and provider-reported, results are bounded, and it explicitly disclaims import/monitoring/attribution inference, which is valuable for an agent avoiding overreach.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: purpose/scope front-loaded, then return fields, then explicit exclusions. Every clause carries information and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return-field enumeration is a bonus rather than a necessity, and annotations cover the safety profile. The remaining gap is parameter semantics for a six-required-param tool with zero schema descriptions, which the description does not fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six required parameters (workspaceId, platform, range, limit, offset, search), so the description must compensate but does not. It mentions the workspace conceptually and ordering by views, but says nothing about the platform/range enums, paging via limit/offset, or the search filter, leaving most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) plus resource (existing provider-reported engagement), scope (in the selected workspace), and ordering (sorted by views), and even enumerates the returned fields. This clearly separates it from the editorial/generation siblings, none of which are read-only analytics tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negative constraints (does not import new data, start monitoring, or infer leads/sales/revenue) usefully bound what the tool is for, but there is no positive when-to-use statement and no named alternative sibling to route between. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_timeline_itemsDelete Timeline ItemsBDestructiveIdempotentInspect
Preview or delete up to 100 timeline items and optionally remove linked captions.
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | ||
| projectId | Yes | UUID string. | |
| confirmDelete | No | ||
| idempotencyKey | No | ||
| timelineItemIds | Yes | ||
| expectedRevision | No | Expected sequence revision, or null. | |
| removeAssociatedCaptions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds information about the preview mode and optional caption removal beyond the annotations, which already indicate destructive behavior. Still, it doesn't explain the dryRun/confirmDelete workflow or other behavioral nuances, so only partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no redundant filler. Efficiently conveys the core functionality and primary option.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having annotations and an output schema, the description omits essential workflow details for a destructive tool—such as how preview (dryRun) and confirmDelete interact, the purpose of idempotencyKey, and revision handling. This is a significant gap for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to timelineItemIds (up to 100) and removeAssociatedCaptions (linked captions), but schema coverage is only 29%, leaving many parameters (dryRun, confirmDelete, idempotencyKey, expectedRevision) unaddressed. The description does not compensate enough for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it previews or deletes timeline items and optionally removes linked captions. The verb 'delete' and resource 'timeline items' are specific, though it doesn't explicitly distinguish from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Preview or delete' implies a safe preview mode before deletion, providing some usage context. However, there's no explicit guidance on when to use this tool versus alternatives, nor on when to choose preview vs actual deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_asset_replaceeditor asset replaceADestructiveIdempotentInspect
Replace one shot's media asset while preserving the other timeline items. Revision checked; dryRun previews by default. Requires a current editor snapshot and an asset in the same workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | Yes | ||
| itemId | Yes | ||
| assetId | Yes | UUID string. | |
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, idempotent=true, readOnly=false. The description adds genuine context beyond them: optimistic concurrency ('Revision checked'), default preview behavior via dryRun, and the workspace-scoping constraint on the asset. It does not say what a revision mismatch does, but the added disclosure is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, all front-loaded: action and scope first, then revision/preview behavior, then preconditions. No filler and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool the description covers the critical agent-facing facts (concurrency check, preview default, prerequisites), and an output schema exists so return values need not be described. Minor gap in not stating the failure path on a revision mismatch, but it is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% across 7 required params. The description clarifies dryRun (previews by default), expectedRevision (revision checked), and workspaceId (same workspace as the asset), but leaves itemId, assetId, projectId, and idempotencyKey entirely to the schema. Partial compensation for a low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource ('Replace one shot's media asset') with an explicit scope constraint ('while preserving the other timeline items'), which separates it from siblings like editor_assets_insert or update_timeline_clip. An agent can tell what it mutates without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real preconditions for use: a current editor snapshot must exist and the asset must be in the same workspace, plus dryRun previews by default. It does not name a competing sibling tool to route against, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_assets_inserteditor assets insertBIdempotentInspect
Insert a workspace image, generated shot or audio asset at an explicit project time. Revision checked; dryRun previews by default.
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | Yes | ||
| assetId | Yes | UUID string. | |
| projectId | Yes | UUID string. | |
| layerIndex | Yes | ||
| workspaceId | Yes | ||
| startSeconds | Yes | ||
| idempotencyKey | Yes | ||
| durationSeconds | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a non-read-only, idempotent, non-destructive write. The description's added value is the phrase 'Revision checked', which signals optimistic-concurrency failure behavior beyond the schema, and the default-preview behavior. However, it does not explain what a revision conflict looks like or what the dry run returns, so the added context is thin against a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core action and the placement constraint front-loaded, followed immediately by the two behavioral caveats. No filler or restated title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but for a nine-parameter, fully-required mutation the description stops short of covering layer semantics, duration handling, or the idempotency key's role. It is adequate as a headline, not complete as a spec.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22% across nine required parameters. The description maps loosely to assetId, startSeconds, expectedRevision and dryRun, but layerIndex, durationSeconds (nullable), workspaceId, projectId and especially idempotencyKey receive no semantic explanation in either the description or the schema, leaving the agent to guess at stacking and deduplication behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Insert) and enumerates the asset kinds it accepts (workspace image, generated shot, audio asset) plus the placement target (an explicit project time). That is enough for an agent to distinguish it from generic clip/media siblings, though it does not explicitly contrast with timeline_media_add or timeline_audio_add, which overlap on the 'put media on the timeline' intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'dryRun previews by default' implies a preview-then-commit workflow, which is useful usage context, but the wording is terse and relies on the agent inferring that the first call should be a dry run. There is no explicit when-to-use or when-not-to-use guidance relative to the many adjacent timeline/clip tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_audio_seteditor audio setADestructiveIdempotentInspect
Adjust one item's volume and audio fades. Revision checked; dryRun previews by default. Preserves the rest of the project.
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | Yes | ||
| itemId | Yes | ||
| volume | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| fadeInSeconds | Yes | ||
| fadeOutSeconds | Yes | ||
| idempotencyKey | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds real value beyond that: optimistic concurrency ('Revision checked'), default preview behavior, and the guarantee that the rest of the project is preserved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with zero filler, and the core action is front-loaded ahead of the concurrency and preservation notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the annotations plus description jointly cover the mutation and concurrency behavior. It is nearly complete for its complexity, though the roles of several identifiers remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 11% across 9 required params, so the description must compensate. It clarifies volume, fade in/out, expectedRevision (revision checked) and dryRun, but leaves itemId, projectId, workspaceId and idempotencyKey entirely unexplained in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (adjust) and a precise scope (one item's volume and audio fades), which cleanly separates it from siblings like mute_clip_audio or timeline_audio_add. It does not name an explicit alternative, but the resource and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention that 'dryRun previews by default' implies a preview-then-apply workflow, giving implied usage. However, there is no explicit when-to-use vs when-not guidance and no routing to alternatives such as batch_update_timeline_clips for multi-item edits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_crop_seteditor crop setBDestructiveIdempotentInspect
Adjust the crop of one existing source view after a layout has been applied. Revision checked; dryRun previews by default. Preserves the other shots.
| Name | Required | Description | Default |
|---|---|---|---|
| crop | Yes | ||
| dryRun | Yes | ||
| itemId | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and idempotentHint=true; the description adds real context on top: revision is checked (optimistic concurrency), dryRun defaults to preview, and 'Preserves the other shots' clarifies the blast radius of the destructive flag. It doesn't cover auth or rate limits, but that's a minor gap given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight clauses with the core action front-loaded, then the concurrency/preview constraints, then the safety note. No filler, though the fragments are terse enough that a little more parameter detail could have been added without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. However, for a 7-required-param mutation with nested objects and near-zero schema coverage, the description leaves too much parameter semantics to inference to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 14% (essentially just projectId 'UUID string.'), and there are 7 required params including a nested crop object. The description only touches expectedRevision ('Revision checked') and dryRun; itemId, workspaceId, projectId, idempotencyKey, and the crop coordinate/format semantics are left undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Adjust the crop of one existing source view') and scopes it to a single view. It implicitly distinguishes itself from siblings like editor_text_set or editor_audio_set by naming the 'crop' concern, though it doesn't explicitly route against them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the precondition 'after a layout has been applied' and notes dryRun previews by default, which implies a preview-then-commit workflow. It does not state when to prefer a different sibling or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_edit_undoUndo Saved EditADestructiveIdempotentInspect
Restore one saved editor action at the expected current revision. Requires the action ID from edit history and an idempotency key. Existing project data is changed.
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds genuine context beyond that: it warns 'Existing project data is changed,' explains the revision precondition ('at the expected current revision' implies optimistic concurrency that will fail on a stale revision), and flags the idempotency-key requirement. It does not describe what is destroyed in detail, but the added context is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences that are front-loaded with the action, then the input requirements, then the side effect. No wasted words, though the phrasing could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a destructive mutation, the description covers the key behavioral facts an agent needs: revision precondition, idempotency key, and that project data changes. Only the two undocumented UUID params leave a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only projectId is annotated), so the description carries burden. It adds meaning for three of five params: actionId ('from edit history'), expectedRevision ('expected current revision'), and idempotencyKey ('an idempotency key'). projectId and workspaceId remain unexplained in both schema and description, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: restoring one saved editor action, scoped to the expected current revision. An agent can distinguish this from editor_history_list (which reads history) or timeline_edit_apply, though the description never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Requires the action ID from edit history' implicitly points the agent to the history listing tool as the source of the actionId, which is useful. However, it never states when to use undo versus re-applying an edit or reverting via other timeline tools, and gives no prerequisites beyond the inputs themselves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_history_listList Edit HistoryARead-onlyIdempotentInspect
Read up to 50 saved edit actions, their labels and undo state. Does not restore or change the project.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds real value beyond them by disclosing the 50-item cap and explicitly clarifying that no state is mutated or restored, which is the key behavioral question for a history tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the core read operation front-loaded and the safety clarification immediately after. Nothing wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. The description still leaves the workspaceId parameter unexplained and offers no pagination or ordering context, but it is otherwise adequate for a simple read-only list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only projectId carries a terse 'UUID string.' note; limit and workspaceId rely on type/bounds alone). The description partially compensates by explaining that limit reads 'up to 50 saved edit actions', giving the bound meaning, but it says nothing about workspaceId scoping or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read ... saved edit actions, their labels and undo state') and the phrase 'Does not restore or change the project' implicitly distinguishes it from write siblings like editor_edit_undo. It never names a sibling explicitly, so it falls just short of full differentiability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negative clause ('Does not restore or change the project') implies this is the inspection counterpart to undo/restore operations, giving usable context. However, there is no explicit when-to-use or when-not-to-use statement and no alternative tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_items_moveeditor items moveADestructiveIdempotentInspect
Move selected timeline items to explicit times and layers. Revision checked; dryRun previews by default.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| dryRun | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (destructiveHint=true, idempotentHint=true), so the bar is lower, yet the description adds real context: revision checking via expectedRevision and the fact that dryRun is on by default, so an agent knows calls are non-mutating unless it flips the flag. It still doesn't say what is destroyed or how layer conflicts are resolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, action first, zero filler. Every clause (target semantics, revision check, dryRun default) carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values aren't needed, and annotations cover the destructive/idempotent profile. However, for a 6-required-param destructive batch move at 17% schema coverage, the description omits the idempotencyKey requirement, the 1-500 item batch limit, and any note on layer conflict behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17% (just projectId as 'UUID string'), so the description is expected to compensate. It partially does: 'explicit times and layers' maps to startSeconds/layerIndex, 'revision checked' maps to expectedRevision, and dryRun is explained. But idempotencyKey and workspaceId remain completely undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (move) and resource (selected timeline items) plus the target semantics (explicit times and layers), which cleanly separates it from siblings like editor_items_remove or update_timeline_clip. It stops short of naming an alternative tool or contrasting scope, so sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no routing to alternatives such as timeline_edit_preview or batch_update_timeline_clips, which operate on overlapping concepts. The 'dryRun previews by default' phrase hints at a preview-then-commit flow but never states the conditions under which this tool should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_items_removeeditor items removeADestructiveIdempotentInspect
Remove selected timeline items and, if requested, their linked captions. Revision checked; dryRun previews by default. The saved action can be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | Yes | ||
| itemIds | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| expectedRevision | Yes | ||
| removeAssociatedCaptions | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true and idempotent=true, so the safety profile is partly covered. The description adds genuinely new context beyond structured fields: revision checking for concurrency, dryRun defaulting to preview, and that the saved action is undoable. It does not state what happens on a revision mismatch or the batch size cap implied by the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the mutation and its caption side effect front-loaded, followed by revision/dry-run behavior and the undo guarantee. No filler or redundancy; every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations cover safety. The description rounds this out with reversibility, revision control, and dry-run behavior. The only gaps are revision-mismatch handling and idempotency-key semantics for a 7-parameter destructive tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 14% (essentially just 'projectId: UUID string'), so the description carries most of the burden. It adds meaning for three params, removeAssociatedCaptions (conditional caption removal), dryRun (previews by default), and expectedRevision (revision checked), but leaves itemIds, workspaceId, and idempotencyKey semantics unmentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Remove selected timeline items') plus a scoped side effect ('their linked captions'), so the core operation is unambiguous. However, it never differentiates itself from the sibling 'delete_timeline_items', which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention that 'dryRun previews by default' implies a preview-then-commit workflow, which is lightweight usage guidance. But there is no explicit when-to-use, when-not-to-use, or alternative (e.g., 'delete_timeline_items' or 'editor_edit_undo') named, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_snapshot_getRead Editor SnapshotARead-onlyIdempotentInspect
Read the current revision, stable timeline IDs, captions, style and bounded media context before a precise revision. Signed media links are refreshed by reading again.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| offset | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: media context is 'bounded' and signed media links go stale and must be refreshed by reading again. That is useful disclosure not available in the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the returned-content list front-loaded and the refresh nuance last. No filler and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the description does summarize the payload. But for a tool with five required parameters and 20% schema coverage, the meaning of expectedRevision and the pagination contract are left entirely unexplained, leaving a noticeable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, and the sole documented field is a generic 'UUID string.' The description never explains expectedRevision (a likely concurrency precondition), offset/limit pagination, or workspaceId. 'Bounded media context' only faintly gestures at limit/offset and does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Read) and resource (editor snapshot) and enumerates what it returns: current revision, stable timeline IDs, captions, style and bounded media context. That is far more concrete than a tautology. It doesn't explicitly contrast with siblings like editor_history_list, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'...before a precise revision' implies the tool belongs at the start of an edit workflow, and the note that signed media links are refreshed by re-reading is a genuine usage hint. However, no alternative is named and no explicit when-not condition is given, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editor_text_seteditor text setBDestructiveIdempotentInspect
Create or revise one title or text overlay with explicit timing. Revision checked; dryRun previews by default. This edits project text, not spoken audio or captions.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | ||
| text | Yes | ||
| dryRun | Yes | ||
| itemId | Yes | ||
| textKind | Yes | ||
| projectId | Yes | UUID string. | |
| workspaceId | Yes | ||
| startSeconds | Yes | ||
| idempotencyKey | Yes | ||
| durationSeconds | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: revision checking (optimistic concurrency) and, critically, that dryRun defaults to true so the call previews rather than writes unless overridden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and no filler. Slightly under-specified rather than verbose, so brevity here is not purely a virtue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-required-parameter mutation with 9% schema coverage and only one described property, the description is too thin. It flags the critical dryRun default but omits expectedRevision mechanics, idempotency behavior and spec shape; the output schema removes the need to explain returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 9% across 11 required parameters, so the description carries nearly the whole burden. It only gestures at timing ('explicit timing') and text/title concepts, leaving spec, itemId, idempotencyKey, expectedRevision and textKind semantics undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create or revise one title or text overlay with explicit timing') and scopes it away from audio and captions. It does not, however, differentiate itself from the sibling add_text_overlay, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a useful when-to-use signal via 'dryRun previews by default' and a when-not via 'not spoken audio or captions.' But it names no alternative tool and gives no condition distinguishing it from add_text_overlay, leaving the primary routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exports_caption_track_getRead Export Caption TrackARead-onlyIdempotentInspect
Read a WebVTT caption track from the completed export's immutable canonical speech snapshot, preserving the actual export trims. Returns unavailable for older exports or unverified speech; never fabricates captions from titles or current edited timelines.
| Name | Required | Description | Default |
|---|---|---|---|
| exportId | Yes | UUID string. | |
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds real value beyond them: availability limits (older exports, unverified speech) and an explicit non-fabrication contract against titles and edited timelines.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are front-loaded with the core action and then the failure semantics. Dense but each clause carries information; the second sentence is slightly overloaded but earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers the key behavioral edges for a read-only two-parameter tool. The only real gap is parameter meaning, which is minor against the otherwise complete behavioral picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: exportId carries a bare 'UUID string.' and workspaceId has no description at all. The description adds nothing about what either parameter means or how workspace scoping interacts with the export, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Read) plus a precisely scoped resource: a WebVTT caption track from the completed export's immutable canonical speech snapshot. It distinguishes itself from transcript and caption siblings by anchoring to the export snapshot preserving actual trims, so an agent can tell it apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly states the when-not conditions: 'Returns unavailable for older exports or unverified speech' and refuses to work from titles or current edited timelines. It does not name a sibling alternative (e.g. media_transcript_get) for the unsupported cases, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exports_listList ExportsARead-onlyIdempotentInspect
List exports with render status and progress. Completed exports include a signed download URL. Pass exportId to return one export.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum exports to return when exportId is absent (1-50). | |
| offset | No | Export offset when exportId is absent. | |
| exportId | No | Return only this export, including its signed download URL when the render is complete. UUID string. | |
| projectId | No | Filter exports by project ID. UUID string. | |
| workspaceId | No | Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bounds | Yes | |
| exports | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds valuable behavioral context beyond annotations: render status/progress and the presence of signed download URLs on completed exports. This informs the agent about the data shape and what to expect, without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. It front-loads the primary action and then adds the key differentiator (single export via exportId). Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, rich annotations, complete parameter schemas, and presence of an output schema, the description is sufficiently complete. It covers what the tool does, the main data included (status/progress, signed URLs), and the single-record mode. No additional context is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter clearly explained. The description adds no new information about parameters beyond saying 'Pass exportId,' which the schema already documents. This meets the baseline of 3 when the schema carries the parameter-semantics burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List exports with render status and progress.' It also distinguishes two modes — listing all exports vs. returning one by exportId — which separates this from sibling tools like exports_start. The verb 'List' and resource 'exports' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it lists exports with status/progress and notes that completed exports include signed download URLs. It also instructs when to pass exportId to retrieve a single export. While it does not explicitly name alternatives or exclusions, the single-vs-list distinction serves as effective usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exports_startStart ExportAInspect
Render a BlitzReels video project and return export and job IDs for status checks.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export container format | mp4 |
| projectId | Yes | BlitzReels project ID. UUID string. | |
| resolution | No | Export resolution | 1080p |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| coverFrameSeconds | No | Optional cover thumbnail timestamp |
Output Schema
| Name | Required | Description |
|---|---|---|
| export | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate a non-read-only, non-idempotent operation. The description adds that the tool returns export and job IDs, implying asynchronous work, which is useful. It does not disclose that renders may be long-running or costly, nor what happens if the render fails or is retried without a fresh idempotency key.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states the action, resource, output, and purpose of the output IDs with no filler. Every word contributes to operational understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and complete parameter documentation, the description is nearly sufficient; it names the key outputs and their intended use. It would be stronger if it explicitly stated that rendering is asynchronous and potentially long-running, but 'job IDs for status checks' covers much of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the input schema. The description adds no additional parameter-level meaning beyond the general project-rendering context, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb ('Render') and names the resource ('BlitzReels video project') and the outcome ('export and job IDs for status checks'). This clearly differentiates it from siblings like exports_list, which would list existing exports rather than start a new render.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the right time to use it: when a project needs to be rendered and follow-up status checks are expected. However, it does not explicitly name alternatives, exclusion conditions, or when to prefer a sibling tool such as exports_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_faceless_createGenerate Faceless VideoAIdempotentInspect
Turn a script into a full faceless video project: scene plan, generated visuals, optional voiceover, captions, music, and sound. Spends AI credits and returns a job to poll with generation_jobs_get.
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | The narration or story to turn into a video. | |
| voiceId | No | Optional voice override from the BlitzReels voice catalog. The Story Kit narrator voice is used when omitted. | |
| seriesId | No | Optional Series UUID. Inherits its Story Kit and branding defaults for this new video. | |
| storyKitId | No | Reusable Story Kit UUID for characters, references, locations, style, and narrator voice. | |
| videoModel | No | Image-to-video model used to animate scenes. | seedance-2.0-ref2v |
| projectName | No | Name for the created BlitzReels project. | Faceless Video |
| visualStyle | No | Optional art direction override. A Story Kit style is used when omitted. | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| imageModelId | No | Model used to generate scene images. | fal-ai/nano-banana-pro |
| captionStyleId | No | Optional caption theme ID from captions_themes_list. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| plannerModelId | No | Model used to plan the video scenes. | google/gemini-3.8-flash |
| includeCaptions | No | Burn captions into the timeline. | |
| generateVoiceover | No | Narrate the script with a generated voice. | |
| generateSoundEffects | No | Add generated sound effects. | |
| targetDurationSeconds | No | Target runtime between 10 and 120 seconds. | |
| styleReferenceAssetIds | No | Optional stills that lock rendering medium, palette, lighting and texture. Not used as scene frames. | |
| generateBackgroundMusic | No | Add a generated background track. |
Output Schema
| Name | Required | Description |
|---|---|---|
| generation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, idempotent, non-destructive, open-world behavior, so the bar is lower. The description adds genuinely new facts: the operation consumes AI credits and is asynchronous, returning a job handle. It does not discuss auth requirements or failure/partial-completion behavior, but credit spend and async return are the high-value disclosures here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The pipeline scope is front-loaded and the operational note (credits + polling) is compact and actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is unnecessary, and the description correctly focuses on scope, cost, and async follow-up. For an 18-parameter, credit-spending orchestrator it covers the essentials, though it could note that most parameters default from Story Kit/branding context to help an agent decide what to omit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 18 parameters is already documented in the schema. The description's mention of voiceover, captions, music, and sound loosely maps to the boolean toggles but adds no syntax, defaults, or constraints beyond what the schema states. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Turn a script into a full faceless video project' — and enumerates the produced artifacts (scene plan, visuals, voiceover, captions, music, sound), which signals this is a pipeline orchestrator rather than a single-asset generator. It does not name the sibling generators (e.g., generation_video_create) it supersedes, so differentiation is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete downstream guidance: the call 'returns a job to poll with generation_jobs_get,' naming the exact follow-up tool. It also flags cost ('Spends AI credits'). It omits when NOT to use it versus the narrower generation_* siblings or workflow_runs_create, but the pipeline framing carries most of that context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_image_createGenerate ImageAIdempotentInspect
Queue an AI image generation into the BlitzReels media library. Spends AI credits and returns a job to poll with generation_jobs_get.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Image model. Call generation_options_list for costs. | fal-ai/nano-banana-2 |
| prompt | Yes | What the image should show (8-5000 characters). | |
| folderId | No | Optional media library folder ID. | |
| resolution | No | Native image resolution. Call generation_options_list for model support and resolution pricing. Unsupported settings are rejected. | |
| aspectRatio | No | Output aspect ratio. | 1:1 |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| enhancePrompt | No | Enhance using BlitzReels model grammar and actual input context. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| referenceAssetIds | No | Ordered image references. Model-specific limits are listed in generation_options_list; unsupported references fail. |
Output Schema
| Name | Required | Description |
|---|---|---|
| generation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already covering readOnly=false, idempotent=true, openWorld=true, and destructive=false, the description still adds real behavioral context: it is asynchronous (queued, not synchronous), it consumes credits, and the result must be polled via generation_jobs_get. It stops short of stating credit costs, failure modes, or idempotency semantics for the idempotencyKey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler, front-loading the action and destination before the async/credit implications. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape detail is unnecessary, and the description correctly focuses on the async job + polling workflow and the credit cost. It is nearly complete; the only omitted nuances (cost lookup, idempotencyKey retry semantics) are delegated to the schema and generation_options_list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (model, prompt, resolution, referenceAssetIds, idempotencyKey, etc.) is already documented in the schema, including pointers to generation_options_list for costs and model support. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Queue an AI image generation'), names the destination ('BlitzReels media library'), and is trivially distinguishable from sibling generators like generation_video_create, generation_music_create, and generation_voiceover_create by media type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context and names the follow-up tool explicitly ('returns a job to poll with generation_jobs_get'), which routes the agent through the async workflow. It does not state when to prefer this over other generation_* siblings or note prerequisites, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_jobs_cancelCancel Generation JobADestructiveIdempotentInspect
Request cancellation of the identified queued or running generation. Work already performed can consume credits; cancellation does not establish a refund.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | Job ID returned by any generation_*_create tool. | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| job | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered. The description adds genuinely useful context beyond them: 'Request cancellation' signals the action is asynchronous rather than immediate, and the credit/no-refund consequence is a material behavioral fact not captured anywhere in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, action front-loaded followed by its financial consequence. Every clause earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. The description covers the key agent-facing concern (irreversible credit spend). It stops short of explaining what happens after the request (immediate vs eventual termination) or how to confirm success, but this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with jobId clearly documented as coming from a generation_*_create tool and workspaceId explained as defaulting to the user's default workspace. The description adds no syntax, format, or edge-case detail beyond what the schema already provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Request cancellation of the identified queued or running generation') and scopes it to queued/running jobs. An agent can immediately tell this apart from the read-oriented sibling generation_jobs_get without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'queued or running' qualifier, which hints at the applicable job states, but the description never says when to prefer this over alternatives or whether status should be checked first (e.g., generation_jobs_get). No when-not guidance is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_jobs_getGet Generation JobARead-onlyIdempotentInspect
Check a queued generation. Completed jobs carry the media asset ID and a download URL.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | Job ID returned by any generation_*_create tool. | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| job | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only and idempotent. The description adds value by revealing that completed jobs include a media asset ID and download URL, and by implying incomplete jobs do not. This is useful behavioral context beyond the annotation flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary purpose. Every phrase earns its place; no fluff or repetition of schema/annotations. Very concise and effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and strong annotations, the description need not explain every return field. It explains the key distinction between completed and non-completed jobs, which complements the structured data. Slightly missing polling guidance or error-state info, but not critical for a simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, so the schema fully documents their meaning. The description does not add any additional insight into parameter semantics, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks a generation job and specifies what completed jobs return (media asset ID and download URL). It distinguishes from sibling generation creation/cancel tools, though the phrase 'queued generation' is slightly ambiguous about whether it handles all job states.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that it should be used after a generation_*_create call or contrast with generation_jobs_cancel. Usage context is only implied by the presence of sibling tools and the parameter schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_music_createGenerate MusicAIdempotentInspect
Queue a background music track into the BlitzReels media library. Spends AI credits and returns a job to poll with generation_jobs_get.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | Track mood. | neutral |
| prompt | No | Optional description of the track. | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| durationSeconds | No | Track length between 10 and 120 seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| generation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds two things annotations do not: it consumes AI credits and it is asynchronous, returning a job handle. That is genuine value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero padding, and the primary action is front-loaded ahead of the cost and follow-up details. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't document the return payload, and it correctly gestures at the async job anyway. It is essentially complete for a fire-and-poll generation tool; only explicit alternative-routing guidance is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (mood enum, prompt, durationSeconds 10-120, idempotencyKey retry semantics, workspaceId default), so the schema carries the full parameter burden. The description adds no syntax or format detail, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Queue a background music track into the BlitzReels media library.' That distinguishes it from generation_sound_create and generation_voiceover_create by naming the artifact as music, though it never explicitly contrasts with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful follow-up routing ('returns a job to poll with generation_jobs_get') and warns that credits are spent, but offers no when-to-use guidance versus generation_sound_create, generation_video_create, or media_import_url. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_options_listList Generation OptionsARead-onlyIdempotentInspect
List the models, defaults, limits, and credit costs available for one generation kind before queueing it. Video duration is an enum per model (durations_seconds), not a min-max range.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Generation kind to describe. |
Output Schema
| Name | Required | Description |
|---|---|---|
| options | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuine value beyond them by disclosing the shape of returned data: video duration is an enum per model (durations_seconds), not a min-max range — a trait an agent would otherwise guess wrong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded: the first states the purpose, the second immediately delivers the non-obvious durations_seconds caveat. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described in full, yet the description includes the one detail most likely to cause misuse (duration enum vs range). For a single-enum-param read tool, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (kind), and schema description coverage is 100% with a full enum of allowed kinds. The description adds no meaning to the 'kind' parameter itself, so the baseline 3 applies; the durations_seconds note pertains to output, not this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (models, defaults, limits, credit costs) scoped to 'one generation kind before queueing it'. An agent can distinguish it from the generation_*_create siblings, which consume the options this tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before queueing it' clearly signals this is a pre-flight/discovery call that precedes a generation create. It does not explicitly name the alternative tools (generation_image_create, generation_video_create, etc.), but the sequencing intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_plan_briefGet Generation Plan BriefARead-onlyIdempotentInspect
Read a generation brief from rawPrompt. Source-video edits return execution for generation_video_create with required assets and transformation controls. New scenes return an authoring grammar and planJsonSchema for generation_plan_validate. This read does not generate media or spend credits.
| Name | Required | Description | Default |
|---|---|---|---|
| genre | No | Genre pack id (e.g. pixar-culture-skit). The brief lists available ids in availableGenres; the pack's beats and visual contract override the generic grammar. | |
| rawPrompt | No | Original request. Clone or character-replacement requests select a video transformation brief instead of a new-story plan. | |
| aspectRatio | No | 9:16 | |
| visualStyle | No | Visual style preset id; its locked style contract is included in the brief. | |
| videoModelId | No | Target video model id (see generation_options_list, kind: video). Defaults to the strongest single-take model. | |
| targetDurationSeconds | No | Desired final video duration in seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| brief | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark the tool read-only, idempotent, and non-destructive, so the description's main added value is the credit note and the branch-specific output behavior. This is useful context beyond the structured hints, though it doesn't cover topics like rate limits or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff. The primary action is front-loaded, followed by the two branch behaviors and the safety/cost note. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and strong annotations present, the description covers the essential triggers, branch outputs, and downstream tool targets. An agent has enough to call the tool correctly without ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (83%), so the baseline is 3. The description adds the conceptual distinction between source-video edits and new scenes, but the input schema already explains the rawPrompt behavior and other parameters. The description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb-resource pair: 'Read a generation brief from rawPrompt.' It then distinguishes two output branches — source-video edits vs new scenes — and names the downstream tools each brief feeds. This clearly separates it from siblings like generation_video_create and generation_plan_validate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The branching logic tells an agent what kind of brief to expect and which follow-up tool to invoke, and the statement 'does not generate media or spend credits' distinguishes it from generation tools. It stops short of an explicit 'use this when...' rule, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_plan_validateValidate Generation PlanARead-onlyIdempotentInspect
Validate a self-authored generation plan against the schema and the target model's real capabilities before execution. Returns directive errors to fix and revalidate; only a valid plan is executable.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | The generation plan object authored from generation_plan_brief's planJsonSchema. |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| errors | Yes | Empty when valid. Each entry states exactly what to change. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds context about return behavior ('Returns directive errors to fix and revalidate') and establishes this tool as a gate for execution. This goes beyond annotations without conflicting with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant wording. The purpose is front-loaded, and the second sentence efficiently conveys return behavior and the validity constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single well-documented parameter, output schema, and clear annotations, the description sufficiently covers purpose, usage context, and return behavior. It is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a full description for the 'plan' parameter, referencing generation_plan_brief's planJsonSchema. The tool description adds no additional parameter-specific semantics, but with 100% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: validating a generation plan against the schema and model capabilities. It uses a specific verb ('validate') and resource ('generation plan'), and the phrase 'before execution' distinguishes it from planning or execution tools like generation_plan_brief.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: after authoring a plan and before execution. It does not explicitly name alternatives or exclusions, but the context is clear enough from 'self-authored' and 'only a valid plan is executable.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_sound_createGenerate Sound EffectAIdempotentInspect
Queue a sound effect into the BlitzReels media library. Spends AI credits and returns a job to poll with generation_jobs_get.
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | Produce a seamlessly loopable effect. | |
| prompt | Yes | The sound to create (3-500 characters). | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| durationSeconds | No | Effect length between 0.5 and 30 seconds. | |
| promptInfluence | No | How literally to follow the prompt, between 0 and 1. Higher is more literal. |
Output Schema
| Name | Required | Description |
|---|---|---|
| generation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly=false, destructive=false, idempotent=true), so the description only needs to add beyond them. It does: it discloses cost ('Spends AI credits') and the asynchronous job model requiring polling, neither of which is encoded in annotations or schema. Return format is not described, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and immediately followed by the two facts an agent most needs (credit cost, polling requirement). No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter generation tool with annotations and an output schema, the description supplies the two non-obvious facts: credit spend and the async polling workflow. It is essentially complete, though it could note whether the queued job must be polled before the asset is usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (loop, durationSeconds, promptInfluence, idempotencyKey, workspaceId) is already documented with constraints and defaults. The description adds no parameter-level meaning, which is acceptable but warrants only the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Queue a sound effect into the BlitzReels media library') and adds the async outcome ('returns a job'), which clearly separates it from a fire-and-forget mutation. It does not explicitly differentiate from the close siblings generation_music_create or generation_voiceover_create, which is the only gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names the follow-up tool explicitly ('poll with generation_jobs_get'), which is useful routing context. However, it gives no guidance on when to choose a sound effect over the sibling music/voiceover generators, nor any preconditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_video_createGenerate VideoAIdempotentInspect
Queue video generation, image animation, source-video editing or character replacement into the media library. Editing accepts referenceVideoAssetIds and transformation controls, including original-audio preservation. Spends AI credits and returns a job readable with generation_jobs_get.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Optional seed for reproducible output. | |
| model | No | Video model. generation_options_list publishes generation type, source limits, character controls, resolution and pricing for each model. | wan-2.1 |
| prompt | Yes | What should happen in the shot (3-5000 characters). | |
| folderId | No | Optional media library folder ID. | |
| provider | No | Explicit provider must support the model and input mode. auto uses a configured compatible provider. | auto |
| resolution | No | Output resolution. Call generation_options_list for model-specific supported values and defaults. Unsupported settings are rejected. | |
| aspectRatio | No | Output aspect ratio. | 9:16 |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| enhancePrompt | No | Enhance using BlitzReels model grammar and actual input context. | |
| generateAudio | No | null uses model audio behavior. Explicit true/false must be supported by the selected model. | |
| sourceAssetId | No | First-frame still. Required only when that model's parameters.source_asset_id.required is true. Optional on reference-capable I2V including Seedance 2.5. Text-to-video rejects it. Cannot combine with reference arrays and end_frame_asset_id. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| negativePrompt | No | What to avoid in the shot. | |
| transformation | No | ||
| durationSeconds | No | Video transformations inherit the processed source duration and aspect ratio; duration_seconds is not a trim request. Choose a value from the selected model's durations_seconds. duration_seconds_min and duration_seconds_max are the bounds of that list, not a continuous range. | |
| endFrameAssetId | No | Last-frame still. Interpolates from the source first frame to this image across the full duration. Requires a source first frame; cannot combine with reference arrays. | |
| referenceAssetIds | No | Ordered reference images: Seedance 2.5 up to 30; Seedance 2.0 ref2v up to 9; other reference models up to 4. Source counts toward the limit. | |
| referenceAudioAssetIds | No | Reference audio: Seedance 2.5 up to 10; Seedance 2.0 ref2v and fast up to 3. Other models reject them. | |
| referenceVideoAssetIds | No | Video transformations require one processed source video. Other reference modes have model-specific counts published by generation_options_list. |
Output Schema
| Name | Required | Description |
|---|---|---|
| generation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it is asynchronous ('returns a job readable with generation_jobs_get') and it consumes AI credits, both of which the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no filler, and the core action leads. Key operational facts (cost, job handle) are placed last where they belong in a supporting role. Slightly dense but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 19-parameter, output-schema-backed tool, the description covers the modes, the async job handle, and the credit cost. Return values need not be explained given the output schema exists, and model/resolution specifics are deferred appropriately to generation_options_list, leaving only minor gaps such as provider selection context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 95%, so the schema already documents nearly every parameter including referenceVideoAssetIds and the transformation controls. The description only gestures at these ('accepts referenceVideoAssetIds and transformation controls, including original-audio preservation'), adding marginal meaning over the very detailed schema, which matches the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Queue') plus the resource ('video generation') and enumerates the four modes it handles (generation, image animation, source-video editing, character replacement), with the destination ('media library'). It clearly separates itself from image/music/voiceover generation siblings through the 'video' framing, though it never explicitly routes against them by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the enumerated modes rather than stated as when-to-use rules. It does point to generation_jobs_get for reading the queued job, which is a useful next step, but there is no explicit guidance on choosing this tool over generation_image_create or generation_faceless_create, nor on when each mode applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generation_voiceover_createGenerate VoiceoverAIdempotentInspect
Queue a text-to-speech voiceover into the BlitzReels media library. Spends AI credits and returns a job to poll with generation_jobs_get.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Script to read aloud (3-8000 characters). | |
| speed | No | Speaking rate between 0.5 and 1.6. | |
| voiceId | No | Voice ID. Call generation_options_list with kind voiceover for the catalog. | pNInz6obpgDQGcFmaJgB |
| voiceStyle | No | Delivery emotion. | neutral |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| generation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true), the description adds two meaningful traits: it consumes AI credits and it produces an asynchronous job rather than a finished asset. The credit-spend warning is valuable operational context an agent cannot infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no waste. The core action ('queue a text-to-speech voiceover') is front-loaded, and the secondary facts (cost, async polling) follow in a logical order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description still covers the async nature and cost. The only minor gap is that it does not clarify workspace defaults or idempotency behavior, though the schema covers both.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (text, speed, voiceId, voiceStyle, workspaceId, idempotencyKey) is already documented, including the catalog lookup hint for voiceId. The description adds no syntax or format detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Queue a text-to-speech voiceover') and names the destination ('BlitzReels media library'), which cleanly distinguishes it from siblings like generation_music_create and generation_sound_create. An agent can identify the operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives follow-up guidance by directing the agent to poll with generation_jobs_get, which is genuinely useful. However, it never states when to choose this tool over the other generation_*_create siblings, so usage selection is only implied by the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_assets_getGet Media AssetARead-onlyIdempotentInspect
Get metadata and processing state for one media-library asset without returning transcript segments.
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | Yes | Media asset UUID. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| asset | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint, idempotentHint, and destructiveHint=false, the description adds meaningful behavioral context by specifying the type of data returned (metadata, processing state) and explicitly stating what is not returned (transcript segments). This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the verb and object, includes a necessary exclusion clause, and contains zero filler. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-id tool with one parameter, a rich output schema, and strong annotations, the description is complete. It explains what the tool returns (metadata and processing state), what it excludes (transcript segments), and the tool is simple enough that no further context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single parameter, describing it as 'Media asset UUID. UUID string.' The description reinforces the parameter's role by saying 'one media-library asset', but it does not add additional semantic detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Get metadata and processing state for one media-library asset'. It clearly identifies the verb (get), resource (media-library asset), and scope (one). The exclusion clause 'without returning transcript segments' also distinguishes it from sibling tools like media_transcript_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need metadata and processing state for a single asset. The phrase 'without returning transcript segments' provides guidance that this is not the tool for transcript retrieval, effectively directing users to a sibling tool. It does not explicitly name alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_assets_previewPreview Media AssetARead-onlyIdempotentInspect
Return one bounded JPEG as MCP image content for visual inspection. Images use the stored visual; videos use the existing thumbnail.
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | Yes | Media asset UUID. UUID string. | |
| maxDimension | No | Maximum preview width or height in pixels (256-1536). |
Output Schema
| Name | Required | Description |
|---|---|---|
| asset | Yes | |
| preview | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and idempotentHint, so the safety profile is known. The description adds valuable context beyond annotations by specifying the output as a bounded JPEG and the conditional behavior for images vs videos (stored visual vs thumbnail). This clarifies what the agent can expect from the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, each adding value. The first sentence states the action and result; the second clarifies behavior for different asset types. No wasted words, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has full schema coverage, an output schema, and safety annotations. The description covers the key behavioral distinction (image vs video) and clearly communicates the return format. Nothing critical is missing for the agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description mentions 'bounded' which relates to maxDimension, but doesn't add new parameter-specific meaning beyond what the schema already provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Return one bounded JPEG as MCP image content for visual inspection.' It specifies the verb (return), the resource (media asset), the output format (JPEG), and the purpose (visual inspection). It also distinguishes itself from siblings by noting the difference between image and video behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the phrase 'for visual inspection' and the tool name, but there is no explicit comparison to alternatives or guidance on when not to use it. No exclusions or alternative tool references are provided, so it falls short of a clear contextual distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_assets_updateUpdate Media AssetAIdempotentInspect
Rename one media asset, edit its description, move it to a folder, or change B-roll eligibility. Provide at least one of name, description, folderId, or allowUsingAsBroll.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New media asset name. | |
| assetId | Yes | Media asset UUID. UUID string. | |
| folderId | No | Target folder UUID, or null to move the asset to root. | |
| description | No | New description, or null to clear it. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| allowUsingAsBroll | No | Whether the asset may be selected as B-roll. |
Output Schema
| Name | Required | Description |
|---|---|---|
| txid | Yes | |
| asset | Yes | |
| updatedFields | Yes | |
| mutationReceipt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description accurately describes the write behavior but adds no extra context beyond what the annotations imply (e.g., side effects, reversibility, idempotency details). No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: one sentence lists the actions, followed by the required at-least-one condition. It is front-loaded, contains no fluff, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with an output schema and clear annotations, the description is nearly complete. It covers the tool's purpose and the key usage constraint. It implicitly conveys partial update semantics but could be slightly more explicit about that. Overall, sufficient for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. However, the description adds the critical constraint that at least one of name, description, folderId, or allowUsingAsBroll must be provided, which is not enforced in the schema. This adds meaningful guidance beyond the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a single media asset with specific actions: rename, edit description, move to folder, or change B-roll eligibility. It is unambiguous and differentiates from read-only sibling tools like media_assets_get or media_assets_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (updating a media asset) but does not explicitly mention alternatives or when not to use it. The instruction to provide at least one of the updatable fields is a constraint, not a comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_folders_createCreate Media FolderAIdempotentInspect
Create one media-library folder in a workspace and return a retry-safe mutation receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Folder name. | |
| iconType | No | Folder icon type. | folder |
| description | No | Optional folder description. | |
| workspaceId | No | Workspace UUID, or null for the default workspace. UUID string. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| parentFolderId | No | Parent folder UUID, or null for the root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| folder | Yes | |
| mutationReceipt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'retry-safe mutation receipt' which aligns with the idempotentHint annotation, providing a bit more nuance. However, it does not disclose other behavioral aspects beyond what annotations already indicate, and the annotations already cover the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the primary action and result. It is concise without any redundant words, earning the highest score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complete schema coverage and existence of an output schema, the description is sufficient. It states the core action and the return of a receipt, providing all necessary context for an AI agent to understand the tool's purpose and outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All six parameters are fully described in the schema with 100% coverage. The description itself adds no additional parameter semantics or relationships, so the schema does the heavy lifting. A baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Create') and resource ('media-library folder'), and mentions the return of a mutation receipt. This distinguishes it from siblings like media_folders_list, and the scope ('one folder') is explicitly defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage context: when you need to create a media folder. However, it does not explicitly name alternatives (e.g., media_folders_list for listing) or provide when-not-to-use guidance, so there is clear context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_folders_listList Media FoldersARead-onlyIdempotentInspect
List one bounded level of media-library folders and direct asset counts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum folders to return (1-50). | |
| offset | No | Folder offset. | |
| workspaceId | No | Workspace UUID, or null for the default workspace. UUID string. | |
| parentFolderId | No | Parent folder UUID, or null for root folders. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bounds | Yes | |
| folders | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive behavior, and the description adds useful behavioral context: it returns only one level of folders and direct (non-recursive) asset counts. This clarifies scope and return semantics beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that fully conveys the tool's purpose and key scoping behavior. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers the essential scope and return value, and the output schema and annotations fill remaining gaps (pagination, safety). No critical missing details for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning to the parameters; 'bounded level' implicitly relates to parentFolderId but does not explain parameter syntax or behavior beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') with a clear resource ('media-library folders') and scopes the action ('one bounded level', 'direct asset counts'). This distinguishes it from sibling tools like media_folders_create (create) and media_list (likely asset-level listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by noting 'one bounded level' (i.e., not recursive), but it does not explicitly state when to prefer this over alternatives or provide exclusions. The parentFolderId parameter further hints at hierarchy traversal, but no explicit guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_import_inspectInspect Import URLARead-onlyIdempotentInspect
Inspect a user-provided public social-video or Google Drive URL and return available import metadata without creating media.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public video URL. Supports social video links and Google Drive file links. |
Output Schema
| Name | Required | Description |
|---|---|---|
| preview | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, and the description reinforces this with 'without creating media.' With the safety profile already structured, the description adds only the metadata-return context and no permission or failure-mode detail, so a mid-range score is warranted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action, and every clause earns its place by naming the scope and the read-only guarantee. No filler or redundant framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and it summarizes them adequately as 'import metadata.' For a one-parameter, read-only idempotent tool the coverage is essentially complete, with only the sibling routing left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'url' parameter is fully documented in the schema, including the social-video and Google Drive support. The description adds no format or constraint detail beyond what the schema already provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Inspect') plus resource ('public social-video or Google Drive URL') and an explicit non-action ('without creating media') that separates it from the import siblings. An agent can tell this is a pre-flight metadata check rather than the import itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Without creating media' clearly signals the pre-flight use case, positioning it before media_import_url/media_import_scan_page. It stops short of naming those alternatives or stating an explicit condition, so the routing is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_import_scan_pageScan Page For VideoARead-onlyIdempotentInspect
Scan a user-controlled public page and return an importable video URL found on it without creating media.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Video page URL or direct media URL to inspect for an importable video. | |
| confirmAuthorizedToScan | No | Set true only after the user confirms they control the page or are authorized to scan it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| resolved | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose read-only, idempotent, and non-destructive behavior. The description adds meaningful context by explicitly stating no media is created and that the target must be a user-controlled public page, reinforcing the safety and authorization expectations beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, directly relevant sentence with no filler. The primary action, target, outcome, and non-destructive nature are all front-loaded and economically expressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with strong annotations and a fully documented schema, covers what the tool does and its key constraints. The presence of an output schema means return value details are not required here. A small gap is the lack of explicit guidance on when to use this tool versus its import-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are already well described in the input schema, so the description carries little additional parameter burden. It does not add extra semantics beyond what the schema provides, which matches the baseline expectation given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Scan a user-controlled public page') and outcome ('return an importable video URL found on it'), with a clear non-creation qualifier. It does not explicitly distinguish itself from sibling tools like media_import_inspect or media_import_url, but its page-scanning purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that the page must be user-controlled and public, which implies an authorization condition, and 'without creating media' signals a non-destructive inspection use case. However, it does not explicitly state when to prefer this tool over the related media_import_inspect or media_import_url tools, nor does it describe when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_import_urlImport Media From URLBInspect
Import a video, audio, or image from a user-provided direct URL into the private BlitzReels media library.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the media file to download and upload | |
| name | No | Optional name for the file | |
| projectId | No | Optional project ID to associate the upload with. UUID string. | |
| workspaceId | No | Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string. | |
| contentHashSha256 | No | Optional SHA-256 hex hash of file bytes for dedupe optimization. 64-character hex string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| media | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=false, framing this as a non-destructive, closed-world write. The description adds that the source must be a direct URL and that the result lands in a private library, but says nothing about auth requirements, download failures, size limits, or whether re-importing duplicates content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action, the accepted media types, and the destination. Zero filler and no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations carry the safety profile. The only real gap is the absence of usage guidance against sibling upload/import tools, which is minor for a simple one-required-param operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all five parameters (url, name, projectId, workspaceId, contentHashSha256) are already documented in the schema. The description only reinforces that the URL is a direct link, adding no syntax or fallback detail beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Import), the media types accepted, the source constraint (user-provided direct URL), and the destination (private BlitzReels media library). This is clear enough to distinguish from sibling upload tools that take local files, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no routing to alternatives such as media_upload_file, media_upload_start, or media_import_inspect. The agent must infer from the name alone that this is the URL-based path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_listList MediaARead-onlyIdempotentInspect
List media files in user's library (videos, audio, images)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of assets to return (1-50) | |
| offset | No | Media asset offset. | |
| assetType | No | Filter by asset type | all |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| assets | Yes | |
| bounds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds minimal extra behavioral context beyond scope ('user's library'), but does not disclose pagination, ordering, or default workspace behavior beyond what schema already provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the tool's purpose without redundancy or filler. It is front-loaded and every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple filtered-list tool, the description is sufficient when combined with complete schema documentation, strong annotations, and an output schema. There are no complex behaviors or hidden side effects to explain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter documented (limit, offset, assetType, workspaceId). The description adds no new parameter nuance beyond mentioning media types, which duplicates the assetType enum. Baseline 3 is appropriate because the schema carries the semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('media files in user's library'), and clarifies scope with media types ('videos, audio, images'). This clearly distinguishes it from siblings like media_assets_get (singular asset retrieval) and media_folders_list (folders).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly establishes usage context: use this tool to list media assets in the user's library. It doesn't explicitly name alternatives or exclusions, but the purpose is clear enough and no conflicting sibling offers the same list functionality with these filters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_transcript_getGet Media TranscriptARead-onlyIdempotentInspect
Get transcript summary metadata or a bounded window of transcription segments for a video asset.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Summary returns metadata only. Text returns joined text for a bounded segment window. Full returns the bounded segment objects without duplicating their text. | summary |
| limit | No | Maximum transcript segments to return (1-200). | |
| offset | No | Transcript segment offset. | |
| assetId | Yes | The media asset ID to get transcript for. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| transcript | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safety profile is clear. The description adds 'bounded window' to indicate pagination/limiting behavior, which is useful context beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no wasted words. It front-loads the action and clearly states the two output forms, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a 4-parameter schema fully described, an output schema present, and annotations covering safety, the description provides adequate context. It might slightly under-explain the three modes, but the schema's mode enum descriptions fill that gap sufficiently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, including mode, limit, offset, and assetId. The description's reference to 'summary metadata or bounded window' loosely maps to mode but adds no concrete parameter details beyond what the schema already specifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets transcript summary metadata or a bounded window of transcription segments for a video asset, using a specific verb ('Get') and identifying the resource and scope. This distinguishes it from sibling media tools, none of which handle transcripts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context implies this is the tool for retrieving transcript data from a video asset, with no sibling transcript tools offering an alternative. It does not explicitly state when not to use it, but the clarity of purpose and lack of transcript siblings provide sufficient usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_upload_fileUpload FileAInspect
Import a video, audio, or image file from ChatGPT into the BlitzReels media library. Use this for a file the user attached or picked, and for an image ChatGPT generated in this conversation that the user wants to keep, animate, or edit in BlitzReels.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | A file from ChatGPT: attached by the user, picked from their file library, or produced earlier in this conversation. ChatGPT provides this value. | |
| name | No | Optional name to use in BlitzReels. | |
| projectId | No | Optional BlitzReels project ID to associate with the uploaded file. UUID string. | |
| workspaceId | No | Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| media | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no safety hints (readOnly=false, destructive=false, idempotent=false), so the description carries the burden. It only says 'import' and does not disclose behavioral details like whether the file is copied or moved, whether any processing occurs, or whether permissions are needed. The source and types are stated, but these align more with purpose than with behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two clearly written sentences. The first sentence front-loads the action and target, and the second provides the exact use cases. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and a moderately complex nested input, but the description leaves gaps: it doesn't mention how this differs from media_upload_start/finish, whether import is one-step, or any preconditions. It covers the main use scenarios but could be more complete regarding alternatives and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has descriptions in the schema. The description adds context that the file must come from ChatGPT, which clarifies the 'file' parameter's origin, but it doesn't add much for name, projectId, or workspaceId beyond what the schema provides. This matches the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Import a video, audio, or image file from ChatGPT into the BlitzReels media library.' This is a specific verb ('import') with a clear resource and target, and it distinguishes from sibling tools like media_import_url and media_upload_start by emphasizing the source is ChatGPT-attached/generated files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool: for files the user attached or picked, and for ChatGPT-generated images the user wants to keep, animate, or edit. This provides clear context, though it doesn't explicitly name alternatives or exclusions (e.g., when to use media_import_url instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_upload_finishFinish Media UploadAInspect
Complete the upload process after uploading to a presigned URL
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | Yes | Name of the uploaded file | |
| projectId | No | Optional project ID to associate the upload with. UUID string. | |
| storageKey | Yes | Storage key for the uploaded file | |
| contentType | Yes | MIME type of the file | |
| workspaceId | No | Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string. | |
| fileSizeBytes | Yes | Size of the uploaded file in bytes | |
| contentHashSha256 | No | Optional SHA-256 hex hash of file bytes for dedupe optimization. 64-character hex string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| media | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as non-read-only and non-idempotent; the description adds the prerequisite that a PUT to a presigned URL must happen first. It doesn't disclose what side effects completing the upload has (e.g., creating a media asset, validating the file), so transparency is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One clear, front-loaded sentence with no filler. It conveys the action and the required prerequisite in the minimum possible space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a finalization step, the description gives the key context: it follows a presigned-URL upload. Combined with full schema coverage and an output schema, an agent has enough to call it correctly; only the exact effect of finalization is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters. The description adds no parameter-level meaning, which is acceptable under the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a clear action (complete) applied to a specific resource (the upload process) and anchors it to a distinct stage: after uploading to a presigned URL. This separates it from lifecycle siblings such as media_upload_start and media_upload_file, though it doesn't detail what finalization actually involves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"After uploading to a presigned URL" gives an explicit timing condition for when the tool should be invoked. It doesn't name alternatives or exclusions, but the lifecycle sequencing makes the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_upload_startStart Media UploadAInspect
Get a presigned URL for direct file upload (for large files)
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | Yes | Name of the file to upload | |
| projectId | No | Optional project ID to associate the upload with. UUID string. | |
| contentType | Yes | MIME type (e.g., video/mp4, audio/mp3, image/jpeg) | |
| workspaceId | No | Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| uploadInfo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'get a presigned URL' and gives no insight into side effects such as creating an upload session, URL expiration, or the need to call media_upload_finish afterwards. Annotations are all false, providing no safety profile, so the description carries the burden and fails to disclose the state-changing nature of initiating an upload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the core action and includes a high-value qualifier. No filler or redundancy; the title and description align well.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not explain the expected workflow: how to use the returned presigned URL, whether to follow up with media_upload_finish, or why this differs from media_upload_file. This is a meaningful gap for an upload-start tool, making the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already fully documented. The description adds no additional parameter semantics beyond implying 'large files', earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get a presigned URL for direct file upload', which clearly states the tool's function. The parenthetical 'for large files' distinguishes it from sibling upload tools like media_upload_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for large files' provides clear context for when to use this tool, implying it is intended for direct/large uploads. However, it does not explicitly name alternatives or establish exclusion criteria (e.g., 'for small files use media_upload_file').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_upscaleUpscale VideoAIdempotentInspect
Queue a ByteDance upscale of one stored video asset to 1080p or 4k. Call media_upscale_estimate first. Spends AI credits and returns a new pending media asset to poll with media_assets_get.
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | Yes | Source video asset UUID. UUID string. | |
| projectId | No | Optional project UUID to attach the credit spend. UUID string. | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. | |
| targetResolution | Yes | Output long-edge target. |
Output Schema
| Name | Required | Description |
|---|---|---|
| runId | Yes | |
| status | Yes | |
| assetId | Yes | |
| sourceAssetId | Yes | |
| creditsRequired | Yes | |
| mutationReceipt | Yes | |
| targetResolution | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (non-destructive, idempotent, closed-world), and the description adds genuinely new behavior: it consumes AI credits and returns a new pending media asset requiring polling. Those are the two things an agent most needs to know before invoking an async, credit-spending job.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then prerequisite, then side effects and next step. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an existing output schema, the description still conveys the async contract (pending asset + polling), the credit cost, and the required prerequisite call. An agent has everything needed to invoke and follow up correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter including assetId, targetResolution, projectId, workspaceId, and idempotencyKey is already documented with format and defaults. The description only restates the resolution options, adding no meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (upscale), the single resource affected (one stored video asset), the provider, and the two valid outputs (1080p/4k). It is clearly distinguishable from media_upscale_estimate, which it explicitly defers to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite ('Call media_upscale_estimate first') and a follow-up path (poll with media_assets_get). It doesn't spell out when NOT to use it, but the sequencing guidance is strong and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
media_upscale_estimateEstimate Video UpscaleARead-onlyIdempotentInspect
Estimate ByteDance upscale eligibility and credits for one stored video. Does not spend credits or queue a job. Call this before media_upscale.
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | Yes | Source video asset UUID. UUID string. | |
| projectId | No | Optional project UUID for the estimate context. UUID string. | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| targetResolution | Yes | Output long-edge target. |
Output Schema
| Name | Required | Description |
|---|---|---|
| eligible | Yes | |
| targetFps | Yes | |
| sourceLongEdge | Yes | |
| targetLongEdge | Yes | |
| creditsRequired | Yes | |
| durationSeconds | Yes | |
| ineligibleReason | Yes | |
| targetResolution | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description reinforces this with valuable context: 'Does not spend credits or queue a job,' which tells the agent the side-effect profile. It does not add rate limits, auth requirements, or latency expectations, so it falls slightly short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with zero waste. The purpose is front-loaded, the behavioral constraint follows, and the routing instruction comes last.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a read-only estimation tool. The description establishes purpose, side-effect profile, and sibling relationship; the schema and annotations cover parameters and safety. With an output schema present, no return-value explanation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all four parameters are fully documented in the schema, including the enum for targetResolution. The description adds no parameter-level detail beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Estimate ByteDance upscale eligibility and credits for one stored video.' Explicitly distinguishes from the sibling media_upscale by noting it 'does not spend credits or queue a job' and instructs calling it 'before media_upscale.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit sequencing guidance: 'Call this before media_upscale' names the alternative and the condition that selects it. The agent knows exactly when to use this tool versus the actual upscale tool, with no exclusions left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mute_clip_audioMute Clip AudioAIdempotentInspect
Set one timeline media item's volume to zero.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | UUID string. | |
| idempotencyKey | Yes | Retry key. Reuse only with identical inputs. | |
| timelineItemId | Yes | ||
| expectedRevision | No | Expected sequence revision, or null. |
Output Schema
| Name | Required | Description |
|---|---|---|
| txid | Yes | |
| result | Yes | |
| replayed | Yes | |
| revision | Yes | |
| warnings | Yes | |
| projectId | Yes | |
| operationId | Yes | |
| baseRevision | Yes | |
| mutationReceipt | Yes | |
| createdTimelineItemIds | Yes | |
| deletedTimelineItemIds | Yes | |
| affectedTimelineItemIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description states the direct effect (volume set to zero) and is consistent with annotations (idempotent, not destructive). It adds little beyond the tool name, but annotations carry the safety profile; no contradiction or extra context like reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, densely packed, no filler. Front-loaded with the primary action and target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has an output schema, and rich annotations. The description adequately identifies the single clip target; missing only explicit alternative guidance, but overall the context is sufficient for calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers projectId, idempotencyKey, and expectedRevision. Description clarifies timelineItemId as the target media item, compensating for the missing schema description. No additional syntax or relation to the optional expectedRevision is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Set') and precise resource ('one timeline media item's volume to zero'). It clearly distinguishes from sibling tools like timeline_audio_add or batch_update_timeline_clips by targeting a single clip's audio.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'one timeline media item' implies single-item usage, but the description does not explicitly state when to choose this over update_timeline_clip or batch_update_timeline_clips, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projects_createCreate ProjectBInspect
Create a new private BlitzReels video project.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name (1-100 characters) | |
| seriesId | No | Optional Series UUID for this new project. | |
| frameRate | No | Video frame rate | 30 |
| aspectRatio | No | Video aspect ratio | 9:16 |
| description | No | Project description (optional, max 500 characters) | |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. | |
| idempotencyKey | No | Retry key. Reuse only with identical inputs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| project | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=false, so the write nature is disclosed. The description adds that the project is 'private', a useful behavioral detail, but does not mention authentication, default workspace resolution, or any side effects beyond the creation itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One clean sentence delivers the core intent without waste. It front-loads the action and object, though given the 7-parameter surface, the description is relatively thin if not actively concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema and output schema cover the parameter and return details. However, the description omits usage guidance (when to use vs alternatives) and does not clarify operational defaults or consequences like default workspace or private visibility, which would help an agent invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 7 parameters are already documented in the schema. The description adds no additional meaning or constraints about parameters (e.g., default aspectRatio, frameRate behavior) beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Create') and a specific resource ('new private BlitzReels video project'), which clearly identifies it as a creation tool for projects. It distinguishes from sibling read/list tools like projects_get and projects_list, though it doesn't explicitly name any alternative as another option.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as workflow_runs_create or clips_create. There is no mention of prerequisites, idempotency usage, or scenarios where this should be preferred over other create tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projects_getGet ProjectARead-onlyIdempotentInspect
Get details for one BlitzReels project, including timeline summary, clips, captions, and current recovery state with an app path and next read tool.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | The project ID to get details for. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| project | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds genuine value by disclosing that the response includes recovery state plus an 'app path and next read tool', suggesting a recovery workflow, though it does not explain that behavior further.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the list of returned contents is a bit dense but every clause carries information relevant to selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full annotation coverage, a 100%-documented single parameter, and an output schema covering return values, little is left for the description to carry. The hint about the recovery state and suggested next tool fills the remaining gap adequately for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100%, so the schema already documents projectId as a UUID. The description never mentions the parameter at all, so it adds nothing beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get details for one BlitzReels project') and scopes it to a single entity, which implicitly separates it from projects_list. It also enumerates what comes back (timeline summary, clips, captions, recovery state), but never names the closest siblings (projects_inspect, projects_list) explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: fetch one project by ID when you already have its identifier. There is no when-to-use vs when-not, no mention of alternatives like projects_inspect or projects_list, and no stated prerequisites such as needing a valid UUID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projects_inspectInspect ProjectARead-onlyIdempotentInspect
Read bounded project context for editing, including timeline items, media assets, transcripts, captions, and stable IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Bounded project context view to return. | timeline |
| search | No | Optional media search when mode is assets or full. | |
| projectId | Yes | Project UUID. UUID string. | |
| assetLimit | No | Maximum media assets to return (1-50). | |
| assetOffset | No | Media asset offset. | |
| timelineLimit | No | Maximum timeline items to return (1-1000). | |
| timelineOffset | No | Timeline item offset. | |
| transcriptLimit | No | Maximum transcript segments to return (1-500). | |
| captionWordLimit | No | Maximum caption words to return (1-2000). | |
| transcriptOffset | No | Transcript segment offset. | |
| captionWordOffset | No | Caption word offset. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| mode | Yes | |
| bounds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description is not burdened with safety disclosure. It adds the 'bounded' trait and lists content types, but does not describe pagination defaults, mode behavior, or other operational details beyond what the schema already provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single, compact sentence that front-loads the core action ('Read bounded project context') and then efficiently enumerates the major content categories. No redundant words or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count (11) and the presence of a full output schema, the description provides a sufficient high-level overview without needing to explain return values or parameter syntax. It could have mentioned the default mode or the purpose of the 'mode' parameter, but that is covered in the schema, so the description remains adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description itself does not add parameter-specific meaning; it only states what content is included. All 11 parameters are fully documented in the schema, so no compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and identifies the exact resource ('bounded project context for editing') with a clear list of included content (timeline items, media assets, transcripts, captions, and stable IDs). This clearly distinguishes it from sibling tools like projects_get or media_transcript_get by emphasizing the consolidated yet bounded nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage during editing workflows by stating 'for editing', but it does not explicitly mention when to use this tool versus alternatives such as projects_get, media_assets_get, or media_transcript_get. There are no exclusions or explicit alternative references, leaving the decision to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projects_listList ProjectsBRead-onlyIdempotentInspect
List the user's BlitzReels projects with status, duration, and basic metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of projects to return (1-50) | |
| offset | No | Project offset. | |
| search | No | Search projects by name | |
| status | No | Filter by project status | active |
| workspaceId | No | Optional workspace ID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bounds | Yes | |
| projects | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safe-read profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the safety burden is covered. The description adds the returned fields but says nothing about pagination behavior or defaults despite limit/offset being present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource and returned fields front-loaded. No wasted words, though it is arguably too terse given the available parameter surface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and complete annotations, an agent has enough to call this correctly; the returned fields are even summarized. Only the lack of sibling disambiguation and pagination notes keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema, including the status enum and workspaceId default. The description adds no parameter-level meaning beyond that baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (projects) and even names what each item carries: status, duration, and basic metadata. It does not differentiate itself from close siblings like projects_get or projects_inspect, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives (projects_get, projects_inspect), and no note on pagination or default scoping. An agent must infer all of this from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recording_sets_clips_createClip a Synchronized RecordingAIdempotentInspect
Produce a batch from a ready synchronized camera and screen recording, with optional clip count, maximum duration and caption look. Preserves readable screen context through the existing layout pipeline. Can spend existing credits; follows clips_get with the returned batch_id.
| Name | Required | Description | Default |
|---|---|---|---|
| clipCount | Yes | ||
| workspaceId | Yes | ||
| captionThemeId | Yes | ||
| idempotencyKey | Yes | ||
| recordingSetId | Yes | ||
| maxDurationSeconds | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real behavior beyond the annotations: cost impact ('Can spend existing credits'), a processing guarantee ('Preserves readable screen context through the existing layout pipeline'), and the async workflow handoff via batch_id. Annotations already declare the mutation/idempotency profile, so this extra context earns credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core action and free of filler. The cost and workflow notes are appended efficiently rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description covers the batch_id handoff, cost, and processing behavior. The main gap is the undocumented idempotencyKey and workspace scoping, but overall it is sufficient to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, and it only covers three of six params (clipCount, maxDurationSeconds, captionThemeId). It never mentions workspaceId, idempotencyKey, or recordingSetId, nor does it explain the allowed duration values or the credit-relevant limits that a caller would want.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Produce a batch from a ready synchronized camera and screen recording'), which distinguishes it from the generic clips_create sibling by tying it to recording sets. It is clear but does not explicitly name the alternative tools (clips_create, clips_candidates_list) an agent might confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies a precondition ('a ready synchronized recording') and gives a follow-up step ('follows clips_get with the returned batch_id'), which is useful sequencing guidance. However, it never explicitly says when to use this instead of clips_create or what state the recording set must be in, leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recording_sets_createCreate Synchronized RecordingAIdempotentInspect
Create an empty camera and screen recording set in the explicit workspace. Requires existing recording-set access; does not import files or start processing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| workspaceId | Yes | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, idempotent, non-destructive, non-open-world behavior, so the safety profile is covered. The description adds that the created set is empty, that access must pre-exist, and that no import or processing is triggered, which is meaningful mutation context. It does not discuss what happens on a repeated idempotency key beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, with the core action and scope front-loaded and constraints/exclusions trailing. Nothing is wasted, though the sentence could be slightly sharper about the idempotency parameter given its required status.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose explanation, and annotations carry the safety and idempotency profile. The description covers scope, prerequisites, and exclusions; the remaining gap is the undocumented required idempotencyKey parameter, which is the main thing an agent could get wrong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and none of the three parameters (name, workspaceId, idempotencyKey) are explained in the description; the constraints (name 1-200 chars, idempotencyKey min 8 chars, nullable workspaceId defaulting to null) exist only in the raw schema with no prose. The phrase 'in the explicit workspace' loosely implies workspaceId but adds no semantics about the null default or key reuse.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') and resource ('camera and screen recording set'), and the qualifier 'empty' plus 'in the explicit workspace' distinguishes it from siblings like recording_sets_clips_create (adds clips) and recording_sets_finalize. An agent can tell what this tool does and does not do without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a prerequisite condition ('Requires existing recording-set access') and explicit exclusions ('does not import files or start processing'), which steers the agent away from populating or processing workflows. It stops short of naming the specific sibling to use for adding clips or finalizing, so it is clear context rather than full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recording_sets_finalizeSynchronize Recording TracksAIdempotentInspect
Finalize the collected camera and screen tracks and queue analysis. Can spend existing transcription credits. Inspect returned alignment and warnings before clipping.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| recordingSetId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real value beyond the annotations: it discloses a cost side effect ("Can spend existing transcription credits") and that analysis is queued rather than immediate, plus that alignment results and warnings come back and should be inspected. Annotations cover idempotency and destructive scope but not the credit spend or async queueing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: purpose first, then the cost disclosure, then the post-call inspection step. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required, and the description still flags the meaningful return elements (alignment, warnings). Purpose, cost, and workflow position are covered; the main gap is parameter-level meaning, which is left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description explains none of the three parameters (workspaceId, idempotencyKey, recordingSetId). The idempotency marker is implied by idempotentHint, but the description does not compensate for the total lack of parameter documentation as it should at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (finalize) and resource (collected camera and screen tracks) plus the downstream effect (queue analysis). Clear enough to distinguish from reads like recording_sets_get or attachment like recording_sets_track_attach, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Inspect returned alignment and warnings before clipping" implies this is a step in a workflow that precedes clipping, giving some context for use. There is no explicit when-not guidance, no prerequisites, and no named alternative, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recording_sets_getInspect Synchronized RecordingARead-onlyIdempotentInspect
Read one camera and screen recording set, its primary speaker, content windows, alignment and warnings. Separate audio-only tracks are not supported.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes | ||
| recordingSetId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so safety is covered. The description adds real value beyond that by disclosing the content of the returned set and, importantly, the capability boundary that audio-only tracks are unsupported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and resource, then the single relevant limitation. Nothing is padded and everything earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be detailed, and the description still summarizes the salient payload fields plus a key constraint. The remaining gap is any guidance on parameters and how the pair of IDs interacts, which is minor for a simple read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions workspaceId or recordingSetId — not their format (UUID), precedence, or what happens if workspaceId is null. The parameter names are mostly self-explanatory, but the description contributes nothing to their semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (one camera and screen recording set) and enumerates what comes back: primary speaker, content windows, alignment and warnings. This clearly separates it from the list/create/finalize siblings, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is a negative constraint — 'Separate audio-only tracks are not supported' — which usefully rules out an unsupported input but says nothing about when to call this versus recording_sets_list or recording_sets_create. Usage is implied by the singular framing rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recording_sets_listList Synchronized RecordingsBRead-onlyIdempotentInspect
Read bounded camera and screen recording sets in the selected workspace with status, duration and alignment warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| offset | Yes | ||
| status | Yes | ||
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds that results are 'bounded' (pagination constraint) and surfaces alignment warnings, which is useful context beyond annotations, but it stops short of explaining pagination mechanics or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the brevity comes partly at the cost of missing parameter detail rather than pure economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and annotations cover the read-only safety profile. However, with four required undocumented parameters at 0% schema coverage, the description is under-complete on how to actually call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and all four parameters (workspaceId, status, limit, offset) are required with no inline documentation. The description loosely implies workspace scoping and references 'status' as a returned field, but never explains the status enum values, pagination limits, or offset semantics, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (Read/List) and resource (camera and screen recording sets) scoped to the selected workspace. The mention of returning 'status, duration and alignment warnings' gives it a distinctive flavor versus a generic list, though it never names the sibling recording_sets_get to differentiate the two explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisite conditions, and never points to alternatives such as recording_sets_get for a single set. Usage is only implied by the verb 'List' and the workspace scoping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recording_sets_track_attachAttach Camera or Screen RecordingAIdempotentInspect
Attach one existing authorized video asset as a camera or screen track. Specify the main speaker when known; alignment happens during finalization.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| asset_id | Yes | ||
| is_primary | Yes | ||
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| recordingSetId | Yes | ||
| participant_name | Yes | ||
| participant_label | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile (readOnly=false, idempotent=true, destructive=false, openWorld=false). The description adds genuinely useful non-structured context: the asset must be pre-existing and authorized, and speaker alignment is deferred to finalization rather than happening at attach time. It doesn't clarify what happens on re-attach of the same role, but that is largely covered by idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the core action is front-loaded and the deferred-alignment note follows as supporting context. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be described, but for an 8-required-parameter mutation with zero schema descriptions the definition leaves too much unspecified: the purpose of recordingSetId, the role of idempotencyKey, and the semantics of participant_label vs participant_name and is_primary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with 8 required parameters, so the description must compensate. It only sheds light on role ('camera or screen'), asset_id ('existing authorized video asset'), and loosely participant_name ('main speaker'). workspaceId, idempotencyKey, recordingSetId, participant_label, and is_primary are entirely unexplained, including the ambiguous label-vs-name distinction and the meaning of is_primary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (attach), a specific resource (one existing authorized video asset), and the role slot it fills (camera or screen track). An agent can distinguish this from siblings like recording_sets_clips_create or timeline_media_add without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'existing authorized' implies a precondition (the asset must already exist and be authorized) and 'alignment happens during finalization' hints at when in the workflow this is used. But no explicit when-to-use/when-not guidance or named alternative among the many recording_sets_* and editor_* siblings is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
series_applyApply SeriesAIdempotentInspect
Create or replace a Growth+ Series identity and defaults. defaultCreationMode selects podcast branding or faceless Story Kit defaults; membership stays mixed. Updates require expectedRevision. Existing content keeps its settings.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| seriesId | Yes | ||
| storyKitId | Yes | ||
| description | Yes | ||
| logoAssetId | Yes | ||
| workspaceId | Yes | ||
| coverAssetId | Yes | ||
| captionThemeId | Yes | ||
| idempotencyKey | Yes | ||
| expectedRevision | Yes | ||
| defaultCreationMode | Yes | podcast |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | |
| mutationReceipt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description explains important behaviors: create or replace semantics, mode-dependent defaults, mixed membership, expectedRevision as an update guard, and that existing content settings are preserved. This substantially clarifies the tool's side effects and complements the idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, all of which earn their place. The core action is front-loaded, and the mode selection, update condition, and content-preservation guarantee follow without repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite strong behavioral detail, the tool has 11 required parameters and no schema descriptions, and the description does not cover idempotency, asset/project relationships, or how to form a valid request. An agent would still struggle to populate most required fields correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must carry parameter meaning, but it only elaborates on defaultCreationMode and expectedRevision. The other nine required parameters (idempotencyKey, asset IDs, workspaceId, captionThemeId, etc.) remain unexplained, leaving the agent without enough semantic grounding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Create or replace a Growth+ Series identity and defaults', which names the exact operation and resource. It clearly differentiates from siblings like series_assign or story_kits_apply by focusing on the Series identity/defaults object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful context for the create-vs-update distinction: updates require expectedRevision, and defaultCreationMode selects branding mode. However, it never states when to choose this tool over related siblings such as story_kits_apply or series_assign, so usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
series_assignAssign Series ContentBIdempotentInspect
Assign, move or detach one source or project using expectedSeriesId. Moving a source does not move existing clips or change branding.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| seriesId | Yes | ||
| contentId | Yes | ||
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| expectedSeriesId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| kind | Yes | |
| changed | Yes | |
| seriesId | Yes | |
| mutationReceipt | Yes | |
| previousSeriesId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds one useful behavioral disclosure: 'Moving does not move clips or change branding.' However, it does not disclose the meaning of null seriesId/expectedSeriesId, concurrency-failure behavior, or side effects of assignment/detachment beyond the moving case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the action and resource, and the follow-up sentence delivers a key side-effect warning without burying the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no parameter descriptions in the schema, the description must carry most of the semantic load. It omits concurrency semantics, detach behavior with null IDs, idempotency behavior, and any mention of workspaceId.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only expectedSeriesId is mentioned, and its role as an optimistic-concurrency guard is not explained. The schema has zero descriptions, so the meaning of contentId, workspaceId, seriesId null, and idempotencyKey is left entirely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the exact verb set: 'Assign, move or detach one source or project,' which clearly identifies the action and resource. It also names the key parameter (expectedSeriesId) and adds a scoping detail (one source/project), so the tool's purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no guidance on when to choose it over alternatives, and no preconditions or exclusions. With sibling tools such as series_apply present, an agent gets no help deciding between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
series_contentList Series ContentARead-onlyIdempotentInspect
List sources or projects in a Series. Null seriesId lists standalone content. sourceId filters projects by clip origin.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| limit | Yes | ||
| offset | Yes | ||
| search | Yes | ||
| seriesId | Yes | ||
| sourceId | Yes | ||
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| bounds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description only needs to add semantic behavior. It does so by explaining that null seriesId returns standalone content and that sourceId filters projects by clip origin. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The primary action and scope are front-loaded, and the additional parameter guidance is compact and meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return structure and annotations cover safety, so those do not need elaboration. Still, with 7 required parameters and no schema descriptions, the description leaves important questions about required combinations and the meaning of kind/workspaceId unanswered. It is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and all 7 parameters are required, yet the description only clarifies seriesId and sourceId. It leaves kind, workspaceId, search, limit, and offset semantically unexplained, which is insufficient compensation for a low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a specific resource ('sources or projects in a Series'), and it adds a key distinguishing detail: null seriesId lists standalone content. This clearly separates it from sibling tools like series_list or series_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: to enumerate content within a series, and it clarifies the standalone-content case. However, it does not explicitly mention alternatives or state when not to use it, so an agent must infer the boundary against related series tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
series_deleteDelete SeriesADestructiveIdempotentInspect
Delete the Series container at an expected revision and detach its content. Sources, projects and exports are preserved.
| Name | Required | Description | Default |
|---|---|---|---|
| seriesId | Yes | ||
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| detachedSources | Yes | |
| mutationReceipt | Yes | |
| contentPreserved | Yes | |
| detachedProjects | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: deletion is conditional on an expected revision, the operation detaches content rather than destroying it, and sources, projects, and exports are preserved. It does not contradict the destructiveHint or idempotentHint annotations, though it could disclose what happens on a revision mismatch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences deliver the essential action, the concurrency condition, and the preservation guarantee with no filler. The destructive scope is front-loaded, making the tool easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a clear picture of what is deleted and what is preserved, and the output schema covers return values. However, with four required parameters and zero schema coverage, it does not explain idempotencyKey expectations or revision-conflict behavior, so an agent still lacks some operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only hints at expectedRevision via 'at an expected revision'. It does not explain seriesId, workspaceId, or idempotencyKey semantics, leaving the agent to rely on parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Delete the Series container') and clarifies the operation's scope by stating it detaches content while preserving sources, projects, and exports. This clearly distinguishes it from sibling tools like series_get, series_list, series_content, series_apply, and series_assign.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—when deleting the container itself rather than its content—but it does not explicitly name alternatives or state when not to use it. The preservation note provides useful context but no direct routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
series_getGet SeriesCRead-onlyIdempotentInspect
Read a Series identity, creative defaults and revision.
| Name | Required | Description | Default |
|---|---|---|---|
| seriesId | Yes | ||
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description's 'Read' aligns with the readOnlyHint annotationating and there is no contradiction. It adds some transparency by listing what is read (identity, creative defaults, revision), but it does not explain side effects or lack thereof beyond what the readOnlyHint already signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that leads with the operation ('Read') and lists the resource aspects. It is efficient and free of padding, though the phrasing 'a Series identity' is slightly awkward and could be more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description leaves out important context: what the revision is, how it is selected, and what the workspace/series relationship is. While annotations cover safety, the description is too terse to fully prepare an agent to make correct use of this tool among many series-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for either parameter, so an agent must infer that `seriesId` identifies the resource and `workspaceId` scopes the read only from their names. The description fails to clarify how the parameters relate to the returned identity, creative defaults, or revision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly uses the verb 'Read' and names the resource (a Series) plus the data facets: identity, creative defaults, and revision. It is specific enough for an agent to understand this is a read operation, though it does not explicitly contrast with sibling tools like series_content or series_apply.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many related series_* and get_* siblingsamental. It does not mention which series fields are included, whether the revision is current or historical, or any preconditions such as needing a project or workspace context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
series_listList SeriesCRead-onlyIdempotentInspect
List optional Series with bounded counts and cover previews.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| offset | Yes | ||
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| bounds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, idempotent, and non-destructive. The description adds minor behavioral context by mentioning 'bounded counts' (pagination) and 'cover previews' (response contents), but it does not explain scoping, ordering, or auth requirements. This is adequate but not rich beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the verb and resource, keeping length appropriate. It loses some clarity due to ambiguous phrasing like 'optional Series' and 'bounded counts,' but overall it is efficient and not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a simple three-parameter input schema and available annotations/output schema, the description leaves critical context vague: what makes a Series 'optional,' whether results are scoped by workspace, and what 'bounded counts' precisely means. An agent would need additional inference to call this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only loosely maps to parameters. 'Bounded counts' hints at limit/offset behavior, yet workspaceId is completely unexplained, and there is no parameter-level clarification of defaults or relationships between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'List Series' names a clear verb and resource, and the description distinguishes listing from sibling tools like series_get or series_content by specifying a list operation. However, the phrase 'optional Series' is ambiguous about whether it means optional flags, optional parameters, or a category of series, which slightly weakens clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool instead of series_get, series_content, or other series-related tools. There are no stated alternatives, exclusions, or conditions that would help an agent route between sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
story_kits_applyApply Story KitAIdempotentInspect
Create or update a Story Kit with optimistic concurrency and an idempotent mutation receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Stable Story Kit name. | |
| facts | No | ||
| locations | No | ||
| storyKitId | No | ||
| description | No | ||
| visualStyle | Yes | Canonical visual-style contract. | |
| workspaceId | No | Optional workspace UUID. Defaults to the user's default workspace. UUID string. | |
| characterIds | No | ||
| idempotencyKey | Yes | ||
| expectedRevision | No | ||
| narratorCharacterId | No | ||
| styleReferenceAssetIds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| storyKit | Yes | |
| mutationReceipt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false. The description adds value by specifying 'optimistic concurrency' and 'idempotent mutation receipt', which inform the agent about concurrency handling and return semantics. This is additive beyond annotations, though it could mention what happens on conflict or failure for a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence — concise and front-loaded with the core action ('Create or update a Story Kit'). It adds two key behavioral traits (optimistic concurrency, idempotent mutation receipt) without waste. However, given the high parameter count and low schema coverage, a few more words on parameter behavior might be warranted, dropping it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 12 parameters, 25% schema coverage, and no enums, but offers an output schema. The description covers the high-level behavior (create/update, concurrency, idempotency) but does not explain what the output schema contains, how locations or facts are structured, or error handling. With moderate complexity and partial schema coverage, a 3 is appropriate — adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, meaning the description must compensate, but it only mentions the three required parameters (name, visualStyle, idempotencyKey) semantically. The term 'Canonical visual-style contract' clarifies visualStyle, but for 12 parameters, most (facts, locations, characterIds, etc.) receive no additional explanation. The output schema exists, which slightly reduces the burden, but the description is insufficient to fully guide parameter use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create or update a Story Kit' — a specific verb and resource combination that distinguishes it from siblings like story_kits_get and story_kits_list. However, it lacks the exclusive scope (e.g., 'bounded to a workspace') that would make it a 5, and the 'idempotent mutation receipt' phrase is somewhat technical and not as immediately graspable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this versus alternatives. The description mentions optimistic concurrency and idempotency, which imply it is used for safe create-or-update operations, but it does not name sibling tools (like story_kits_get for reading) or state when not to use it. The 'apply' name hints at upsert behavior, but context is missing for a higher score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
story_kits_getGet Story KitBRead-onlyIdempotentInspect
Inspect one Story Kit and its revision before generating or updating a story.
| Name | Required | Description | Default |
|---|---|---|---|
| storyKitId | Yes | ||
| workspaceId | No | Optional workspace UUID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| storyKit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey this is a read-only, idempotent, non-destructive tool. The description adds 'Inspect one Story Kit and its revision', which aligns with annotations without contradicting them. The added value is minimal—just specifying the 'revision' aspect—but since annotations handle the heavy lifting, a 3 is appropriate. No contradiction detected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core action ('Inspect one Story Kit and its revision') and places context later ('before generating or updating a story'). No extraneous words. It could be structured to hint at the required parameter, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 params, 1 required, no enums/nested objects) and the presence of an output schema (which handles return values), the description is mostly complete. However, it fails to describe the 'storyKitId' parameter, which is required and has no schema description, leaving a gap for the agent. Additional hints about what kind of story kit (e.g., draft or published) would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: one required param (storyKitId) has no description, while workspaceId has a description in the schema. The description does not document the 'storyKitId' parameter or explain its format/expected value, and it doesn't clarify that 'workspaceId' is optional. With two parameters and half undocumented in both schema and description, a baseline 3 is reasonable, but no extra value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Inspect' with 'one Story Kit and its revision', which clearly specifies the resource and scope (single item plus revision). It also alludes to a workflow purpose ('before generating or updating a story'), distinguishing it from sibling tools like story_kits_list (which lists kits) and story_kits_apply (which applies a kit). However, it doesn't explicitly exclude other potential actions like copying or deleting, leaving slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('before generating or updating a story'), which helps an agent understand the typical workflow position. However, it does not explicitly state when NOT to use this tool vs alternatives like story_kits_list (for browsing) or projects_get (for inspecting a project instead of a story kit). No exclusion or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
story_kits_listList Story KitsBRead-onlyIdempotentInspect
List bounded reusable Story Kits that bind characters, locations, style, facts, and narrator voice.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| workspaceId | No | Optional workspace UUID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bounds | Yes | |
| storyKits | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is clear. The description adds the concept of 'bounded reusable Story Kits' but does not disclose behavioral traits like pagination behavior, scoping (workspace filtering), or authentication requirements. This is adequate but not additive beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently states the purpose and defines the resource. Every word adds value, and there is no extraneous information. It is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the core concept of Story Kits, but with an output schema present, it need not describe return values. However, it omits context about the three parameters (pagination, workspace filtering) and does not mention that the result is a list. For a list tool with multiple parameters, the description is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (workspaceId described). The description adds no parameter information at all. It does not mention that limit and offset control pagination or that workspaceId filters the workspace. Given the low schema coverage, the description should compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'List' and the resource 'Story Kits', and defines what a Story Kit is ('bind characters, locations, style, facts, and narrator voice'). This clearly distinguishes it from sibling tools like story_kits_get (single retrieval) and story_kits_apply (application), and from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., story_kits_get for a specific kit, story_kits_apply to apply a kit, or other list tools). It does not mention pagination, filtering, or any prerequisites. The agent is left to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timeline_audio_addAdd Audio To TimelineBInspect
Place an audio asset onto a BlitzReels project timeline at a timestamp for voiceover, music, or sound.
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | Loop audio to fill requested duration | |
| volume | No | Audio volume multiplier, 1 is normal | |
| assetId | Yes | Audio media asset ID. UUID string. | |
| projectId | Yes | BlitzReels project ID. UUID string. | |
| startSeconds | No | Timeline start time in seconds | |
| fadeInSeconds | No | Fade-in length in seconds | |
| fadeOutSeconds | No | Fade-out length in seconds | |
| durationSeconds | No | Optional duration. Required if the audio asset duration is not known yet. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
All annotations are false, providing no positive safety or behavioral profile. The description only restates the action ('Place an audio asset onto...') without disclosing side effects, prerequisites, error conditions, or whether the operation is additive, even though destructiveHint=false suggests it is not destructive. For a mutation tool, this is minimal behavioral disclosure, with the description doing little beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently states the action, resource, destination, and purpose. It contains no filler or redundant information and is appropriately succinct for a relatively simple tool, though it could have incorporated a bit more behavioral/usage detail without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, an output schema, and all-false annotations, the one-line description is thin but sufficient when combined with the complete schema. It does not provide usage alternatives, side-effect context, or when-to-use guidance, so while it is minimally viable, an agent selecting among many timeline tools would need to rely on the schema and tool name to make the right call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 8 parameters (projectId, assetId, startSeconds, durationSeconds, volume, loop, fadeInSeconds, fadeOutSeconds) are already documented in the schema. The description adds only a hint about 'timestamp' (matching startSeconds) and the purpose, but does not meaningfully supplement the schema. The baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Place') and resource ('audio asset') with a clear destination ('BlitzReels project timeline') and timestamp, and identifies the use cases (voiceover, music, sound). It implicitly distinguishes from sibling tools like timeline_media_add by specifying audio, but it does not explicitly name or contrast with an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—when placing an audio asset for voiceover, music, or sound—but provides no explicit guidance on when not to use it or how it compares to alternatives like timeline_media_add. There are no exclusionary statements or alternative tool mentions, so the agent must infer the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timeline_edit_applyApply Timeline EditAIdempotentInspect
Trim or extend one timeline item. Split one timeline item at an exact sequence position.
| Name | Required | Description | Default |
|---|---|---|---|
| operation | Yes | ||
| projectId | Yes | UUID string. | |
| idempotencyKey | Yes | ||
| expectedRevision | Yes | Expected sequence revision, or null. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the operation types (trim/extend/split), which is useful but does not disclose behaviors like revision-based concurrency or potential side effects beyond what annotations already indicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that are front-loaded with the most important information. Every word contributes, with no redundant or vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the schema (nested operation union) and the presence of an output schema, the description is minimally adequate. It covers the core behavior but omits important context, such as the need for expectedRevision for optimistic concurrency and how this tool relates to timeline_edit_preview (apply vs preview).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with projectId and expectedRevision described. The tool description adds meaning by naming the two operations (trim/extend and split), which helps interpret the 'operation' union parameter. However, it does not explain parameters like trimStartDeltaSeconds, splitAtSeconds, or idempotencyKey, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with specific verbs and resources: 'Trim or extend one timeline item' and 'Split one timeline item at an exact sequence position.' It distinguishes two operation types and explicitly targets a single timeline item, making it easy to differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool: when you need to trim, extend, or split a single timeline item. However, it does not explicitly mention alternatives or exclusions (e.g., batch edits or previewing), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timeline_edit_previewPreview Timeline EditARead-onlyIdempotentInspect
Preview without mutation. Trim or extend one timeline item. Split one timeline item at an exact sequence position.
| Name | Required | Description | Default |
|---|---|---|---|
| operation | Yes | ||
| projectId | Yes | UUID string. | |
| expectedRevision | Yes | Expected sequence revision, or null. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'without mutation' is consistent but not novel. However, it does add behavior beyond annotations by specifying that the preview covers trim/extend and split operations, which are concrete, non-obvious capabilities. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the critical 'without mutation' qualifier. Every phrase adds value—the first sentence establishes the read-only nature, the second enumerates supported operations. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (two operation variants), the presence of a detailed schema with oneOf, an output schema, and annotations covering safety, the description is sufficiently complete. It captures the essential behavioral contract (preview-only) and lists all supported operations; any remaining details are handled by the schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for projectId and expectedRevision, but the operation parameter has no description and is expressed as a oneOf with const values. The description's enumeration of 'trim or extend' and 'split' maps to the two operation variants, but it does not clarify parameter semantics like 'expectedRevision' or delta meanings beyond what the schema names imply. With 67% schema coverage, the description gives partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Preview without mutation,' using a specific verb and resource that immediately distinguishes it from the sibling 'timeline_edit_apply.' It then enumerates the exact operations ('Trim or extend one timeline item,' 'Split one timeline item at an exact sequence position'), making the tool's scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Preview without mutation' clearly signals that this tool is for pre-flight checks rather than actual edits, and the sibling 'timeline_edit_apply' implies the alternative. However, it never explicitly states 'use this instead of timeline_edit_apply when you want to verify without persisting changes,' so it falls short of a fully explicit when/when-not directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timeline_media_addAdd Media To TimelineBInspect
Place an image or video asset onto a BlitzReels project timeline at a timestamp, including B-roll and static images.
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | Yes | Image or video media asset ID. UUID string. | |
| projectId | Yes | BlitzReels project ID. UUID string. | |
| layerIndex | No | Exact timeline layer to use. Lower layer numbers render on top. Omit for intent-based placement. | |
| startSeconds | No | Timeline start time in seconds | |
| allowDuplicate | No | Allow inserting the same asset more than once | |
| positionPreset | No | Visual placement preset | fullscreen |
| animationPreset | No | Optional visual animation preset | none |
| durationSeconds | No | Duration in seconds. Required for still images when a specific length is needed. | |
| placementIntent | No | Layer intent used when layerIndex is omitted. Use overlay for visible B-roll/logo/sticker over video, background for behind video, exact when layerIndex is supplied. | overlay |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is a non-destructive, non-idempotent write operation. The description adds no behavioral context beyond restating the action; it does not clarify side effects, prerequisites, duplication behavior, or what happens to existing clips. For a mutation operation, the description should disclose core behavioral traits (e.g., whether it inserts without replacement, whether assets/projects must exist), but it remains a near-tautology of the schema and title. This adds marginal value over the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that begins with the core action and object, then adds a clarifying scope note ('including B-roll and static images'). There is no filler, repetition, or unnecessary detail. The structure is front-loaded and appropriately sized for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 9 parameters with enums (placementIntent, positionPreset, animationPreset) and an output schema, the description offers no higher-level guidance on parameter selection. It does not explain when to use layerIndex versus placementIntent, when durationSeconds is needed, or how options like positionPreset affect output. The schema covers syntax, but the description fails to provide the contextual decision-making help an agent needs to invoke the tool effectively. For a complex tool, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for all 9 parameters, including detailed descriptions for each. The tool description does not add any additional semantic meaning beyond what is already in the schema—it focuses only on the general action. Since the schema covers parameter meaning and defaults, the description's lack of parameter elaboration is acceptable, hitting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (place) and resource (image or video asset onto a BlitzReels project timeline), with an explicit mention of B-roll and static images. This distinguishes it from sibling tools like timeline_audio_add, add_text_overlay, and add_transition, which serve different media types. The verb and target are unambiguous, making the purpose immediately clear to an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the primary use case—adding media to a timeline—but does not explicitly contrast it with alternatives or mention when not to use it. It does not reference sibling tools or state conditions like 'for text use add_text_overlay.' The mention of 'including B-roll and static images' hints at scope but lacks exclusion or alternative routing. This is adequate but leaves the agent to infer when this is the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_timeline_clipUpdate Timeline ClipAIdempotentInspect
Update one timeline item's start, duration, trim, layer, ignored state, or blurred background. Provide at least one field to update besides timelineItemId.
| Name | Required | Description | Default |
|---|---|---|---|
| ignored | No | ||
| projectId | Yes | UUID string. | |
| layerIndex | No | ||
| startSeconds | No | ||
| idempotencyKey | Yes | Retry key. Reuse only with identical inputs. | |
| timelineItemId | Yes | ||
| trimEndSeconds | No | ||
| durationSeconds | No | ||
| expectedRevision | No | Expected sequence revision, or null. | |
| trimStartSeconds | No | ||
| blurredBackground | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| txid | Yes | |
| result | Yes | |
| replayed | Yes | |
| revision | Yes | |
| warnings | Yes | |
| projectId | Yes | |
| operationId | Yes | |
| baseRevision | Yes | |
| mutationReceipt | Yes | |
| createdTimelineItemIds | Yes | |
| deletedTimelineItemIds | Yes | |
| affectedTimelineItemIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds the constraint about providing at least one field, but no additional behavioral traits like return formats or revision checking. It is consistent with annotations but does not go beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and followed by a necessary usage constraint. Every word earns its place, and it is appropriately compact for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 11-parameter schema and output schema presence, the description covers the key functional fields and distinguishes from similar tools. It omits explicit guidance on when to use this tool versus batch_update_timeline_clips, but the 'one' qualifier mitigates this. Overall, it is sufficiently complete for a concise tool description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27%, but the description names several updatable fields (start, duration, trim, layer, ignored state, blurred background), providing some semantic guidance. It does not elaborate on parameter-specific details like the meaning of trimStart vs trimEnd or expectedRevision, leaving a gap for 8 undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and the resource ('one timeline item'), and lists specific attributes ('start, duration, trim, layer, ignored state, or blurred background'). It distinguishes from the sibling 'batch_update_timeline_clips' by emphasizing 'one' timeline item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for single-item updates by saying 'one timeline item' and provides a key prerequisite: 'Provide at least one field to update besides timelineItemId.' It does not explicitly name alternatives or exclusions, but the sibling tool name suggests batch usage, making the context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_assets_approveApprove Previews and Produce VideoADestructiveIdempotentInspect
After the user approves the generated previews and animation cost, confirmApproved=true starts scene animation, narration and editable timeline assembly. Can replace the project's generated timeline and spend existing credits. Follow the revision and then export the finished project.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | UUID string. | |
| revisionId | Yes | ||
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| confirmApproved | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations marking this as destructive and open-world, the description adds concrete behavioral details: it can replace the project's generated timeline and spend existing credits, and it starts animation, narration and timeline assembly. It does not discuss idempotency or return behavior, but it goes meaningfully beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the approval prerequisite and effect, with no obvious filler. 'Follow the revision and then export' is slightly vague but still earns its place as workflow guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, credit-spending production tool with rich annotations and an output schema, the description covers prerequisite, side effects and next step. It is only incomplete on parameter details, which the low schema coverage leaves partly unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, and the description only clarifies confirmApproved (must be true) while leaving workspaceId, idempotencyKey, projectId and revisionId without added meaning. 'Follow the revision' is too vague to compensate for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description specifies the trigger (user approves previews and animation cost) and the resulting action (starts scene animation, narration, editable timeline assembly), making the tool's purpose clear. It does not distinguish itself from sibling approval or generation tools such as video_storyboard_approve or generation_video_create, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the prerequisite condition ('After the user approves...') and indicates the next workflow step ('then export the finished project'), giving clear context for invocation. It does not exclude alternatives or name a competing tool, so it is a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_feedback_saveSave Video Quality FeedbackADestructiveIdempotentInspect
Save the user's 1-5 rating and optional quality category/comment against one completed playable video export. Replaces that user's previous feedback for this export; does not change accepted clips or defaults. Requires the feedback storage migration to be installed.
| Name | Required | Description | Default |
|---|---|---|---|
| rating | Yes | ||
| comment | Yes | ||
| category | Yes | ||
| exportId | Yes | UUID string. | |
| workspaceId | Yes | ||
| idempotencyKey | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, but the description goes further by explaining the destructive scope (replaces that user's previous feedback only, not accepted clips or defaults) and a real prerequisite (the feedback storage migration must be installed). This is meaningful context beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action, then the mutation scope, then the prerequisite. No filler and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the annotations plus description together cover safety, scope of mutation, and prerequisites. The gaps are the undocumented workspaceId/idempotencyKey parameters and the optional/required mismatch on category and comment.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17%, so the description must carry weight. It adds the 1-5 rating range and the nature of category/comment, but says nothing about workspaceId or idempotencyKey, and it calls category/comment optional while the schema marks both as required (category nullable). Baseline 3 reflects partial compensation for a sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Save) and resource (the user's 1-5 rating and optional quality category/comment) scoped to one completed playable video export. This is unambiguous and no sibling tool covers feedback capture, so it is easily distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes the precondition (one completed playable video export) and clarifies the effect (replaces that user's previous feedback, does not change accepted clips or defaults). It stops short of naming when a caller would prefer a different tool, but no obvious alternative exists in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_storyboard_approveApprove Storyboard PreviewsADestructiveIdempotentInspect
After showing the storyboard and its credit estimate, confirmApproved=true starts production of reference images and scene keyframes. Spends existing credits. This stage produces reviewable previews, not animated videos.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | UUID string. | |
| revisionId | Yes | ||
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| confirmApproved | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so safety and retry semantics are covered structurally. The description adds the critical side effect that this spends existing credits and clarifies the output is previews rather than finished video, which is real behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, no filler, and the trigger condition and cost warning are front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. The description covers the preconditions, cost, and output nature; the only notable gap is guidance on the idempotencyKey for safe retries on this destructive, costly operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, so the schema does not carry the burden. The description usefully explains the confirmApproved gate (must be true to start production), but says nothing about workspaceId, projectId, revisionId, or the idempotencyKey's role despite idempotentHint being set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (approve/start production) plus the concrete resources it produces: reference images and scene keyframes. It also disambiguates against video-generation siblings by stating this stage 'produces reviewable previews, not animated videos.' An agent can distinguish it from video_storyboard_create and video_assets_approve without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition: use it after the storyboard and its credit estimate have been shown, with confirmApproved=true. It does not name an explicit alternative tool or state exclusions, but the gating condition is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_storyboard_asset_regenerateRegenerate Selected Storyboard PreviewADestructiveIdempotentInspect
Replace the identified preview after user approval of the new credit cost. A scene_keyframe changes one keyframe; a character_anchor refreshes its dependent keyframes; a style_anchor refreshes every keyframe. Preserves unaffected previews. Does not regenerate an already finished video shot.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | UUID string. | |
| asset_type | Yes | style_anchor regenerates the shared style reference and every keyframe; character_anchor requires character_id and refreshes dependent keyframes; scene_keyframe requires scene_index. | |
| revisionId | Yes | ||
| scene_index | No | ||
| workspaceId | Yes | ||
| character_id | No | ||
| idempotencyKey | Yes | ||
| confirmRegeneration | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=true, but the description goes further by quantifying blast radius per asset_type ('refreshes every keyframe' vs 'one keyframe') and by stating unaffected previews are preserved, which directly bounds the destruction. It omits auth/permission requirements and whether regeneration is synchronous or a long-running job.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and its approval gate, then the asset-type table in prose, then the exclusion. Every sentence earns its place, though the bare parameter-name phrasing ('A scene_keyframe changes one keyframe') reads slightly clipped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. The description supplies the missing blast-radius and approval-gate context, leaving only minor gaps around async completion behavior and permission requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% across 8 parameters, so the description carries real weight. It usefully interprets asset_type values in terms of downstream effects, but it says nothing about the required idempotencyKey, confirmRegeneration=true (the approval gate it alludes to), or the conditional scene_index/character_id pairing. Partial compensation warrants a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (replace/regenerate) plus a clearly bounded resource (an individual storyboard preview), with the per-asset-type behavior spelled out so the agent knows what unit is being replaced. It separates scene_keyframe (one keyframe), character_anchor (dependent keyframes), and style_anchor (all keyframes) crisply. No sibling is named, so it stops short of the 5-level sibling differentiation bar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition ('after user approval of the new credit cost') and an explicit exclusion ('Does not regenerate an already finished video shot'), which tells the agent when not to call it. It never names an alternative action (e.g., video_storyboard_revise or video_storyboard_approve), so the routing decision against siblings remains inferential.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_storyboard_createPlan an Approved Video ScriptAIdempotentInspect
Create a vertical video storyboard for the user-approved script in an existing project. Spends planning credits; returns scene narration, factual review notes, references and the production credit estimate. Does not generate images or animate video. Existing account access applies.
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | ||
| voice_id | No | ||
| projectId | Yes | UUID string. | |
| series_id | No | ||
| video_model | No | ||
| workspaceId | Yes | ||
| story_kit_id | No | ||
| visual_style | No | ||
| character_ids | No | ||
| idempotencyKey | Yes | ||
| image_model_id | No | ||
| caption_style_id | No | ||
| include_captions | No | ||
| planner_model_id | No | ||
| confirmScriptApproved | Yes | ||
| generate_sound_effects | No | ||
| target_duration_seconds | No | ||
| generate_background_music | No | ||
| style_reference_asset_ids | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare write, open-world, idempotent, non-destructive; the description adds genuinely non-structured context: it consumes planning credits, returns specific artifacts (narration, factual review notes, references, credit estimate), and confirms it does not render media. That credit-spend disclosure is the kind of behavior an agent needs before committing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core action and followed by cost/return/scope notes in a sensible order. 'Existing account access applies' is boilerplate and the weakest line, but overall there is little waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The behavior is well covered (purpose, credit cost, scope, and output schema makes return values self-documenting). However, for a 19-parameter tool with near-zero schema description coverage, the description leaves the caller without guidance on most inputs, which is the primary gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 19 parameters and only 5% schema description coverage, the description carries the burden but adds almost nothing: it loosely implies 'script' and 'project' and gestures at 'confirmScriptApproved' via 'user-approved'. Parameters like voice_id, video_model, story_kit_id, visual_style, character_ids, caption_style_id and the model IDs are entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a vertical video storyboard') scoped to an approved script in an existing project, and the negative clause 'does not generate images or animate video' separates it from the generation_* tools. It stops short of naming sibling storyboard tools (get/revise/approve), so it does not fully differentiate the family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear preconditions are given: the script must be user-approved and the project must already exist, establishing when this tool is appropriate. It excludes adjacent behavior ('does not generate images or animate video') but does not point to a specific alternative tool for modifying or reading a storyboard once created.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_storyboard_getReview Video StoryboardARead-onlyIdempotentInspect
Read one authorized storyboard revision, its scene and reference previews, estimate, approvals and bounded polling guidance. Refreshes signed previews. Complete means the editable timeline is assembled; use exports_start and exports_list for a downloadable MP4.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | UUID string. | |
| revisionId | Yes | ||
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so safety is covered. The description adds traits the annotations do not: signed previews get refreshed on read, polling should be bounded, and access requires authorization. That is meaningful behavioral context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with little waste; purpose comes first, then behavioral notes, then sibling routing. 'Complete means the editable timeline is assembled' is compact but slightly cryptic without the surrounding context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required here. The description still covers scope, authorization, polling, and hand-off to export tools, which is nearly everything an agent needs to invoke a simple read correctly; only parameter-level detail is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (projectId has a bare 'UUID string.', revisionId none at all), and the description does not compensate by explaining the identifiers. They are self-explanatory UUIDs and the phrase 'authorized storyboard revision' loosely frames revisionId, but the nullable/defaulted workspaceId is never addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read one authorized storyboard revision') and enumerates what the response covers (scene and reference previews, estimate, approvals). It also distinguishes itself from the write siblings and explicitly routes downloadable-output needs to exports_start/exports_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use: reading a single authorized revision and polling it until the editable timeline is assembled, with exports_start/exports_list named as the alternative for MP4 output. It lacks explicit when-not-to-use guidance versus siblings like video_storyboard_create/revise, but the alternative routing is concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_storyboard_reviseRevise Selected Storyboard ScenesAIdempotentInspect
Create a new immutable draft from a known revision with selected scene, character or model changes. Preserves other scene definitions; requires review and production approval again. Does not generate media or overwrite an approved revision.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | UUID string. | |
| revisionId | Yes | ||
| video_model | No | ||
| workspaceId | Yes | ||
| scene_updates | No | ||
| idempotencyKey | Yes | ||
| image_model_id | No | ||
| character_updates | No | ||
| style_anchor_prompt | No | Self-contained prompt for the single reference frame that locks rendering medium, palette, lighting, and grain for every scene. No characters, no text, no interfaces. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (mutating, idempotent, non-destructive, closed-world), so the bar is lower. The description adds real workflow context beyond them: results are an immutable draft, other scene definitions are preserved, and the revision must pass review and production approval again. It stops short of explaining how idempotencyKey affects replay behavior, but the added value is genuine.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action, then constraints. No filler and every sentence carries weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be described, and annotations cover safety semantics. The description covers the mutation's downstream workflow implications, which is the main thing an agent needs. Minor gaps remain around parameter-level expectations for a 9-parameter mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22%, so the description must compensate, and it partially does by naming the three change categories (scene, character, model) that map to scene_updates, character_updates, and the model-id params. It says nothing about idempotencyKey, workspaceId/projectId scoping, or the per-item update structures, leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: creating a new immutable draft from a known revision with scene/character/model changes. It also distinguishes itself from a plain storyboard create by emphasizing the revision basis and preservation of other scenes, so an agent can tell it apart from siblings without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives implied when-not boundaries (does not generate media, does not overwrite an approved revision), which steer the agent away from generation and approval flows. However, it never names the alternative tools (e.g. video_storyboard_create, video_storyboard_asset_regenerate, generation_*) or states the positive condition for choosing this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
visuals_applyApply visual presetsAIdempotentInspect
Create or update up to 20 visual blocks in one call after edit timing is settled. Presets: broll-headline, steps, quote, end-screen, key-number, before-after, screenshot-focus, chapter. IDs are scoped to the project; repeating an ID updates it. Asset IDs must belong to the workspace. Atomic, undoable; dryRun validates without writing. Returns IDs and revision. No generation pass.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Supply only the fields for the selected preset. | |
| dryRun | Yes | ||
| projectId | Yes | UUID string. | |
| idempotencyKey | Yes | ||
| expectedRevision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| dryRun | Yes | |
| success | Yes | |
| replayed | Yes | |
| revision | Yes | |
| warnings | Yes | |
| mutationReceiptId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds critical behavioral details beyond the annotations. It clearly states the operation is 'Atomic, undoable', explaining the transaction semantics. It also explains the 'dryRun' parameter as a validation-only mode, and 'expectedRevision' as an optimistic concurrency control. The idempotency is also disclosed: 'repeating an ID updates it', which aligns with the idempotentHint. These details provide the agent with a full understanding of the tool's safety and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly compact and informative. In just a few sentences it covers the core function, limits, presets, update semantics, asset scoping, atomicity, undoability, dry run, and the absence of a generation pass. It is front-loaded with the most critical info (limit and timing) and avoids redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (multiple presets, conditional required fields, nested objects in the items array), the description is remarkably complete. The output schema is present, so the return values are covered externally. The description provides essential operational context: when to call, what it does, its safety properties, and its non-generation scope. Additional per-preset field mapping would be nice but is arguably beyond the description's scope; the schema already provides that detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers only 40% of parameters in descriptions, so the description must compensate. It does not explain every parameter, but it does clarify the 'dryRun' semantics (validates without writing) and the revision/expectedRevision behavior. It also clarifies 'items' as a list of visual blocks. The core behavioral parameters are explained, which is a strong compensation for the schema's gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb ('Create or update'), a definite resource ('visual blocks'), a concrete limit ('up to 20'), and lists the exact presets. It also emphasizes that IDs are scoped to the project and that repeating an ID updates it, which distinguishes it from tools that create new items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states WHEN to use this tool: 'after edit timing is settled'. It names the presets and clarifies that asset IDs must belong to the workspace. It also clearly signals a non-use case with 'No generation pass', telling agents this is not for generating content, which is a clear exclusion. Alternatives are not named, but the context is strong enough to differentiate from many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_runs_createCreate Workflow RunBInspect
Create an interactive workflow run from a workflow and optional inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | No | Optional workflow input values. Omit to use workflow defaults. | |
| projectId | No | Optional project ID for workflows that operate on an existing project. UUID string. | |
| workflowId | Yes | Workflow ID to run. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
All annotations are negated hints (readOnly=false, destructive=false), so the description carries the burden of behavioral disclosure. It only adds the ambiguous term 'interactive' without explaining lifecycle, blocking behavior, or prerequisites, which is insufficient for a create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single 10-word sentence that is front-loaded with the verb and contains zero filler. It communicates the core action efficiently without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and parameter descriptions cover return values and inputs well. However, the description fails to explain the 'interactive run' concept and its relationship to workflow_runs_execute_step, which is essential context for a moderately complex tool with nested object inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear per-parameter descriptions, so the baseline applies. The tool description mentions 'workflow and optional inputs' but adds no semantics beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and resource ('interactive workflow run'), which clearly distinguishes it from siblings like workflow_runs_get and workflow_runs_execute_step. However, the term 'interactive' is not elaborated, leaving some ambiguity about what makes this run type distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as workflow_runs_execute_step, nor does it explain when an interactive run is appropriate. No exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_runs_execute_stepExecute Workflow Run StepAInspect
Execute one pending workflow run step and return updated run status.
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes | Workflow run ID. UUID string. | |
| stepRunId | Yes | Step run ID from workflow_runs_create or workflow_runs_get. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run | Yes | |
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only, non-idempotent action, so it is understood to mutate state. The description adds the 'pending' constraint and that it returns updated status, but does not disclose side effects, failure behavior, or consequences of re-execution. Given the low annotation information, the description carries much of the burden and only partially meets it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that places the verb and object first, with no redundant information. Every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two well-documented parameters, an output schema present, and a straightforward action, the description provides sufficient context for a tool of this complexity. It lacks detail on state prerequisites or error handling, but these are partially mitigated by the output schema and the 'pending' qualifier.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (runId and stepRunId), each described as UUID strings with context. The description adds no parameter-specific meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Execute'), the specific resource ('one pending workflow run step'), and the outcome ('return updated run status'). This distinguishes it from sibling tools like workflow_runs_get (which retrieves) and workflow_runs_create (which creates a run).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is for executing a pending step, implying it should be used when a run has steps ready to advance. It does not explicitly mention alternatives or exclusions, but the scope is unambiguous given the tool name and sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_runs_getGet Workflow RunARead-onlyIdempotentInspect
Get workflow run status, step statuses, outputs, warnings, and dashboard URL.
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes | Workflow run ID. UUID string. | |
| stepLimit | No | Maximum workflow run steps to return (1-100). | |
| stepOffset | No | Workflow run step offset. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the read-only, idempotent, non-destructive nature. The description adds context by specifying the response contents (status, step statuses, outputs, warnings, dashboard URL), which is valuable beyond the structured annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that lists exactly what the tool returns with zero wasted words. It is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, annotations covering safety, and a fully described parameter schema, the description is sufficient. It covers the core purpose and response scope without needing to duplicate structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all parameters described. The description mentions 'step statuses' but does not directly map to stepLimit/stepOffset; however, the schema already documents these parameters thoroughly, so the description adds no significant semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with a clear resource ('workflow run') and enumerates exactly what is returned (status, step statuses, outputs, warnings, dashboard URL). This distinguishes it from sibling tools like workflow_runs_create or workflow_runs_execute_step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for retrieving workflow run details, and the sibling tool names (create, execute_step) make the context unambiguous. However, it does not explicitly state when not to use it or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflows_getGet WorkflowARead-onlyIdempotentInspect
Get a workflow definition, input schema, defaults, and ordered steps.
| Name | Required | Description | Default |
|---|---|---|---|
| stepLimit | No | Maximum workflow steps to return (1-100). | |
| stepOffset | No | Workflow step offset. | |
| workflowId | Yes | Workflow ID. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| workflow | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds 'ordered steps' as return content but does not disclose additional behavioral traits like pagination limits or error conditions, which would be useful context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, front-loaded with the verb 'Get' and resource. Every word adds value, with no repetition of schema details or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema, full parameter coverage, and comprehensive annotations, the description is sufficiently complete for a get operation. It captures the core return value (workflow definition, input schema, defaults, ordered steps) and does not leave major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters (workflowId, stepLimit, stepOffset) already documented. The description does not add parameter-level meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a workflow definition, input schema, defaults, and ordered steps, which is specific and distinct from just listing workflows. However, it does not explicitly differentiate from sibling tools like workflows_list or workflow_runs_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as workflows_list or workflow_runs_get. There is no mention of typical use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflows_importImport WorkflowAInspect
Import a public BlitzReels workflow into the user's workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| workflowId | Yes | Public workflow ID to import. UUID string. | |
| workspaceId | No | Optional target workspace ID. Defaults to the user's default workspace. UUID string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| workflow | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no safety hints (readOnlyHint=false, destructiveHint=false), so the description carries full responsibility for behavioral disclosure. It only states 'Import' without explaining side effects, idempotency, permission requirements, or outcomes on duplicate imports, leaving significant ambiguity for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that conveys the essential action without redundancy. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, output schema present), the description is adequately complete for selection and invocation. It does not explain behavioral nuances like idempotency or error cases, which are not covered by the output schema, but the core usage context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and clearly explains both workflowId and workspaceId, including their types and defaults. The description adds no parameter-specific insight beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Import'), the object ('a public BlitzReels workflow'), and the destination ('into the user's workspace'). This distinguishes it from read-only siblings like workflows_get and workflows_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is clear: to bring a public workflow into the user's workspace. However, the description does not explicitly mention alternatives or exclusions, such as using workflows_get to inspect before importing, though the context is sufficient for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflows_listList WorkflowsARead-onlyIdempotentInspect
List public BlitzReels workflows that can be imported into a workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum workflows to return (1-50). | |
| offset | No | Pagination offset. | |
| search | No | Optional search query for workflow name or description. | |
| trigger | No | Optional trigger filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bounds | Yes | |
| workflows | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds the scope that only public workflows are listed and that they are importable, which is useful context beyond the annotations. However, it does not disclose pagination behavior, response structure, or any filtering nuances beyond the schema, so the added value is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence. It states the subject, action, and key qualifier ('public', 'can be imported') without wasted words or redundancy. It is front-loaded and immediately comprehensible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with four optional parameters, full schema descriptions, and a safety profile covered by annotations, the description is sufficiently complete. It clarifies that these are public workflows intended for import, which is the key context for using the tool. The presence of an output schema further reduces the need to describe return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage, with each parameter (limit, offset, search, trigger) having a clear description. The tool description itself does not add parameter-level guidance, but the schema already does the heavy lifting, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (List), the resource (public BlitzReels workflows), and the purpose/capability (can be imported into a workspace). It distinguishes from sibling tools like workflows_get (retrieves a single workflow) and workflows_import (performs the import), making it obvious this is a discovery/browsing endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: finding public workflows to import. It does not explicitly name alternatives or provide when-not-to-use guidance, but the context is clear and the sibling tool names (workflows_import, workflows_get) subtly signal the workflow lifecycle. No exclusions are mentioned, but for a simple list operation this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspace_brand_scanInspect Supplied Business WebsiteBDestructiveIdempotentInspect
Start extracting a brand profile from the exact website the user supplied and authorized to scan. Saves a draft profile for review; does not apply discovered fields to existing videos. Can spend existing account credits.
| Name | Required | Description | Default |
|---|---|---|---|
| websiteUrl | Yes | ||
| workspaceId | Yes | ||
| idempotencyKey | Yes | ||
| confirmAuthorizedToScan | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare non-read-only, destructive, idempotent, open-world behavior, and the description adds meaningful context beyond them: a draft is saved for review, discovered fields are NOT applied to existing videos, and account credits may be consumed. This clarifies the real cost and side-effect profile, though it leaves the idempotency mechanism (idempotencyKey) unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences — purpose first, then side effects, then cost — with no filler. It is efficient, though the side-effect and cost clauses could be slightly tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description does cover purpose, side effects, and cost. But for a 4-required-parameter mutation with 0% schema coverage, the omission of idempotency and workspace scoping leaves the definition incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, yet it only loosely gestures at websiteUrl ('the exact website the user supplied') and confirmAuthorizedToScan ('authorized to scan'). Neither idempotencyKey nor workspaceId is explained at all, leaving two of four required parameters opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'extracting a brand profile from the exact website' — and its 'Start...' framing hints at the async companion workspace_brand_scan_get, though it never names that sibling. An agent can identify the operation clearly but must infer the get/start pairing from the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys the precondition that the website must be 'supplied and authorized' by the user, which frames when the tool is appropriate. However, it never states when NOT to use it or points to workspace_brand_scan_get for retrieving the resulting profile, so routing is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspace_brand_scan_getRead Website Brand DraftBRead-onlyIdempotentInspect
Read one authorized website extraction run and its draft business profile. Show the extracted fields to the user for review before saving them as defaults.
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes | UUID string. | |
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds two useful pieces of context beyond that: the run must be "authorized" and the draft should not be auto-persisted, but it says nothing about pagination, freshness, or what happens when the run is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the read operation stated before the follow-up consumer instruction. It is appropriately sized for a simple lookup; the only minor cost is that the second sentence mixes behavioral guidance into what reads like a purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose, and the description correctly points at the draft business profile. What is missing is the anchor for the two required IDs and any link to the sibling that creates the run, which an agent needs in order to sequence calls correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Coverage is 50% and the only schema text is the useless "UUID string."; workspaceId has no description at all. The description refers to "one authorized website extraction run" but never explains what runId identifies, what workspaceId scopes, or where either value is obtained (e.g., from workspace_brand_scan output).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Read) and a specific resource (one authorized website extraction run plus its draft business profile), which is far more than a restatement of the name. It stops short of naming the sibling that produces the run (workspace_brand_scan), so the read-vs-create relationship must be inferred from the name pair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Show the extracted fields to the user for review before saving them as defaults" implies the intended place in the workflow (retrieve draft, human reviews, then persist). However, it never says when to call this versus workspace_brand_scan or workspace_context_get/save, and gives no prerequisites such as the run needing to have finished.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspace_context_getRead Business ContextBRead-onlyIdempotentInspect
Read the selected workspace's business audience, offer, reviewed brand defaults, protected vocabulary, editorial purpose, language, avoided terms, pronunciation notes and existing account entitlements. Returns current export quality and watermark constraints without pricing or upgrade links.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful constraint about what is NOT returned ('without pricing or upgrade links') and mentions 'current export quality and watermark constraints', but omits auth/permission needs and the meaning of the nullable workspaceId default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the verb and resource, and the long field enumeration is purposeful rather than filler. The second sentence about export quality/watermark constraints is well-placed, though the field list is somewhat verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with an output schema and full annotation coverage, the return shape is adequately covered by the output schema, so the description need not restate fields. The remaining gap is the unexplained nullable workspaceId and absent usage routing, which is minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 0% schema description coverage, so the description must carry the load. It implies scope via 'the selected workspace's', but never explains workspaceId itself nor what happens when it is null (the schema default), leaving the nullable behavior undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('the selected workspace's business context') and enumerates the exact fields returned, so the agent knows precisely what it fetches. It contrasts implicitly with the save sibling via 'Read', but no sibling is named explicitly, which keeps it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no exclusion criteria, and does not mention the alternative workspace_context_save or workspace_brand_scan. An agent must infer that this is the read counterpart to save purely from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspace_context_saveSave Reviewed Business ContextADestructiveIdempotentInspect
Save the user-reviewed business name, audience, offer, conversion goal, tone, protected vocabulary and editorial preferences for the selected workspace. Requires workspace settings permission and confirmReviewed=true; changes future assistant guidance, preserving existing projects. Pronunciation notes guide script drafting; they do not retime or replace source speech.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | Yes | ||
| offer | Yes | ||
| audience | Yes | ||
| brandName | Yes | ||
| workspaceId | Yes | ||
| conversionGoal | Yes | ||
| idempotencyKey | Yes | ||
| protectedWords | Yes | ||
| confirmReviewed | Yes | ||
| editorialPreferences | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is partly covered. The description adds value beyond them: it requires workspace settings permission, mandates confirmReviewed=true, states that existing projects are preserved despite the destructive hint, and scopes pronunciation notes as drafting-only guidance that does not retime or replace source speech.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, front-loaded clauses with no filler: what is saved, the gating requirements, then the behavioral consequence and a boundary on pronunciation notes. The last clause is arguably peripheral but does prevent a plausible misuse, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description still covers permission requirements, the review confirmation gate, the destructive-but-project-preserving behavior, and the scope limit on pronunciation notes. The missing piece is idempotencyKey semantics for a non-idempotent-looking 10-required-param write.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 required parameters, so the description must compensate. It names most content fields (brand name, audience, offer, conversion goal, tone, protected vocabulary, editorial preferences with pronunciation notes) and confirms confirmReviewed. However, idempotencyKey — a required, agent-generated parameter — is never mentioned, nor are format constraints or the enum values inside editorialPreferences.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Save') plus a concrete resource enumerated field-by-field (business name, audience, offer, conversion goal, tone, protected vocabulary, editorial preferences), scoped to 'the selected workspace'. It is unmistakably a write counterpart to workspace_context_get, but it never names that sibling explicitly, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real preconditions: the content must be 'user-reviewed', the caller needs workspace settings permission, and confirmReviewed=true is mandatory. It also frames the downstream effect ('changes future assistant guidance, preserving existing projects'), which tells the agent when this is the right tool. It stops short of naming the get/scan siblings the agent should read from first or describing a re-save/update workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_listList WorkspacesBRead-onlyIdempotentInspect
List bounded workspaces the connected user belongs to, with their role and default workspace. Selecting a workspace for the task does not change account defaults.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| offset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely non-redundant context: what each result contains (role, default workspace) and the important caveat that choosing a workspace for a task does not alter account defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with what is listed and what is returned. The second sentence is slightly tangential but earns its place by preempting a likely misreading about side effects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation isn't required, and the description covers the shape of results at a high level. However, pagination semantics for the two required parameters are covered nowhere, leaving a real gap for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both limit and offset are required, yet the description says nothing about pagination, page size bounds (max 50), or how to page through results. For a 2-parameter paginated list, the description should compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (list workspaces) and adds scope detail: only workspaces the connected user belongs to, returned with role and default workspace. It's clearly distinct from sibling list tools like projects_list or media_folders_list, though it doesn't explicitly name a counterpart it could be confused with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus looking up a single workspace (e.g., workspace_context_get), nor prerequisites. The sentence about selecting a workspace not changing account defaults is a side-effect clarification, not a when-to-use statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
49 tool updates
- Added
captions_look_apply - Added
captions_source_prepare - Added
captions_words_correct - Added
captions_words_list - Added
clip_share_get - Added
clip_share_publish - Added
clip_share_unpublish - Added
clip_share_visibility_set - Added
clips_candidates_list - Changed
clips_create10 fields changed- changed
Input schema / properties / captionThemeId / descriptionPrevious value: -"Saved theme UUID or built-in caption look. Omitted inherits Series defaults; null uses workspace captions. UUID string."New value: +"Saved theme UUID or built-in caption look. Omitted inherits Series defaults; null uses workspace captions." - removed
Input schema / properties / captionThemeId / formatRemoved value: -"uuid" - added
Input schema / properties / clipCountAdded value: +{ + "description": "Maximum clips requested. Available source moments and account limits can yield fewer.", + "maximum": 50, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / durationBoundsAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "maxSeconds": { + "maximum": 180, + "minimum": 1, + "type": [ + "number", + "null" + ] + }, + "minSeconds": { + "maximum": 180, + "minimum": 1, + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "minSeconds", + "maxSeconds" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Requested clip duration bounds. Selection preserves complete moments; minimum cannot exceed maximum." +} - added
Input schema / properties / selectedAudioLanguageAdded value: +{ + "description": "Audio language track for a social-video URL, using the language reported by media_import_inspect. Null uses source default. Existing assets and direct files preserve source audio.", + "maxLength": 40, + "minLength": 2, + "type": "string" +} - added
Input schema / properties / selectionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "excludeIds": { + "items": { + "type": "string" + }, + "maxItems": 50, + "type": "array", + "uniqueItems": true + }, + "includeIds": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "includeIds", + "excludeIds" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Existing asset only: reviewed candidate IDs to include in order or exclude. Resolve IDs with clips_candidates_list first. Null delegates selection." +} - removed
Output schema / properties / batch / properties / polling / properties / suggestedTool / constRemoved value: -"clips_get" - added
Output schema / properties / batch / properties / polling / properties / suggestedTool / enumAdded value: +[ + "clips_get", + "clips_status_get" +] - removed
Output schema / properties / result / properties / batch / properties / polling / properties / suggestedTool / constRemoved value: -"clips_get" - added
Output schema / properties / result / properties / batch / properties / polling / properties / suggestedTool / enumAdded value: +[ + "clips_get", + "clips_status_get" +]
- Added
clips_export - Changed
clips_get2 fields changed- removed
Output schema / properties / batch / properties / polling / properties / suggestedTool / constRemoved value: -"clips_get" - added
Output schema / properties / batch / properties / polling / properties / suggestedTool / enumAdded value: +[ + "clips_get", + "clips_status_get" +]
- Added
clips_inspect - Added
clips_list - Added
clips_recover - Added
clips_repair - Added
clips_reselect - Added
clips_status_get - Added
content_performance_list - Added
editor_asset_replace - Added
editor_assets_insert - Added
editor_audio_set - Added
editor_crop_set - Added
editor_edit_undo - Added
editor_history_list - Added
editor_items_move - Added
editor_items_remove - Added
editor_snapshot_get - Added
editor_text_set - Added
exports_caption_track_get - Changed
projects_list1 field changed- changed
Output schema / properties / projects / items / properties / status / enumPrevious value: -[ - "ready", - "exporting", - "needs_captions", - "processing" -]New value: +[ + "ready", + "exporting", + "needs_captions", + "processing", + "failed" +]
- Added
recording_sets_clips_create - Added
recording_sets_create - Added
recording_sets_finalize - Added
recording_sets_get - Added
recording_sets_list - Added
recording_sets_track_attach - Added
video_assets_approve - Added
video_feedback_save - Added
video_storyboard_approve - Added
video_storyboard_asset_regenerate - Added
video_storyboard_create - Added
video_storyboard_get - Added
video_storyboard_revise - Added
workspace_brand_scan - Added
workspace_brand_scan_get - Added
workspace_context_get - Added
workspace_context_save - Added
workspaces_list
2 tool updates
- Changed
generation_faceless_create1 field changed- changed
Input schema / properties / videoModel / enumPrevious value: -[ - "seedance-2.5-edit", - "kling-o3-standard-edit", - "kling-o3-pro-edit", - "kling-v3-standard-motion-control", - "kling-v3-pro-motion-control", - "wan-2.2-animate-replace", - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "minimax-h3-max", - "luma-ray-2", - "luma-ray-3.2", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash-ref2v", - "gemini-omni-flash-edit", - "gemini-omni-flash", - "wan-2.7", - "wan-2.7-ref2v", - "wan-3.0", - "happy-horse", - "happy-horse-ref2v", - "pixverse-v6", - "grok-imagine", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-1.5-pro", - "seedance-1.0-pro", - "seedance-1.0-pro-fast", - "seedance-1.0-lite", - "seedance-1.0-lite-ref2v", - "ltx-2-19b", - "ltx-2-19b-distilled", - "ltx-2.3", - "ltx-2.3-fast" -]New value: +[ + "seedance-2.5-edit", + "kling-o3-standard-edit", + "kling-o3-pro-edit", + "kling-v3-standard-motion-control", + "kling-v3-pro-motion-control", + "wan-2.2-animate-replace", + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash-ref2v", + "gemini-omni-flash-edit", + "gemini-omni-flash", + "wan-2.7", + "wan-2.7-ref2v", + "wan-3.0", + "happy-horse", + "happy-horse-ref2v", + "pixverse-v6", + "grok-imagine", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-1.5-pro", + "seedance-1.0-pro", + "seedance-1.0-pro-fast", + "seedance-1.0-lite", + "seedance-1.0-lite-ref2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2.3", + "ltx-2.3-fast" +]
- Changed
generation_video_create1 field changed- changed
Input schema / properties / model / enumPrevious value: -[ - "seedance-2.5-edit", - "kling-o3-standard-edit", - "kling-o3-pro-edit", - "kling-v3-standard-motion-control", - "kling-v3-pro-motion-control", - "wan-2.2-animate-replace", - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "minimax-h3-max", - "luma-ray-2", - "luma-ray-3.2", - "minimax-hailuo-2.3-pro-t2v", - "minimax-h3-max-t2v", - "luma-ray-3.2-t2v", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash-ref2v", - "gemini-omni-flash-edit", - "gemini-omni-flash", - "veo3-fast", - "gemini-omni-flash-t2v", - "wan-2.1", - "wan-2.7", - "wan-2.7-ref2v", - "wan-2.7-t2v", - "wan-3.0", - "wan-3.0-t2v", - "happy-horse", - "happy-horse-ref2v", - "happy-horse-t2v", - "pixverse-v6", - "pixverse-v6-t2v", - "krea-wan-14b-t2v", - "grok-imagine", - "grok-imagine-t2v", - "sora-2-t2v", - "sora-2-pro-t2v", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-2.0-pro-t2v", - "seedance-2.5-t2v", - "seedance-2.0-pro-fast-t2v", - "seedance-1.5-pro", - "seedance-1.5-pro-t2v", - "seedance-1.0-pro", - "seedance-1.0-pro-t2v", - "seedance-1.0-pro-fast", - "seedance-1.0-pro-fast-t2v", - "seedance-1.0-lite", - "seedance-1.0-lite-t2v", - "seedance-1.0-lite-ref2v", - "kling-o3-standard-t2v", - "kling-o3-pro-t2v", - "kling-v3-standard-t2v", - "kling-v3-pro-t2v", - "ltx-2-19b", - "ltx-2-19b-distilled", - "ltx-2.3", - "ltx-2.3-fast", - "ltx-2-19b-t2v", - "ltx-2-19b-distilled-t2v", - "ltx-2.3-t2v", - "ltx-2.3-fast-t2v" -]New value: +[ + "seedance-2.5-edit", + "kling-o3-standard-edit", + "kling-o3-pro-edit", + "kling-v3-standard-motion-control", + "kling-v3-pro-motion-control", + "wan-2.2-animate-replace", + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "minimax-hailuo-2.3-pro-t2v", + "minimax-h3-max-t2v", + "luma-ray-3.2-t2v", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash-ref2v", + "gemini-omni-flash-edit", + "gemini-omni-flash", + "veo3-fast", + "gemini-omni-flash-t2v", + "wan-2.1", + "wan-2.7", + "wan-2.7-ref2v", + "wan-2.7-t2v", + "wan-3.0", + "wan-3.0-t2v", + "happy-horse", + "happy-horse-ref2v", + "happy-horse-t2v", + "pixverse-v6", + "pixverse-v6-t2v", + "krea-wan-14b-t2v", + "grok-imagine", + "grok-imagine-t2v", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-2.0-pro-t2v", + "seedance-2.5-t2v", + "seedance-2.0-pro-fast-t2v", + "seedance-1.5-pro", + "seedance-1.5-pro-t2v", + "seedance-1.0-pro", + "seedance-1.0-pro-t2v", + "seedance-1.0-pro-fast", + "seedance-1.0-pro-fast-t2v", + "seedance-1.0-lite", + "seedance-1.0-lite-t2v", + "seedance-1.0-lite-ref2v", + "kling-o3-standard-t2v", + "kling-o3-pro-t2v", + "kling-v3-standard-t2v", + "kling-v3-pro-t2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2.3", + "ltx-2.3-fast", + "ltx-2-19b-t2v", + "ltx-2-19b-distilled-t2v", + "ltx-2.3-t2v", + "ltx-2.3-fast-t2v" +]
3 tool updates
- Changed
clips_create1 field changed- removed
Input schema / properties / confirmRightsToMediaRemoved value: -{ - "default": false, - "description": "Set true only after the user confirms they own the media or have permission to import it. Not needed for an existing BlitzReels asset.", - "type": "boolean" -}
- Changed
media_import_inspect1 field changed- removed
Input schema / properties / confirmRightsToMediaRemoved value: -{ - "default": false, - "description": "Set true only after the user confirms they own the media or have permission to import it.", - "type": "boolean" -}
- Changed
media_import_url1 field changed- removed
Input schema / properties / confirmRightsToMediaRemoved value: -{ - "default": false, - "description": "Set true only after the user confirms they own the media or have permission to import it.", - "type": "boolean" -}
1 tool update
- Added
visuals_apply
2 tool updates
- Changed
clips_get1 field changed- changed
Input schema / properties / batchId / descriptionPrevious value: -"Clip batch ID returned from clips_create. UUID string."New value: +"Clip batch ID. UUID string."
- Changed
media_upload_finish1 field changed- changed
Input schema / properties / storageKey / descriptionPrevious value: -"Storage key returned from media_upload_start"New value: +"Storage key for the uploaded file"
1 tool update
- Changed
generation_video_create2 fields changed- changed
Input schema / properties / model / descriptionPrevious value: -"Video model. Supported durations and text-to-video vs image-to-video differ per model; call generation_options_list first."New value: +"Video model. generation_options_list publishes generation type, source limits, character controls, resolution and pricing for each model." - changed
Input schema / properties / referenceVideoAssetIds / descriptionPrevious value: -"Reference videos: Seedance 2.5 up to 10; Seedance 2.0 ref2v and fast up to 3. See generation_options_list for model-specific support."New value: +"Video transformations require one processed source video. Other reference modes have model-specific counts published by generation_options_list."
3 tool updates
- Changed
generation_faceless_create1 field changed- changed
Input schema / properties / videoModel / enumPrevious value: -[ - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "minimax-h3-max", - "luma-ray-2", - "luma-ray-3.2", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash-ref2v", - "gemini-omni-flash-edit", - "gemini-omni-flash", - "wan-2.7", - "wan-2.7-ref2v", - "wan-3.0", - "happy-horse", - "happy-horse-ref2v", - "pixverse-v6", - "grok-imagine", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-1.5-pro", - "seedance-1.0-pro", - "seedance-1.0-pro-fast", - "seedance-1.0-lite", - "seedance-1.0-lite-ref2v", - "ltx-2-19b", - "ltx-2-19b-distilled", - "ltx-2.3", - "ltx-2.3-fast" -]New value: +[ + "seedance-2.5-edit", + "kling-o3-standard-edit", + "kling-o3-pro-edit", + "kling-v3-standard-motion-control", + "kling-v3-pro-motion-control", + "wan-2.2-animate-replace", + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "sora-2", + "sora-2-pro", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash-ref2v", + "gemini-omni-flash-edit", + "gemini-omni-flash", + "wan-2.7", + "wan-2.7-ref2v", + "wan-3.0", + "happy-horse", + "happy-horse-ref2v", + "pixverse-v6", + "grok-imagine", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-1.5-pro", + "seedance-1.0-pro", + "seedance-1.0-pro-fast", + "seedance-1.0-lite", + "seedance-1.0-lite-ref2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2.3", + "ltx-2.3-fast" +]
- Changed
generation_plan_brief2 fields changed- added
Input schema / properties / rawPromptAdded value: +{ + "description": "Original request. Clone or character-replacement requests select a video transformation brief instead of a new-story plan.", + "maxLength": 5000, + "type": "string" +} - added
Output schema / properties / brief / properties / executionAdded value: +{ + "description": "Source-video operation, model and required assets; null for new-story plans.", + "type": [ + "object", + "null" + ] +}
- Changed
generation_video_create4 fields changed- changed
Input schema / properties / durationSeconds / descriptionPrevious value: -"Choose a value from the selected model's durations_seconds. duration_seconds_min and duration_seconds_max are the bounds of that list, not a continuous range."New value: +"Video transformations inherit the processed source duration and aspect ratio; duration_seconds is not a trim request. Choose a value from the selected model's durations_seconds. duration_seconds_min and duration_seconds_max are the bounds of that list, not a continuous range." - changed
Input schema / properties / model / enumPrevious value: -[ - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "minimax-h3-max", - "luma-ray-2", - "luma-ray-3.2", - "minimax-hailuo-2.3-pro-t2v", - "minimax-h3-max-t2v", - "luma-ray-3.2-t2v", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash-ref2v", - "gemini-omni-flash-edit", - "gemini-omni-flash", - "veo3-fast", - "gemini-omni-flash-t2v", - "wan-2.1", - "wan-2.7", - "wan-2.7-ref2v", - "wan-2.7-t2v", - "wan-3.0", - "wan-3.0-t2v", - "happy-horse", - "happy-horse-ref2v", - "happy-horse-t2v", - "pixverse-v6", - "pixverse-v6-t2v", - "krea-wan-14b-t2v", - "grok-imagine", - "grok-imagine-t2v", - "sora-2-t2v", - "sora-2-pro-t2v", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-2.0-pro-t2v", - "seedance-2.5-t2v", - "seedance-2.0-pro-fast-t2v", - "seedance-1.5-pro", - "seedance-1.5-pro-t2v", - "seedance-1.0-pro", - "seedance-1.0-pro-t2v", - "seedance-1.0-pro-fast", - "seedance-1.0-pro-fast-t2v", - "seedance-1.0-lite", - "seedance-1.0-lite-t2v", - "seedance-1.0-lite-ref2v", - "kling-o3-standard-t2v", - "kling-o3-pro-t2v", - "kling-v3-standard-t2v", - "kling-v3-pro-t2v", - "ltx-2-19b", - "ltx-2-19b-distilled", - "ltx-2.3", - "ltx-2.3-fast", - "ltx-2-19b-t2v", - "ltx-2-19b-distilled-t2v", - "ltx-2.3-t2v", - "ltx-2.3-fast-t2v" -]New value: +[ + "seedance-2.5-edit", + "kling-o3-standard-edit", + "kling-o3-pro-edit", + "kling-v3-standard-motion-control", + "kling-v3-pro-motion-control", + "wan-2.2-animate-replace", + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "minimax-hailuo-2.3-pro-t2v", + "minimax-h3-max-t2v", + "luma-ray-3.2-t2v", + "sora-2", + "sora-2-pro", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash-ref2v", + "gemini-omni-flash-edit", + "gemini-omni-flash", + "veo3-fast", + "gemini-omni-flash-t2v", + "wan-2.1", + "wan-2.7", + "wan-2.7-ref2v", + "wan-2.7-t2v", + "wan-3.0", + "wan-3.0-t2v", + "happy-horse", + "happy-horse-ref2v", + "happy-horse-t2v", + "pixverse-v6", + "pixverse-v6-t2v", + "krea-wan-14b-t2v", + "grok-imagine", + "grok-imagine-t2v", + "sora-2-t2v", + "sora-2-pro-t2v", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-2.0-pro-t2v", + "seedance-2.5-t2v", + "seedance-2.0-pro-fast-t2v", + "seedance-1.5-pro", + "seedance-1.5-pro-t2v", + "seedance-1.0-pro", + "seedance-1.0-pro-t2v", + "seedance-1.0-pro-fast", + "seedance-1.0-pro-fast-t2v", + "seedance-1.0-lite", + "seedance-1.0-lite-t2v", + "seedance-1.0-lite-ref2v", + "kling-o3-standard-t2v", + "kling-o3-pro-t2v", + "kling-v3-standard-t2v", + "kling-v3-pro-t2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2.3", + "ltx-2.3-fast", + "ltx-2-19b-t2v", + "ltx-2-19b-distilled-t2v", + "ltx-2.3-t2v", + "ltx-2.3-fast-t2v" +] - changed
Input schema / properties / referenceVideoAssetIds / descriptionPrevious value: -"Reference videos: Seedance 2.5 up to 10; Seedance 2.0 ref2v and fast up to 3. Other models reject them."New value: +"Reference videos: Seedance 2.5 up to 10; Seedance 2.0 ref2v and fast up to 3. See generation_options_list for model-specific support." - added
Input schema / properties / transformationAdded value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "characterOrientation": { + "default": "video", + "enum": [ + "video", + "image" + ], + "type": "string" + }, + "characters": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "frontalAssetId": { + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" + }, + "referenceAssetIds": { + "default": [], + "items": { + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" + }, + "maxItems": 3, + "type": "array" + }, + "sourceRole": { + "maxLength": 200, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "sourceRole", + "frontalAssetId", + "referenceAssetIds" + ], + "type": "object" + }, + "maxItems": 4, + "type": "array" + }, + "keepOriginalAudio": { + "default": true, + "type": "boolean" + }, + "sourcePersonCount": { + "anyOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "characters", + "sourcePersonCount", + "keepOriginalAudio", + "characterOrientation" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +}
12 tool updates
- Changed
add_text_overlay3 fields changed- added
Input schema / properties / kindAdded value: +{ + "default": "title_card", + "description": "title_card is an opening hook. overlay is generic on-video text.", + "enum": [ + "overlay", + "title_card" + ], + "type": "string" +} - added
Input schema / properties / sizeAdded value: +{ + "default": "default", + "description": "Title-card size. Ignored for overlay.", + "enum": [ + "compact", + "default", + "bold" + ], + "type": "string" +} - added
Input schema / properties / themeAdded value: +{ + "default": "classic_white", + "description": "Title-card look. classic_white is black text on a white card. Ignored for overlay.", + "enum": [ + "classic_white", + "legend_white", + "white_black_outline", + "stacked_black_white", + "red_on_black", + "black_on_yellow", + "red_block" + ], + "type": "string" +}
- Added
carousels_clone - Added
carousels_compile - Added
carousels_expand_recipe - Added
carousels_get - Added
carousels_kit - Added
carousels_migrate - Added
carousels_patch_document - Added
carousels_patch_slide - Added
carousels_preview - Changed
series_content4 fields changed- removed
Output schema / properties / items / items / properties / durationSeconds / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / durationSeconds / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / items / items / properties / thumbnailUrl / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / thumbnailUrl / typeAdded value: +[ + "string", + "null" +]
- Changed
series_list2 fields changed- removed
Output schema / properties / items / items / properties / coverUrl / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / items / items / properties / coverUrl / typeAdded value: +[ + "string", + "null" +]
4 tool updates
- Changed
generation_faceless_create1 field changed- added
Input schema / properties / styleReferenceAssetIdsAdded value: +{ + "default": [], + "description": "Optional stills that lock rendering medium, palette, lighting and texture. Not used as scene frames.", + "items": { + "format": "uuid", + "type": "string" + }, + "maxItems": 10, + "type": "array" +}
- Changed
generation_video_create3 fields changed- changed
Input schema / properties / durationSeconds / descriptionPrevious value: -"Clip length in seconds (2-30). Must be supported by the chosen model."New value: +"Choose a value from the selected model's durations_seconds. duration_seconds_min and duration_seconds_max are the bounds of that list, not a continuous range." - changed
Input schema / properties / endFrameAssetId / descriptionPrevious value: -"Last frame image. Requires a source first frame and a supported model; reference arrays cannot be combined with end frames."New value: +"Last-frame still. Interpolates from the source first frame to this image across the full duration. Requires a source first frame; cannot combine with reference arrays." - changed
Input schema / properties / sourceAssetId / descriptionPrevious value: -"Source image asset ID. Required by image-to-video models."New value: +"First-frame still. Required only when that model's parameters.source_asset_id.required is true. Optional on reference-capable I2V including Seedance 2.5. Text-to-video rejects it. Cannot combine with reference arrays and end_frame_asset_id."
- Added
media_upscale - Added
media_upscale_estimate
1 tool update
- Changed
add_transition1 field changed- changed
Input schema / properties / preset / enumPrevious value: -[ - "flash", - "whip-left", - "whip-right", - "zoom-punch", - "glitch" -]New value: +[ + "flash", + "film-flash", + "whip-left", + "whip-right", + "zoom-punch", + "glitch" +]
2 tool updates
- Changed
generation_faceless_create2 fields changed- changed
Input schema / properties / plannerModelId / defaultPrevious value: -"anthropic/claude-opus-4-6"New value: +"google/gemini-3.8-flash" - changed
Input schema / properties / videoModel / enumPrevious value: -[ - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "minimax-h3-max", - "luma-ray-2", - "luma-ray-3.2", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash", - "wan-2.7", - "wan-2.7-ref2v", - "wan-3.0", - "happy-horse", - "happy-horse-ref2v", - "pixverse-v6", - "grok-imagine", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-1.5-pro", - "seedance-1.0-pro", - "seedance-1.0-pro-fast", - "seedance-1.0-lite", - "seedance-1.0-lite-ref2v", - "ltx-2-19b", - "ltx-2-19b-distilled", - "ltx-2.3", - "ltx-2.3-fast" -]New value: +[ + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "sora-2", + "sora-2-pro", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash-ref2v", + "gemini-omni-flash-edit", + "gemini-omni-flash", + "wan-2.7", + "wan-2.7-ref2v", + "wan-3.0", + "happy-horse", + "happy-horse-ref2v", + "pixverse-v6", + "grok-imagine", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-1.5-pro", + "seedance-1.0-pro", + "seedance-1.0-pro-fast", + "seedance-1.0-lite", + "seedance-1.0-lite-ref2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2.3", + "ltx-2.3-fast" +]
- Changed
generation_video_create1 field changed- changed
Input schema / properties / model / enumPrevious value: -[ - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "minimax-h3-max", - "luma-ray-2", - "luma-ray-3.2", - "minimax-hailuo-2.3-pro-t2v", - "minimax-h3-max-t2v", - "luma-ray-3.2-t2v", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash", - "veo3-fast", - "gemini-omni-flash-t2v", - "wan-2.1", - "wan-2.7", - "wan-2.7-ref2v", - "wan-2.7-t2v", - "wan-3.0", - "wan-3.0-t2v", - "happy-horse", - "happy-horse-ref2v", - "happy-horse-t2v", - "pixverse-v6", - "pixverse-v6-t2v", - "krea-wan-14b-t2v", - "grok-imagine", - "grok-imagine-t2v", - "sora-2-t2v", - "sora-2-pro-t2v", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-2.0-pro-t2v", - "seedance-2.5-t2v", - "seedance-2.0-pro-fast-t2v", - "seedance-1.5-pro", - "seedance-1.5-pro-t2v", - "seedance-1.0-pro", - "seedance-1.0-pro-t2v", - "seedance-1.0-pro-fast", - "seedance-1.0-pro-fast-t2v", - "seedance-1.0-lite", - "seedance-1.0-lite-t2v", - "seedance-1.0-lite-ref2v", - "kling-o3-standard-t2v", - "kling-o3-pro-t2v", - "kling-v3-standard-t2v", - "kling-v3-pro-t2v", - "ltx-2-19b", - "ltx-2-19b-distilled", - "ltx-2.3", - "ltx-2.3-fast", - "ltx-2-19b-t2v", - "ltx-2-19b-distilled-t2v", - "ltx-2.3-t2v", - "ltx-2.3-fast-t2v" -]New value: +[ + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "minimax-hailuo-2.3-pro-t2v", + "minimax-h3-max-t2v", + "luma-ray-3.2-t2v", + "sora-2", + "sora-2-pro", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash-ref2v", + "gemini-omni-flash-edit", + "gemini-omni-flash", + "veo3-fast", + "gemini-omni-flash-t2v", + "wan-2.1", + "wan-2.7", + "wan-2.7-ref2v", + "wan-2.7-t2v", + "wan-3.0", + "wan-3.0-t2v", + "happy-horse", + "happy-horse-ref2v", + "happy-horse-t2v", + "pixverse-v6", + "pixverse-v6-t2v", + "krea-wan-14b-t2v", + "grok-imagine", + "grok-imagine-t2v", + "sora-2-t2v", + "sora-2-pro-t2v", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-2.0-pro-t2v", + "seedance-2.5-t2v", + "seedance-2.0-pro-fast-t2v", + "seedance-1.5-pro", + "seedance-1.5-pro-t2v", + "seedance-1.0-pro", + "seedance-1.0-pro-t2v", + "seedance-1.0-pro-fast", + "seedance-1.0-pro-fast-t2v", + "seedance-1.0-lite", + "seedance-1.0-lite-t2v", + "seedance-1.0-lite-ref2v", + "kling-o3-standard-t2v", + "kling-o3-pro-t2v", + "kling-v3-standard-t2v", + "kling-v3-pro-t2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2.3", + "ltx-2.3-fast", + "ltx-2-19b-t2v", + "ltx-2-19b-distilled-t2v", + "ltx-2.3-t2v", + "ltx-2.3-fast-t2v" +]
9 tool updates
- Changed
clips_create2 fields changed- changed
Input schema / properties / captionThemeId / descriptionPrevious value: -"Optional saved caption theme ID. Null uses workspace default captions. UUID string."New value: +"Saved theme UUID or built-in caption look. Omitted inherits Series defaults; null uses workspace captions. UUID string." - added
Input schema / properties / seriesIdAdded value: +{ + "description": "Optional Series UUID. Omitted inherits the source Series; null creates standalone clips.", + "type": "string" +}
- Changed
generation_faceless_create1 field changed- added
Input schema / properties / seriesIdAdded value: +{ + "description": "Optional Series UUID. Inherits its Story Kit and branding defaults for this new video.", + "type": "string" +}
- Changed
projects_create1 field changed- added
Input schema / properties / seriesIdAdded value: +{ + "description": "Optional Series UUID for this new project.", + "type": "string" +}
- Added
series_apply - Added
series_assign - Added
series_content - Added
series_delete - Added
series_get - Added
series_list
1 tool update
- Changed
generation_image_create1 field changed- changed
Input schema / properties / model / enumPrevious value: -[ - "fal-ai/gpt-image-1", - "fal-ai/gpt-image-1.5", - "fal-ai/gpt-image-2", - "xai/grok-imagine-image-2.0", - "fal-ai/bytedance/seedream/v5/lite/text-to-image", - "bytedance/seedream/v5/pro/text-to-image", - "fal-ai/krea-2/turbo", - "fal-ai/krea/v2/medium/turbo/text-to-image", - "fal-ai/krea/v2/medium/text-to-image", - "fal-ai/nano-banana-2", - "google/nano-banana-2-lite", - "fal-ai/nano-banana-pro" -]New value: +[ + "fal-ai/gpt-image-1", + "fal-ai/gpt-image-1.5", + "fal-ai/gpt-image-2", + "fal-ai/gpt-image-2.5-flare", + "fal-ai/gpt-image-2.5-sunburst", + "xai/grok-imagine-image-2.0", + "fal-ai/bytedance/seedream/v5/lite/text-to-image", + "bytedance/seedream/v5/pro/text-to-image", + "fal-ai/krea-2/turbo", + "fal-ai/krea/v2/medium/turbo/text-to-image", + "fal-ai/krea/v2/medium/text-to-image", + "fal-ai/nano-banana-2", + "google/nano-banana-2-lite", + "fal-ai/nano-banana-pro" +]
2 tool updates
- Changed
generation_faceless_create1 field changed- changed
Input schema / properties / videoModel / enumPrevious value: -[ - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "minimax-h3-max", - "luma-ray-2", - "luma-ray-3.2", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash", - "wan-2.7", - "wan-2.7-ref2v", - "wan-3.0", - "happy-horse", - "happy-horse-ref2v", - "pixverse-v6", - "grok-imagine", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-1.5-pro", - "seedance-1.0-pro", - "seedance-1.0-pro-fast", - "seedance-1.0-lite", - "seedance-1.0-lite-ref2v", - "ltx-2-19b", - "ltx-2-19b-distilled" -]New value: +[ + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "sora-2", + "sora-2-pro", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash", + "wan-2.7", + "wan-2.7-ref2v", + "wan-3.0", + "happy-horse", + "happy-horse-ref2v", + "pixverse-v6", + "grok-imagine", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-1.5-pro", + "seedance-1.0-pro", + "seedance-1.0-pro-fast", + "seedance-1.0-lite", + "seedance-1.0-lite-ref2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2.3", + "ltx-2.3-fast" +]
- Changed
generation_video_create1 field changed- changed
Input schema / properties / model / enumPrevious value: -[ - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "minimax-h3-max", - "luma-ray-2", - "luma-ray-3.2", - "minimax-hailuo-2.3-pro-t2v", - "minimax-h3-max-t2v", - "luma-ray-3.2-t2v", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash", - "veo3-fast", - "gemini-omni-flash-t2v", - "wan-2.1", - "wan-2.7", - "wan-2.7-ref2v", - "wan-2.7-t2v", - "wan-3.0", - "wan-3.0-t2v", - "happy-horse", - "happy-horse-ref2v", - "happy-horse-t2v", - "pixverse-v6", - "pixverse-v6-t2v", - "krea-wan-14b-t2v", - "grok-imagine", - "grok-imagine-t2v", - "sora-2-t2v", - "sora-2-pro-t2v", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-2.0-pro-t2v", - "seedance-2.5-t2v", - "seedance-2.0-pro-fast-t2v", - "seedance-1.5-pro", - "seedance-1.5-pro-t2v", - "seedance-1.0-pro", - "seedance-1.0-pro-t2v", - "seedance-1.0-pro-fast", - "seedance-1.0-pro-fast-t2v", - "seedance-1.0-lite", - "seedance-1.0-lite-t2v", - "seedance-1.0-lite-ref2v", - "kling-o3-standard-t2v", - "kling-o3-pro-t2v", - "kling-v3-standard-t2v", - "kling-v3-pro-t2v", - "ltx-2-19b", - "ltx-2-19b-distilled", - "ltx-2-19b-t2v", - "ltx-2-19b-distilled-t2v" -]New value: +[ + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "minimax-hailuo-2.3-pro-t2v", + "minimax-h3-max-t2v", + "luma-ray-3.2-t2v", + "sora-2", + "sora-2-pro", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash", + "veo3-fast", + "gemini-omni-flash-t2v", + "wan-2.1", + "wan-2.7", + "wan-2.7-ref2v", + "wan-2.7-t2v", + "wan-3.0", + "wan-3.0-t2v", + "happy-horse", + "happy-horse-ref2v", + "happy-horse-t2v", + "pixverse-v6", + "pixverse-v6-t2v", + "krea-wan-14b-t2v", + "grok-imagine", + "grok-imagine-t2v", + "sora-2-t2v", + "sora-2-pro-t2v", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-2.0-pro-t2v", + "seedance-2.5-t2v", + "seedance-2.0-pro-fast-t2v", + "seedance-1.5-pro", + "seedance-1.5-pro-t2v", + "seedance-1.0-pro", + "seedance-1.0-pro-t2v", + "seedance-1.0-pro-fast", + "seedance-1.0-pro-fast-t2v", + "seedance-1.0-lite", + "seedance-1.0-lite-t2v", + "seedance-1.0-lite-ref2v", + "kling-o3-standard-t2v", + "kling-o3-pro-t2v", + "kling-v3-standard-t2v", + "kling-v3-pro-t2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2.3", + "ltx-2.3-fast", + "ltx-2-19b-t2v", + "ltx-2-19b-distilled-t2v", + "ltx-2.3-t2v", + "ltx-2.3-fast-t2v" +]
2 tool updates
- Changed
generation_image_create4 fields changed- added
Input schema / properties / enhancePromptAdded value: +{ + "default": false, + "description": "Enhance using BlitzReels model grammar and actual input context.", + "type": "boolean" +} - changed
Input schema / properties / referenceAssetIds / descriptionPrevious value: -"Up to 4 existing image asset IDs to use as style or subject references."New value: +"Ordered image references. Model-specific limits are listed in generation_options_list; unsupported references fail." - changed
Input schema / properties / referenceAssetIds / maxItemsPrevious value: -4New value: +14 - added
Input schema / properties / resolutionAdded value: +{ + "anyOf": [ + { + "enum": [ + "0.5k", + "1k", + "2k", + "4k" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Native image resolution. Call generation_options_list for model support and resolution pricing. Unsupported settings are rejected." +}
- Changed
generation_video_create14 fields changed- added
Input schema / properties / endFrameAssetIdAdded value: +{ + "description": "Last frame image. Requires a source first frame and a supported model; reference arrays cannot be combined with end frames.", + "format": "uuid", + "type": "string" +} - added
Input schema / properties / enhancePromptAdded value: +{ + "default": false, + "description": "Enhance using BlitzReels model grammar and actual input context.", + "type": "boolean" +} - removed
Input schema / properties / generateAudio / defaultRemoved value: -true - changed
Input schema / properties / generateAudio / descriptionPrevious value: -"Generate audio alongside the video when supported."New value: +"null uses model audio behavior. Explicit true/false must be supported by the selected model." - added
Input schema / properties / providerAdded value: +{ + "default": "auto", + "description": "Explicit provider must support the model and input mode. auto uses a configured compatible provider.", + "enum": [ + "auto", + "byteplus-modelark", + "fal" + ], + "type": "string" +} - changed
Input schema / properties / referenceAssetIds / descriptionPrevious value: -"Reference image asset IDs. Seedance 2.5 accepts 29 plus sourceAssetId, for 30 images total; other models accept up to 4."New value: +"Ordered reference images: Seedance 2.5 up to 30; Seedance 2.0 ref2v up to 9; other reference models up to 4. Source counts toward the limit." - changed
Input schema / properties / referenceAssetIds / maxItemsPrevious value: -29New value: +30 - changed
Input schema / properties / referenceAudioAssetIds / descriptionPrevious value: -"Seedance 2.5 reference audio asset IDs. Unsupported by other models."New value: +"Reference audio: Seedance 2.5 up to 10; Seedance 2.0 ref2v and fast up to 3. Other models reject them." - changed
Input schema / properties / referenceVideoAssetIds / descriptionPrevious value: -"Seedance 2.5 reference video asset IDs. Unsupported by other models."New value: +"Reference videos: Seedance 2.5 up to 10; Seedance 2.0 ref2v and fast up to 3. Other models reject them." - added
Input schema / properties / resolution / anyOfAdded value: +[ + { + "enum": [ + "480p", + "720p", + "768p", + "1080p", + "4k" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / resolution / defaultAdded value: +null - changed
Input schema / properties / resolution / descriptionPrevious value: -"Seedance 2.5 output resolution."New value: +"Output resolution. Call generation_options_list for model-specific supported values and defaults. Unsupported settings are rejected." - removed
Input schema / properties / resolution / enumRemoved value: -[ - "480p", - "720p" -] - removed
Input schema / properties / resolution / typeRemoved value: -"string"
2 tool updates
- Changed
generation_faceless_create1 field changed- changed
Input schema / properties / videoModel / enumPrevious value: -[ - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "luma-ray-2", - "luma-ray-3.2", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash", - "wan-2.7", - "wan-2.7-ref2v", - "happy-horse", - "happy-horse-ref2v", - "pixverse-v6", - "grok-imagine", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-1.5-pro", - "seedance-1.0-pro", - "seedance-1.0-pro-fast", - "seedance-1.0-lite", - "seedance-1.0-lite-ref2v", - "ltx-2-19b", - "ltx-2-19b-distilled" -]New value: +[ + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "sora-2", + "sora-2-pro", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash", + "wan-2.7", + "wan-2.7-ref2v", + "wan-3.0", + "happy-horse", + "happy-horse-ref2v", + "pixverse-v6", + "grok-imagine", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-1.5-pro", + "seedance-1.0-pro", + "seedance-1.0-pro-fast", + "seedance-1.0-lite", + "seedance-1.0-lite-ref2v", + "ltx-2-19b", + "ltx-2-19b-distilled" +]
- Changed
generation_video_create1 field changed- changed
Input schema / properties / model / enumPrevious value: -[ - "kling-2.1", - "kling-2.6-pro", - "kling-o1", - "kling-3.0", - "kling-o3-standard", - "kling-o3-pro", - "kling-o3-4k", - "kling-v3-pro", - "minimax-01", - "minimax-hailuo-02", - "minimax-hailuo-2.3-pro", - "luma-ray-2", - "luma-ray-3.2", - "minimax-hailuo-2.3-pro-t2v", - "luma-ray-3.2-t2v", - "sora-2", - "sora-2-pro", - "veo3", - "veo3.1", - "veo3.1-fast", - "gemini-omni-flash", - "veo3-fast", - "gemini-omni-flash-t2v", - "wan-2.1", - "wan-2.7", - "wan-2.7-ref2v", - "wan-2.7-t2v", - "happy-horse", - "happy-horse-ref2v", - "happy-horse-t2v", - "pixverse-v6", - "pixverse-v6-t2v", - "krea-wan-14b-t2v", - "grok-imagine", - "grok-imagine-t2v", - "sora-2-t2v", - "sora-2-pro-t2v", - "seedance-2.0-pro", - "seedance-2.5", - "seedance-2.0-pro-fast", - "seedance-2.0-ref2v", - "seedance-2.0-ref2v-fast", - "seedance-2.0-pro-t2v", - "seedance-2.5-t2v", - "seedance-2.0-pro-fast-t2v", - "seedance-1.5-pro", - "seedance-1.5-pro-t2v", - "seedance-1.0-pro", - "seedance-1.0-pro-t2v", - "seedance-1.0-pro-fast", - "seedance-1.0-pro-fast-t2v", - "seedance-1.0-lite", - "seedance-1.0-lite-t2v", - "seedance-1.0-lite-ref2v", - "kling-o3-standard-t2v", - "kling-o3-pro-t2v", - "kling-v3-standard-t2v", - "kling-v3-pro-t2v", - "ltx-2-19b", - "ltx-2-19b-distilled", - "ltx-2-19b-t2v", - "ltx-2-19b-distilled-t2v" -]New value: +[ + "kling-2.1", + "kling-2.6-pro", + "kling-o1", + "kling-3.0", + "kling-o3-standard", + "kling-o3-pro", + "kling-o3-4k", + "kling-v3-pro", + "minimax-01", + "minimax-hailuo-02", + "minimax-hailuo-2.3-pro", + "minimax-h3-max", + "luma-ray-2", + "luma-ray-3.2", + "minimax-hailuo-2.3-pro-t2v", + "minimax-h3-max-t2v", + "luma-ray-3.2-t2v", + "sora-2", + "sora-2-pro", + "veo3", + "veo3.1", + "veo3.1-fast", + "gemini-omni-flash", + "veo3-fast", + "gemini-omni-flash-t2v", + "wan-2.1", + "wan-2.7", + "wan-2.7-ref2v", + "wan-2.7-t2v", + "wan-3.0", + "wan-3.0-t2v", + "happy-horse", + "happy-horse-ref2v", + "happy-horse-t2v", + "pixverse-v6", + "pixverse-v6-t2v", + "krea-wan-14b-t2v", + "grok-imagine", + "grok-imagine-t2v", + "sora-2-t2v", + "sora-2-pro-t2v", + "seedance-2.0-pro", + "seedance-2.5", + "seedance-2.0-pro-fast", + "seedance-2.0-ref2v", + "seedance-2.0-ref2v-fast", + "seedance-2.0-pro-t2v", + "seedance-2.5-t2v", + "seedance-2.0-pro-fast-t2v", + "seedance-1.5-pro", + "seedance-1.5-pro-t2v", + "seedance-1.0-pro", + "seedance-1.0-pro-t2v", + "seedance-1.0-pro-fast", + "seedance-1.0-pro-fast-t2v", + "seedance-1.0-lite", + "seedance-1.0-lite-t2v", + "seedance-1.0-lite-ref2v", + "kling-o3-standard-t2v", + "kling-o3-pro-t2v", + "kling-v3-standard-t2v", + "kling-v3-pro-t2v", + "ltx-2-19b", + "ltx-2-19b-distilled", + "ltx-2-19b-t2v", + "ltx-2-19b-distilled-t2v" +]
8 tool updates
- Changed
characters_apply2 fields changed- added
Input schema / properties / confirmLikenessConsentAdded value: +{ + "default": false, + "description": "For a human character, set true only after the user confirms consent to use the depicted person's likeness.", + "type": "boolean" +} - added
Input schema / properties / confirmRightsToReferencesAdded value: +{ + "default": false, + "description": "Set true only after the user confirms they own the reference media or have permission to use it.", + "type": "boolean" +}
- Changed
clips_create1 field changed- added
Input schema / properties / confirmRightsToMediaAdded value: +{ + "default": false, + "description": "Set true only after the user confirms they own the media or have permission to import it. Not needed for an existing BlitzReels asset.", + "type": "boolean" +}
- Changed
generation_faceless_create1 field changed- changed
Input schema / properties / voiceId / descriptionPrevious value: -"Optional voice override. The Story Kit narrator voice is used when omitted."New value: +"Optional voice override from the BlitzReels voice catalog. The Story Kit narrator voice is used when omitted."
- Changed
generation_voiceover_create2 fields changed- changed
Input schema / properties / voiceId / defaultPrevious value: -nullNew value: +"pNInz6obpgDQGcFmaJgB" - added
Input schema / properties / voiceId / enumAdded value: +[ + "pNInz6obpgDQGcFmaJgB", + "TX3LPaxmHKxFdv7VOQHJ", + "FGY2WhTYpPnrIDTdsKH5", + "IKne3meq5aSn9XLyUdCD", + "cgSgspJ2msm6clMCkdW9", + "bIHbv24MWmeRgasZH58o", + "nPczCjzI2devNBz1zQrb", + "JBFqnCBsd6RMkjVDRZzb", + "SOYHLrjzK2X1ezoPC6cr", + "N2lVS1w4EtoT3dr4eOWO", + "S9EGwlCtMF7VXtENq79v", + "VhxAIIZM8IRmnl5fyeyk", + "hpp4J3VqNfWAUOO0d1Us", + "EXAVITQu4vr4xnSDxMaL", + "pFZP5JQG7iQjIQuC4Bku", + "SAz9YHcvj6GT2YYXdXww", + "Xb7hH8MSUJpSbSDYk0k2", + "XrExE9yKIg1WjnnlVkGX", + "onwK4e9ZLuTAKqWW03F9", + "pqHfZKP75CvOlQylNhV4", + "CwhRBWXzGAHq8TQ4Fs17", + "cjVigY5qzO86Huf0OWal", + "iP95p4xoKVk53GoZ742B" +]
- Changed
media_import_inspect1 field changed- added
Input schema / properties / confirmRightsToMediaAdded value: +{ + "default": false, + "description": "Set true only after the user confirms they own the media or have permission to import it.", + "type": "boolean" +}
- Changed
media_import_scan_page1 field changed- added
Input schema / properties / confirmAuthorizedToScanAdded value: +{ + "default": false, + "description": "Set true only after the user confirms they control the page or are authorized to scan it.", + "type": "boolean" +}
- Changed
media_import_url1 field changed- added
Input schema / properties / confirmRightsToMediaAdded value: +{ + "default": false, + "description": "Set true only after the user confirms they own the media or have permission to import it.", + "type": "boolean" +}
- Changed
projects_list3 fields changed- added
Output schema / properties / projects / items / additionalPropertiesAdded value: +false - added
Output schema / properties / projects / items / propertiesAdded value: +{ + "clipCount": { + "type": "number" + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "durationSeconds": { + "type": "number" + }, + "id": { + "type": "string" + }, + "lastExportAt": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + }, + "projectUrl": { + "type": "string" + }, + "status": { + "enum": [ + "ready", + "exporting", + "needs_captions", + "processing" + ], + "type": "string" + }, + "thumbnailUrl": { + "type": [ + "string", + "null" + ] + }, + "updatedAt": { + "type": "string" + } +} - added
Output schema / properties / projects / items / requiredAdded value: +[ + "id", + "name", + "description", + "updatedAt", + "lastExportAt", + "durationSeconds", + "clipCount", + "thumbnailUrl", + "status", + "projectUrl" +]
1 tool update
- Changed
generation_image_create1 field changed- changed
Input schema / properties / model / enumPrevious value: -[ - "fal-ai/gpt-image-1", - "fal-ai/gpt-image-1.5", - "fal-ai/gpt-image-2", - "xai/grok-imagine-image-2.0-preview", - "fal-ai/bytedance/seedream/v5/lite/text-to-image", - "bytedance/seedream/v5/pro/text-to-image", - "fal-ai/krea-2/turbo", - "fal-ai/krea/v2/medium/turbo/text-to-image", - "fal-ai/krea/v2/medium/text-to-image", - "fal-ai/nano-banana-2", - "google/nano-banana-2-lite", - "fal-ai/nano-banana-pro" -]New value: +[ + "fal-ai/gpt-image-1", + "fal-ai/gpt-image-1.5", + "fal-ai/gpt-image-2", + "xai/grok-imagine-image-2.0", + "fal-ai/bytedance/seedream/v5/lite/text-to-image", + "bytedance/seedream/v5/pro/text-to-image", + "fal-ai/krea-2/turbo", + "fal-ai/krea/v2/medium/turbo/text-to-image", + "fal-ai/krea/v2/medium/text-to-image", + "fal-ai/nano-banana-2", + "google/nano-banana-2-lite", + "fal-ai/nano-banana-pro" +]
8 tool updates
- Added
characters_apply - Added
characters_get - Added
characters_list - Changed
generation_faceless_create6 fields changed- added
Input schema / properties / storyKitIdAdded value: +{ + "description": "Reusable Story Kit UUID for characters, references, locations, style, and narrator voice.", + "type": "string" +} - removed
Input schema / properties / visualStyle / defaultRemoved value: -"cinematic 3D animation" - changed
Input schema / properties / visualStyle / descriptionPrevious value: -"Art direction for the generated scenes."New value: +"Optional art direction override. A Story Kit style is used when omitted." - changed
Input schema / properties / visualStyle / maxLengthPrevious value: -200New value: +2000 - removed
Input schema / properties / voiceId / defaultRemoved value: -"pNInz6obpgDQGcFmaJgB" - changed
Input schema / properties / voiceId / descriptionPrevious value: -"Voice ID used when generateVoiceover is true."New value: +"Optional voice override. The Story Kit narrator voice is used when omitted."
- Changed
generation_voiceover_create1 field changed- changed
Input schema / properties / voiceId / defaultPrevious value: -"pNInz6obpgDQGcFmaJgB"New value: +null
- Added
story_kits_apply - Added
story_kits_get - Added
story_kits_list
Related MCP Connectors
Turn long videos into AI-curated short clips: caption, reframe, thumbnail, schedule, and publish.
Turn long videos into viral vertical shorts and publish them to TikTok, Instagram and YouTube.
AI video editor for real footage: cut, caption, reframe, add music and b-roll, preview, export MP4.
Turn any video or livestream into scored, captioned, ready-to-post vertical clips.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceTurns long-form videos into short-form clips (TikTok/Reels) by reasoning over word-timestamped transcripts, with silence-aware rendering, STT-based validation, and optional reframing/captions.-
- AlicenseAqualityBmaintenanceOpenShorts turns long videos into vertical clips readys for Social Media posting85,863MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to autonomously edit videos into publish-ready vertical short-form content, including silence removal, subtitle generation, voiceover synthesis, color grading, and composite pipeline creation.MIT
- AlicenseAqualityFmaintenanceCreate AI-powered short-form video clips from YouTube videos using any AI assistant. 9 tools for creating shorts, browsing caption templates, music, gameplay overlays, and meme hooks.984 npm7MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.