Skip to main content
Glama

Server Details

Films and music videos. You're the star. No subscription.

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
0.2% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 115 tools

Disambiguation2/5

The set repeats a quote/confirm/status/result pattern across many subdomains (generation, image, motion, storyboard stills, artist reference pack), producing near-identical tool clusters that are hard to tell apart. Pairs like studio_generation_status vs studio_generation_wait (both free 45s waits) and studio_storyboard_write vs studio_sections_update vs studio_film_scenes_write vs studio_storyboard_submit overlap heavily, and there are at least five upload paths (media_upload_url/widget, artist_photo, song_attach, reference_upload_link, media_import_url). Descriptions are detailed but the boundaries between sibling tools remain blurry.

Naming Consistency4/5

Names are almost uniformly snake_case with a studio_ prefix and a readable noun_action or action_noun pattern (artist_create, film_add_line, motion_quote, generation_confirm). Minor deviations exist, such as studio_get_skill vs studio_list_skills and the verbless studio_artist_photo. Overall the convention is predictable.

Tool Count1/5

115 tools is far beyond what any agent can select among reliably, even for a broad creative studio domain. Many tools are micro-operations (toggle_camera, set_lip_sync, set_duration, add_line) that could be consolidated, indicating an extreme mismatch between surface size and practical usability.

Completeness4/5

The surface covers the domain comprehensively: artists, DNA, references, voices, songs, releases, projects, storyboards, motion, film, generation, media, credits, models and skills, with read/write/quote/confirm/status coverage per area. Only peripheral gaps exist (publishing, account deletion, which are explicitly out of scope).

Available Tools

115 tools
studio_account_readRead Brix36 accountA
Read-onlyIdempotent
Inspect

Read the connected customer account and its current catalogue memberships. Returns user details and up to 50 catalogues with roles. The connection determines identity; no account or workspace argument is accepted. Free.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description adds genuinely new behavioral facts: identity is resolved from the connection, no arguments are accepted, results are capped at 50 catalogues, and the call is 'Free'. The 50-catalogue cap and the cost note are meaningful 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.

Conciseness5/5

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

Four short sentences, front-loaded with purpose, followed by return shape, argument constraint, and cost. No sentence is redundant and nothing is buried.

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

Completeness5/5

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

An output schema exists, so return details need not be expanded, and annotations carry the safety profile. For a zero-parameter read tool the description covers identity resolution, result bounds, and cost, leaving no gap an agent needs to fill before calling it.

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

Parameters4/5

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

With zero parameters the baseline is 4, and the description adds relevant meaning by stating that identity comes from the connection and that no account/workspace argument is accepted, explaining why the schema is empty.

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

Purpose4/5

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

The description gives a specific verb and resource ('Read the connected customer account and its current catalogue memberships') and states what is returned (user details plus up to 50 catalogues with roles). It is clearly distinct from most siblings, though it never explicitly names the near-neighbour studio_account_links_read to disambiguate.

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

Usage Guidelines3/5

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

Usage is implied by the scope ('the connected customer account'), and the note that 'no account or workspace argument is accepted' constrains invocation. However, there is no explicit when-to-use guidance and no alternative tool is named, so the agent must infer this from the scope statement alone.

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

studio_ai_sharing_chooseRecord the AI-sharing answerA
Idempotent
Inspect

Records the person's own answer to the AI-sharing question after a creation tool returned ai_processing_choice_required. allowed true means Allow and false means Not now. Consent counts only as that explicit reply; it is never inferred from the request to create and never supplied on the person's behalf. supersedes is the sequence that refusal returned (null when it was unset). Returns the stored answer; nothing is created or charged.

NameRequiredDescriptionDefault
allowedYesThe person's explicit answer: true for Allow, false for Not now.
supersedesNoThe sequence from the ai_processing_choice_required refusal; null when it was unset.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare write-yet-idempotent, non-destructive, closed-world behavior, but the description adds crucial semantics: this records only an explicit human answer, never an inferred one, and "nothing is created or charged." That resolves the otherwise ambiguous readOnlyHint=false. It stops short of noting ordering/replay behavior around supersedes, so not a full 5.

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

Conciseness5/5

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

Front-loaded with the action and trigger, then the parameter semantics, then the side-effect guarantee. 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.

Completeness4/5

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

With a full input schema, an output schema covering return values, and annotations covering the safety profile, the description supplies everything needed to invoke correctly. Minor gap: it does not describe what happens if the refusal sequence is stale or already superseded.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the schema. The description's glosses on allowed and supersedes largely restate those schema descriptions rather than adding new format or constraint detail, which is the baseline case.

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

Purpose5/5

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

States a precise verb+resource ("Records the person's own answer to the AI-sharing question") and pins the exact trigger (a creation tool returned ai_processing_choice_required). No sibling tool shares this purpose, so an agent can identify it without ambiguity.

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

Usage Guidelines5/5

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

Names the precondition for calling it (a prior ai_processing_choice_required refusal) and explicitly forbids the failure mode of inferring consent ("never inferred from the request to create and never supplied on the person's behalf"). It also explains what supersedes is for, completing the when-to-use picture.

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

studio_artist_actor_readUse artist as Film actorA
Read-onlyIdempotent
Inspect

Returns an existing artist's Film castId, identity readiness and Film creation link. castId equals artistId. No duplicate actor or artist-flag change is created.

NameRequiredDescriptionDefault
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds some value by clarifying 'castId equals artistId' and that no duplicate actor/flag change occurs, but it does not explain what 'identity readiness' means or what the creation link is used for.

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

Conciseness4/5

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

Two short sentences, front-loaded with the return contents and followed by the idempotency guarantee. There is no filler, though the second sentence partly restates the idempotency annotation.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and the single required parameter is well covered. The remaining gap is the lack of sibling routing guidance against assign_actor/artist_read, but for a simple one-param read the description is largely sufficient.

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

Parameters3/5

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

Schema description coverage is 100% and the single artistId parameter is fully documented in the schema. The description adds nothing param-specific beyond noting castId equals artistId, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific outcome — returns an artist's Film castId, identity readiness, and Film creation link — so an agent knows this is a non-mutating lookup that resolves casting identity. It does not, however, differentiate from siblings like studio_film_assign_actor or studio_artist_read, leaving the 'use as actor' framing ambiguous against the read semantics.

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

Usage Guidelines3/5

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

Usage is only implied: 'No duplicate actor or artist-flag change is created' signals this is the safe, non-mutating way to resolve casting, contrasting implicitly with studio_film_assign_actor. There is no explicit when-to-use, when-not, or named alternative, so an agent must infer the routing.

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

studio_artist_cover_setChoose artist cover photoAInspect

Sets an existing passed DNA photograph as the artist cover; referenceId:null restores automatic cover selection. Requires artist permission and expectedRevision from the current profile. Returns profile and revision; creates no image.

NameRequiredDescriptionDefault
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.
referenceIdYesPassed current DNA photo ID, or null for automatic cover.
expectedRevisionYesCurrent revision from the latest read. Stale revisions are refused.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare that this is a non-read-only, non-idempotent, non-destructive write. The description adds real behavioral context: the permission requirement, the optimistic-concurrency gate on expectedRevision, the reversal semantics of passing null, and that no image is created. It omits whether the change is reversible once applied, which keeps it below 5.

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

Conciseness5/5

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

Three compact, front-loaded clauses with no filler; the core action, the reversal option, the prerequisites, and the return shape each appear once and earn their place.

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

Completeness5/5

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

For a mutating tool with a full output schema, the description covers the action, the special null case, the concurrency and permission prerequisites, and even notes that no image is generated. Nothing an agent needs in order to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented in the schema (including the null-means-automatic semantics for referenceId and the stale-revision refusal). The description restates the null case and clarifies that expectedRevision comes from the current profile, but adds little beyond structured data. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource ('sets an existing passed DNA photograph as the artist cover') and distinguishes itself from neighboring cover mechanisms by specifying the DNA-photo source. The phrase 'creates no image' further separates it from generation tools like studio_artist_dna_write or studio_artist_photo.

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

Usage Guidelines4/5

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

Gives a clear conditional for the null case ('referenceId:null restores automatic cover selection') and states activation prerequisites (artist permission, expectedRevision from the current profile). It does not explicitly contrast against the sibling cover tool studio_artist_ready_made_choose, leaving that inference to the agent, so it stops 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.

studio_artist_createCreate Brix36 artistAInspect

Creates an artist through the app service and returns profile and revision. Name is required; photos use dedicated upload/reference tools. catalogueArtistId optionally selects a manageable catalogue through an existing artist. Creation has no replay receipt; the artist list exposes persisted results after an uncertain response. No generation or charge.

NameRequiredDescriptionDefault
bioNoArtist biography; an empty string clears it.
nameYesNew artist name.
genresNoArtist genres. An empty array clears the list.
locationNoArtist location; an empty string clears it.
influencesNoArtist influences. An empty array clears the list.
identityKindNoFactual identity of the new artist. Real person by default. Adding a real face photo follows the app real-person rules.
visualKeywordsNoArtist visual keywords. An empty array clears the list.
primaryLanguageNoArtist primary language; an empty string clears it.
recurringThemesNoArtist recurring themes. An empty array clears the list.
catalogueArtistIdNoOptional existing artist identifying the catalogue for creation. Not needed for a single-catalogue account.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly=false, idempotent=false, destructive=false. The description adds value beyond them: no replay receipt on creation, the list is the source of truth after an ambiguous result, and no generation or credit charge occurs. That idempotency/retry context is exactly what the annotations can't convey.

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

Conciseness4/5

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

Four short sentences, purpose front-loaded, no filler. The telegraphic phrasing ("No generation or charge") is efficient, though a couple of clauses about replay receipts read slightly clipped rather than polished.

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

Completeness4/5

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

For a 10-param creation tool with annotations and an output schema, the description covers the essentials: required input, where photos live, catalogue selection, retry behavior, and cost. Return values need not be detailed since an output schema exists. Nothing critical is missing, though a pointer to studio_artists_list by name would tighten the post-failure path.

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

Parameters3/5

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

Schema coverage is 100%, so all ten parameters including the identityKind enum are already documented in the schema. The description restates required name and adds that catalogueArtistId is optional/account-dependent, but the schema already carries that note, so the added meaning is marginal. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ("Creates an artist") and even names the return payload (profile and revision), which is more than the title alone. It routes photo work to dedicated tools, implicitly separating it from studio_artist_photo/reference_add, but never explicitly contrasts with studio_artist_update, so the sibling boundary for the mutation case stays implicit.

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

Usage Guidelines4/5

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

Gives concrete usage conditions: name is required, photos go through other tools, and catalogueArtistId is only needed to select a catalogue on multi-catalogue accounts. It also tells the agent what to do after an uncertain response (read the artist list), which is real operational guidance. It stops short of explicit when-not-to-use-this-instead-of-update guidance.

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

studio_artist_deleteDelete Brix36 artistA
DestructiveIdempotent
Inspect

Permanently erases an artist and their projects, storyboards, references and identity photos. Requires catalogue-owner access, the customer's deletion request and their exact current artist name as confirmation. In-flight work or payments prevent deletion. Returns artist=deleted and queued purge counts; external erasure is asynchronous.

NameRequiredDescriptionDefault
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.
confirmationYesArtist exact current name, supplied by the customer after they request permanent deletion.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: the deletion is permanent and cascades across several asset types, it requires owner access and a typed confirmation, blockers prevent deletion, and external erasure is asynchronous. It also reports the return shape (artist=deleted plus queued purge counts), which is more than destructiveHint alone conveys.

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

Conciseness5/5

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

Three dense sentences, front-loaded with what is destroyed, then prerequisites, then blockers and return behavior. No filler and every clause carries meaning.

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

Completeness5/5

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

For a destructive tool with annotations and an output schema, the description covers permissions, confirmation ritual, cascade scope, blockers, and asynchronous external erasure. Nothing an agent needs to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented. The description restates the confirmation as 'exact current artist name' and the customer-request context, which largely duplicates the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource (permanently erases an artist) and spells out the cascade scope — projects, storyboards, references and identity photos — so the agent knows this is a broad entity-level delete. It does not explicitly name a sibling (e.g. studio_artist_reference_delete or studio_project_delete) to disambiguate the narrower deletes, 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.

Usage Guidelines4/5

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

Gives clear conditions for use: catalogue-owner access, the customer's deletion request, and their exact current artist name as confirmation, plus the blockers (in-flight work or payments). It lacks an explicit 'use X instead' for narrower deletion tools, but the when-to-use context is strong.

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

studio_artist_dna_readRead Artist DNA and photo statusA
Read-onlyIdempotent
Inspect

Returns identity summary, published photo pack, pending screening, approved creative facts and up to 20 recent social-scan statuses. Pending or held photos retain their status. The app link identifies consent and scan controls. No scan, language model or image generation starts.

NameRequiredDescriptionDefault
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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 real behavioral context beyond that: pending/held photos retain their status, the app link carries consent and scan controls, and no scan/LLM/image generation is initiated. That is meaningful extra disclosure for a read tool.

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

Conciseness4/5

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

Front-loads the return payload in the first sentence, which is the right ordering. Four sentences, mostly earning their place, though 'The app link identifies consent and scan controls' is slightly opaque without more context. No redundant filler.

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

Completeness4/5

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

With an output schema present, the description need not document return values, yet it still summarizes them and adds the non-obvious side-effect guarantee (no scan/generation starts). Combined with full annotation coverage, an agent has enough to call it correctly; only explicit sibling routing is missing.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage, and the schema already explains that artistId comes from studio_artists_list/studio_artist_read and is used when casting a Film. The description adds nothing about artistId, so the schema does all the work and the baseline of 3 applies.

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

Purpose4/5

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

States a clear verb (returns) and enumerates the specific resources: identity summary, published photo pack, pending screening, approved creative facts, and social-scan statuses. This is far more specific than a tautology and clearly separates it from studio_artist_dna_write. It stops short of naming a sibling tool explicitly, so it lands at 4 rather than 5.

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

Usage Guidelines3/5

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

The line 'No scan, language model or image generation starts' usefully tells the agent this read does not trigger downstream generation, which is a when-not signal. However, it never says when to prefer this over studio_artist_read or studio_artist_dna_write, nor states any prerequisite (e.g. needing an existing artistId). 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.

studio_artist_dna_writeSave artist creative factsAInspect

Saves customer-authored or approved creative facts as a new published Artist DNA version, preserving facts pinned by older projects. baseVersionId identifies the current version, or null when absent. Returns versionId and facts. Facts apply at once and need no pin. Requires manager permission; no language model or credit charge.

NameRequiredDescriptionDefault
factsYesFull replacement set; an empty array clears the artist creative facts.
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.
baseVersionIdYesCurrent versionId from the last Artist DNA read, or explicit null when no version exists.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, destructive=false, idempotent=false), the description discloses several behavioral facts an agent could not infer: pinned facts from older projects are preserved, a new published version is created each call, permission level required, and no credit or language-model charge. 'Returns versionId and facts' partly overlaps the output schema but the rest 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.

Conciseness4/5

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

Five compact sentences, purpose front-loaded, then semantics, then constraints and cost. Slightly punchy rather than flowing, and 'Returns versionId and facts' duplicates what the output schema already states, but nothing is bloated.

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

Completeness4/5

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

For a mutation tool with full schema coverage, annotations and an output schema, the description covers purpose, side effects, permissions and cost adequately. It does not address what happens when baseVersionId is stale relative to the current version (a conflict/retry concern), which is the only notable gap.

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

Parameters3/5

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

Schema description coverage is 100%, so artistId, baseVersionId and the facts array are already fully documented in the schema. The description's restatement of baseVersionId ('identifies the current version, or null when absent') adds no format or constraint detail beyond the schema text. Baseline 3 applies when the schema carries the parameter burden.

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

Purpose5/5

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

The opening clause states a specific verb and resource ('Saves ... creative facts as a new published Artist DNA version') and scopes the input to customer-authored or approved facts. An agent can immediately distinguish this write tool from the sibling studio_artist_dna_read 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.

Usage Guidelines4/5

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

The description establishes the operating context: facts must be customer-authored or approved, the tool requires manager permission, and it costs nothing. 'Facts apply at once and need no pin' implicitly steers the agent away from the pinning path (studio_project_dna_pin) for new facts, but it never names an alternative or a when-not-to-use case explicitly.

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

studio_artist_photoUpload the artist photo in the chatA
Idempotent
Inspect

Returns an artist-photo upload widget and a one-time fallback uploadUrl. File bytes go directly to Brix36. Repeated calls return the same link or report an existing photo. No charge.

NameRequiredDescriptionDefault
projectIdYesThe video whose artist needs the photo, from studio_video_start.

Output Schema

NameRequiredDescription
codeNo
nextNo
noteNo
viewNo
issuesNo
messageNo
purposeNo
artistIdNo
expiresAtNo
projectIdNo
uploadUrlNo
mediaOriginNo
instructionsNo
outcomeUnknownNo

TDQS

A3.8/5.0
Behavior4/5

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

With annotations already covering readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=false, the description still adds real behavior: bytes go directly to Brix36 (data never transits the server), the fallback uploadUrl is one-time use, and the call is free. Those are details the annotations cannot express.

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

Conciseness5/5

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

Four short sentences, front-loaded with the return artifact, then data flow, idempotency and cost. No filler; every clause carries information an agent needs.

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

Completeness4/5

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

An output schema exists so return shapes need no explanation, and the description covers data flow, retry behavior, one-time URL semantics and cost. The one gap is that it does not position itself against the near-identical media upload siblings in this large tool set.

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

Parameters3/5

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

Schema coverage is 100% and the single projectId parameter already documents its provenance ('from studio_video_start'), so the description correctly leaves parameters to the schema. It adds nothing beyond that, which is the 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.

Purpose4/5

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

The description states a specific action and artifact: it returns an artist-photo upload widget plus a one-time fallback uploadUrl, which usefully corrects the misleading 'upload' verb in the name (the tool does not itself receive bytes). It is clear on what the tool produces, though it never distinguishes itself from the close siblings studio_media_upload_widget and studio_media_upload_url.

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

Usage Guidelines3/5

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

Usage is only implied. 'Repeated calls return the same link or report an existing photo' tells the agent it is safe to call again rather than re-uploading, but there is no explicit when-to-use statement and no routing against the media_upload_widget/media_upload_url siblings.

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

studio_artist_readRead Brix36 artistA
Read-onlyIdempotent
Inspect

Returns one artist's profile, current revision and Artist DNA summary, including genres, visual notes and identity readiness. The revision binds profile and cover edits. Read-only.

NameRequiredDescriptionDefault
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral detail beyond them: 'The revision binds profile and cover edits,' telling the agent the returned revision is the concurrency token for subsequent mutations. 'Read-only' merely restates 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.

Conciseness4/5

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

Two tight sentences, front-loaded with the resource and its payload contents. The trailing 'Read-only.' is redundant with the readOnlyHint annotation and could be dropped, but overall it wastes little space.

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

Completeness5/5

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 structure, and it still summarizes the payload well. Full parameter coverage plus annotations make this complete enough for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100% and the single artistId parameter is well documented in the schema itself (source tools, Film-casting role). The description adds no format, prefix, or lookup detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Returns one artist's profile, current revision and Artist DNA summary') and enumerates the payload (genres, visual notes, identity readiness). However, it does not differentiate itself from close siblings like studio_artist_actor_read or studio_artist_dna_read, which an agent must choose between.

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

Usage Guidelines2/5

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, and no alternative is named. The agent is left to infer that this is the general artist read versus the actor-specific or DNA-specific siblings.

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

studio_artist_ready_made_chooseChoose a free ready-made characterA
Idempotent
Inspect

Saves one Brix36 ready-made fictional portrait on an existing artist using the same service as the app. Requires artist permission and a current starId from the ready-made star list. Returns the saved reference pack and whether it was newly created; choosing the same star retains the existing pack. No image generation or credit charge. Current generation readiness is read separately from the artist list.

NameRequiredDescriptionDefault
starIdYesCurrent star ID returned by studio_ready_made_stars_list; not an image URL.
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Annotations declare a non-destructive, idempotent write, and the description meaningfully adds to that: choosing the same star retains the existing pack, no image generation occurs, and no credit is charged. Those are exactly the behavioral facts an agent needs before invoking a mutation, and they go beyond what the structured fields say.

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

Conciseness4/5

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

The action and its core constraints are front-loaded in the first two sentences, followed by outcome, idempotency, and cost. Every sentence carries information, though the trailing sentence about generation readiness reads as an appended aside rather than a tightly integrated point.

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

Completeness4/5

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

With an output schema present, the description needn't document return structure, and it still summarizes the return (saved reference pack plus newly-created flag). Permissions, cost, idempotency, and parameter provenance are all covered, leaving only minor gaps such as failure or error conditions.

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

Parameters3/5

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

Schema description coverage is 100%, so both artistId and starId are already documented in the schema, including the "not an image URL" caveat and the source tools. The description reinforces the starId provenance but adds no format or constraint detail beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

The description names a specific verb ("saves"), a specific resource (a Brix36 ready-made fictional portrait), and a specific target (an existing artist). It also distinguishes itself from the sibling lookup by noting the starId must come from the ready-made star list, so an agent can tell it apart from studio_ready_made_stars_list 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.

Usage Guidelines4/5

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

It states the prerequisites clearly: artist permission is required and starId must be current and sourced from the ready-made star list. It also points to the artist list for generation readiness, giving a clear context of use. It stops short of explicit when-not-to-use or a named alternative tool, which keeps it from a 5.

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

studio_artist_reference_addAdd existing artist photoA
Idempotent
Inspect

Adds a customer photograph to Artist DNA through screened identity-reference services. Inline input accepts canonical base64, MIME type and angle up to 512 KiB. Larger files have dedicated upload/app paths. Validates and deduplicates bytes under existing face-source/publication rules. Returns pack and created flag. No image generation.

NameRequiredDescriptionDefault
angleYesCamera angle shown in this existing photo.
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.
mimeTypeYesActual photo MIME type; the app also checks bytes.
bytesBase64YesCanonical base64 file bytes without a data URL prefix, up to 512 KiB decoded. Larger files have an app upload-link path.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false and readOnly=false, so safey/write semantics are covered. The description adds genuinely useful context beyond them: byte-level validation and deduplication against face-source/publication rules, and that it returns a pack plus a created flag. It does not describe what happens on a dedup hit in detail, keeping it below 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.

Conciseness4/5

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

Front-loads the core action and keeps to five tight sentences, each carrying distinct information (scope, size limit, alternatives, validation, return). Slightly dense but no filler.

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

Completeness4/5

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

With an output schema present, the brief mention of returned pack/created flag is sufficient, and annotations carry the safety profile. For a 4-required-param mutation the description covers scope, limits, and validation well; only the large-file alternative path is left unnamed.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful detail: canonical base64 without a data-URL prefix, the ~512 KiB decoded ceiling, and that MIME type is cross-checked against the bytes. This reinforces endpooint-specific constraints beyond the enum and pattern already in the schema.

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

Purpose5/5

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

States a specific verb and resource ("Adds a customer photograph to Artist DNA") and immediately scopes it as an existing photo, not generation. "No image generation" plus the sibling reference-add/upload-path naming lets an agent distinguish it from generation and media-upload tools 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.

Usage Guidelines4/5

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

Gives a concrete routing threshold: inline input is for files up to 512 KiB, while "larger files have dedicated upload/app paths." That is clear conditional guidance, though it stops short of naming the specific alternative tool or stating exclusions beyond size.

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

studio_artist_reference_deleteRemove artist photoA
DestructiveIdempotent
Inspect

Remove one identity reference photo using the app service. Requires artist-level permission and the customer choosing this specific photo. Returns the updated identity pack. This can affect future likeness generation; older pinned projects keep their existing rules.

NameRequiredDescriptionDefault
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.
referenceIdYesIdentity reference ID from studio_artist_dna_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint/idempotentHint, but the description adds material context beyond them: the permission requirement, that the updated identity pack is returned, that future likeness generation is affected, and that older pinned projects retain existing rules. That downstream-impact disclosure is exactly the kind of behavior an agent cannot get from the annotation block.

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

Conciseness4/5

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

Four short sentences with the destructive action front-loaded and consequences following. The only filler is the vague phrase "using the app service," which contributes nothing an agent can act on.

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

Completeness4/5

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

For a destructive mutation with rich annotations, a fully documented schema and an output schema, the description covers permissions, side effects, return value and scope limits. The remaining gap is the absence of alternative routing, which is minor given the annotation coverage.

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

Parameters3/5

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

Schema coverage is 100% and both parameters cross-reference their source tools (studio_artists_list/studio_artist_read, studio_artist_dna_read), so the schema carries the semantic load. The description adds nothing about parameter form or provenance, making the baseline 3 appropriate.

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

Purpose4/5

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

Uses a concrete verb ("Remove") plus a precise resource ("one identity reference photo"), which separates it from studio_artist_reference_add and the generic studio_reference_delete. It does not name those siblings explicitly, so an agent still has to infer the boundary, but the scope is unambiguous.

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

Usage Guidelines3/5

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

It states two real prerequisites (artist-level permission, the customer selecting that exact photo), which is genuine usage context. However, it never says when to prefer this over studio_reference_delete or studio_artist_reference_add, so the routing decision is left to inference.

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

studio_artist_reference_pack_confirmBuy the approved artist reference packA
DestructiveIdempotent
Inspect

Places the one quoted reference-pack purchase only after the customer has explicitly approved the exact credits in this chat. Takes the exact operationId, quoteToken, quotedCredits and priceVersion from the quote (and the same look inputs); an existing Brix36 approval code is accepted as confirmationToken instead. Identical retries return the first outcome and never charge twice. status still_checking keeps the original operation; an identical later call returns its outcome without a new price.

NameRequiredDescriptionDefault
kindYesphoto_pack: missing views from their existing photo. look: an invented look for an artist with no customer photo.
artistIdYesThe artist, from studio_artists_list or studio_artist_create.
quoteTokenYesExact signed quote.
operationIdYesExact quoted operation ID.
priceVersionNoThe priceVersion returned by the quote.
quotedCreditsNoThe exact credits the customer approved in chat.
lookDescriptionNoLook only: the look to make, up to 1000 characters. Send the same text to quote and confirm.
confirmationTokenNoOptional: an existing Brix36 approval code instead of in-chat consent.
inspirationAssetIdsNoLook only, optional: up to four owned inspiration photos. Send the same list to quote and confirm.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=true, but the description adds real detail beyond them: identical retries return the first outcome and never charge twice, an external Brix36 confirmationToken can substitute for in-chat consent, and a still_checking status keeps the original operation with identical later calls returning its outcome. It stops short of stating refund/irreversibility behavior for the destructive credit charge.

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

Conciseness4/5

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

Three front-loaded sentences, with the approval precondition first and idempotency/status mechanics after. Information density is high and nothing is filler, though the sentences are long and the async status detail could be tightened.

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

Completeness4/5

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

With 100% schema coverage, an output schema, and annotations covering safety and idempotency, the remaining burden is small; the description supplies the approval prerequisite, quote-binding rules, and retry/status behavior. Error and failure handling (e.g. mismatched quote vs confirm inputs) is not described.

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

Parameters4/5

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, but the description adds cross-parameter semantics the schema does not: the four quote-derived values must be taken verbatim from the quote, and the same look inputs (lookDescription, inspirationAssetIds) must be resent. This clarifies consistency requirements rather than just restating field meanings.

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

Purpose5/5

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

The description states a specific verb and resource: it places ('Places') the reference-pack purchase, and frames it as the post-quote confirmation step. Combined with the tool name and the sibling quote tool, an agent can distinguish this from the quoting step and from unrelated artist tools 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.

Usage Guidelines4/5

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

Usage is gated explicitly: it may be called only after the customer has approved the exact credits in chat, and it consumes the quote's operationId/quoteToken/quotedCredits/priceVersion. The alternative (the quote step) is referenced as 'the quote' rather than named as studio_artist_reference_pack_quote, so routing is inferable but not spelled out.

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

studio_artist_reference_pack_quotePrice an artist's missing reference packA
Read-onlyIdempotent
Inspect

Prices the artist's missing reference views (photo_pack) or invented look (look) with the same signed price the Brix36 app shows. Charges nothing. Returns creditAmount, operationId, quoteToken, priceVersion and approvalExpiresAt. Approval of the exact credits takes place in this chat; no link is created. When nothing can be offered, says so without claiming their references are complete. Creating an artist stays free.

NameRequiredDescriptionDefault
kindYesphoto_pack: missing views from their existing photo. look: an invented look for an artist with no customer photo.
artistIdYesThe artist, from studio_artists_list or studio_artist_create.
lookDescriptionNoLook only: the look to make, up to 1000 characters. Send the same text to quote and confirm.
inspirationAssetIdsNoLook only, optional: up to four owned inspiration photos. Send the same list to quote and confirm.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, and non-destructive behavior, but the description adds genuinely useful flow context: it charges nothing, returns specific fields (creditAmount, quoteToken, approvalExpiresAt), approval occurs in-chat with no link, and it explicitly handles the empty case without falsely claiming completeness. It does not cover rate limits or token validity semantics, keeping it short of 5.

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

Conciseness4/5

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

Front-loads the core purpose and then packs the behavioral details efficiently. Most sentences earn their place, though 'Creating an artist stays free' is slightly tangential to quoting a reference pack.

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

Completeness4/5

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

With an output schema present, the description needn't enumerate return values, yet it lists them anyway for clarity. It covers both kinds, the no-charge guarantee, the approval flow, and the empty-result behavior, so an agent has enough to invoke it correctly; only the confirm handoff is left implicit.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters (including the photo_pack/look enum and lookDescription) are already well documented. The description reinforces the meaning of the two kinds but adds no syntax or format detail beyond the schema, making the baseline 3 correct.

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

Purpose5/5

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

States a specific verb ('Prices') and resource (the artist's missing reference views via photo_pack, or invented look via look), and even notes the price matches what the Brix36 app shows. An agent can distinguish this quoting tool from studio_artist_reference_pack_confirm 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.

Usage Guidelines3/5

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

It clarifies this is a no-charge quote and that approval happens in-chat rather than via a link, which implies the confirm step follows. However, it never names the sibling studio_artist_reference_pack_confirm as the tool that acts on the returned quoteToken, leaving the when-to-use-next mapping to inference.

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

studio_artists_listList the customer's artists, A to ZA
Read-onlyIdempotent
Inspect

Lists the customer's artists alphabetically, with IDs, names, identity kind, screened photo count, face-check status and whether the real-person video model can use them. Artist IDs also identify Film cast members. Fictional characters need no photo or likeness consent; real-person artists retain the app's consent flow. Free, read-only pagination, up to 50 artists per page.

NameRequiredDescriptionDefault
limitNoNumber of results, default 20 and maximum 50.
queryNoOptional case-insensitive artist name fragment. Pagination binds nextCursor to the same query.
cursorNoThe previous page’s nextCursor; absent on the first page.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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 covered. The description adds genuinely new behavior: that the operation is free (no credit cost), that pagination caps at 50 per page, and that fictional characters need no likeness consent while real-person artists retain the consent flow.

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

Conciseness4/5

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

The core purpose and returned fields are front-loaded, followed by short behavioral notes. Every sentence carries information (cost, pagination, consent semantics), though the consent-flow sentence is slightly tangential to selection and invocation.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description supplies the remaining essentials an agent needs (free, paginated, 50-per-page, identity semantics), leaving only explicit sibling routing unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so limit, query and cursor are already documented in the schema. The description only restates the 50-per-page cap on limit and mentions pagination, adding no syntax or format detail beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Lists the customer's artists alphabetically') and enumerates the attributes returned (IDs, names, identity kind, photo count, face-check status, video-model eligibility). This clearly separates it from the singular studio_artist_read, but it never explicitly names a sibling alternative, 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.

Usage Guidelines3/5

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

The description notes that listing is 'Free, read-only' with pagination up to 50 per page, which implies the browse-all use case, but it gives no explicit when-to-use or when-not guidance and never routes the agent to alternatives like studio_artist_read or studio_artist_actor_read for single-record lookups.

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

studio_artist_updateUpdate Brix36 artistAInspect

Updates supplied artist profile fields with expectedRevision from the current profile. Returns the updated profile and revision; conflicting edits are refused. Photos, voices, identity kind and Film casting have separate operations.

NameRequiredDescriptionDefault
patchYes
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.
expectedRevisionYesCurrent revision from the latest read. Stale revisions are refused.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false. Beyond that, the description adds genuine value by disclosing optimistic-concurrency behavior ('conflicting edits are refused') and the concurrency token source, which the 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.

Conciseness5/5

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

Three tight sentences with zero waste: the core action, the concurrency/return behavior, and the sibling routing. The scope and exclusion information is front-loaded.

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

Completeness4/5

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

With an output schema present, the description needn't explain return values, and the nested patch fields are schema-documented. It covers concurrency and routing well; the only minor gap is not restating partial-update/empty-value semantics, which the schema already handles.

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

Parameters3/5

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

Schema description coverage is 67%, so the nested patch fields (including empty-value clearing semantics) are largely documented in the schema itself. The description restates expectedRevision's stale-refusal behavior rather than adding new parameter detail, so baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb+resource ('Updates supplied artist profile fields') with clear scope. It also explicitly differentiates from siblings by naming photos, voices, identity kind, and Film casting as separate operations, so an agent can route correctly without opening the schemas.

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

Usage Guidelines4/5

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

The description gives clear when-to-use context (profile field edits) and lists explicit exclusions that route to other tools. It implies a read-then-write flow via 'expectedRevision from the current profile' but does not spell out the prerequisite of reading the latest revision first.

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

studio_artist_voice_chooseAssign an offered character voiceA
Idempotent
Inspect

Assigns an offered ready-made voice from the voice library through a durable revision-bound operation. voiceId is an opaque catalogue ID and expectedRevision is the current voice revision, or null when no voice exists. May add a shared library voice; creates no speech and debits no credits. Film speech requires its separate quoted financial approval. Identical operation retries retain identity.

NameRequiredDescriptionDefault
voiceIdYesAn offered lib:<owner>:<voice> or acct:<voice> ID. Film supports lib: voices.
artistIdYesThe cast artist id.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe revision from studio_artist_voices_list, or null when no saved voice exists.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=true), so the bar is lower. The description still adds real context beyond them: the operation is revision-bound (optimistic concurrency via expectedRevision), it may add a shared library voice, it debits no credits, and film speech needs separate financial approval. 'Identical operation retries retain identity' largely restates idempotentHint.

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

Conciseness4/5

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

Four tight sentences, front-loaded with the core action, then constraints. The retry-identity sentence duplicates the idempotentHint annotation and could be cut, but overall there is little waste.

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

Completeness4/5

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

An output schema exists, so return values need not be explained. The description covers the non-obvious operational traits an agent needs — revision binding, idempotent retries, no credit debit, film-speech separation. It could say more about failure modes (e.g. revision mismatch behavior), 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.

Parameters3/5

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 adds only marginal framing — 'voiceId is an opaque catalogue ID' and 'expectedRevision is the current voice revision, or null when no voice exists' — which largely echoes the schema's own descriptions. No additional syntax or format detail is provided.

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

Purpose5/5

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

States a specific verb+resource+source: 'Assigns an offered ready-made voice from the voice library.' This cleanly distinguishes it from siblings like studio_artist_voice_record (recording your own), studio_artist_voices_list (enumeration), and studio_artist_ready_made_choose. An agent can route to it 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.

Usage Guidelines3/5

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

Usage is implied through scope boundaries ('creates no speech', 'Film speech requires its separate quoted financial approval'), which tells the agent when this tool is not the right one. However, no sibling alternative is named explicitly (e.g. record vs. choose vs. list), so the when-to-use guidance stays implicit.

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

studio_artist_voice_readRead the artist’s own voiceA
Read-onlyIdempotent
Inspect

Read the artist’s saved speaking voice and revision, with a private sample link when available. A recorded voice is already selected for this artist’s Film dialogue. No voice is created, no speech is generated and no credits are spent.

NameRequiredDescriptionDefault
artistIdYesThe existing cast artist.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world. The description adds cost/statefulness context beyond that: no voice is created, no speech is generated, no credits are spent, which reassures the agent this is a free, side-effect-free read. It does not describe the private sample link's access semantics or failure modes.

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

Conciseness4/5

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

Three short sentences, front-loaded with the core action and backed by the constraints. The middle sentence about the voice already being selected is slightly incidental but still informative; nothing is wasted.

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

Completeness4/5

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

An output schema exists, so return-value detail is unnecessary. For a single-parameter, read-only tool the description covers purpose, preconditions, and cost profile adequately; only sibling differentiation and id-handling remain thin.

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

Parameters3/5

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

Schema description coverage is 100% and the single artistId parameter is fully documented in the schema as 'the existing cast artist'. The description adds no extra meaning about the identifier (e.g. how to obtain it or what happens with an unknown id), so the schema carries the load.

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

Purpose4/5

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

States a specific verb and resource: reading the artist's saved speaking voice plus its revision, with the optional sample link noted. It is clearly distinguishable from the write-oriented siblings (voice_choose, voice_record, voice_status), though it does not explicitly distinguish itself from studio_artist_voices_list or studio_artist_voice_status, where overlap in meaning is possible.

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

Usage Guidelines4/5

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

Gives clear context for when the tool applies: a recorded voice is already selected for the artist's Film dialogue, implying preconditions are met. It does not name an alternative sibling or state exclusions, so it stops short of a full when/when-not routing statement.

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

studio_artist_voice_recordUse my voice for this artistA
Idempotent
Inspect

Creates and selects an artist's own speaking voice from an owned confirmed audio sampleAssetId, typically 30–120 seconds. App recording validation, durable operation, provider admission and daily spend guards apply. Setup cost is included in the artist's first Film quote; this call debits no customer credits. Identical operation/input retries reconcile the saved effect. Unconfigured cloning refuses before provider work. This voice is for Film dialogue, not song singing.

NameRequiredDescriptionDefault
artistIdYesThe existing cast artist.
operationIdYesStable operation identity. Identical retries retain the original identifier and arguments; new work has a distinct identifier.
sampleAssetIdYesConfirmed audio assetId returned by the upload/import path.
expectedRevisionYesThe current voice revision from studio_artist_voice_read; null only when no voice exists.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare write/idempotent/non-destructive, but the description adds material context: app recording validation, durable operation, provider admission and daily spend guards, setup cost in the first Film quote with no customer-credit debit, retry reconciliation, and refusal before provider work for unconfigured cloning. This goes well beyond the annotation set and helps set expectations.

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

Conciseness4/5

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

The description is front-loaded with the purpose and then layers guards, cost, idempotency, and scope in six dense sentences. It is not bloated with restatement, but the guard sentence packs jargon without examples, so 4 rather than perfect.

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

Completeness5/5

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

For a write operation with annotations, a complete input schema, and an output schema, the description covers the essential caller-facing behavior: what it creates, prerequisites, cost, idempotency, refusal, and scope. No critical gap remains for correct invocation.

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

Parameters3/5

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

Schema coverage is 100% and each parameter has its own schema description, so the schema already carries parameter semantics. The description adds only a typical sample length (30–120s) and retry reconciliation, which is useful but not a full substitute; baseline 3 is appropriate.

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

Purpose4/5

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

The description opens with a specific verb+resource: creates/selects an artist's own speaking voice from a confirmed sampleAssetId, and scopes the output to Film dialogue rather than song singing. It also gives a sample duration, which distinguishes this from catalogue-based voice selection, though it does not name sibling tools like studio_artist_voice_choose explicitly.

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

Usage Guidelines4/5

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

Prerequisites are clear (owned confirmed sampleAssetId, typically 30–120s) and an exclusion is stated ('not song singing'), so the agent knows the context is Film dialogue. However, no explicit alternative tool is named for selecting an existing voice or handling missing samples, so the routing guidance stops short of the 5 level.

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

studio_artist_voices_listFind a character’s voiceA
Read-onlyIdempotent
Inspect

Searches the voice library's ready-made voices. Returns offered opaque IDs, names, descriptions, selected voice, current revision and nextCursor. lib: voices use Brix36's account; acct: voices belong to connected personal accounts and are currently unavailable for Film. No speech generation or credit charge.

NameRequiredDescriptionDefault
limitNoMaximum items to return, 1–50. Default 20.
cursorNoOpaque previous-page nextCursor; absent for the first page.
searchNoVoice name or traits to search for.
artistIdYesThe cast artist whose speaking voice this operation concerns.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world). The description adds real value beyond them: the 'lib:' vs 'acct:' voice-source distinction, the note that acct voices are unavailable for Film, and the fact that no credits are charged. It does not disclose pagination behavior beyond naming nextCursor.

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

Conciseness4/5

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

Three short sentences, front-loaded with the action and followed by return fields and source semantics. The 'lib:'/'acct:' shorthand is dense and mildly cryptic but each sentence carries information.

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

Completeness4/5

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

With an output schema present, the description needn't enumerate return values, yet it does anyway alongside useful domain context about voice sources and cost. Annotations cover safety; the remaining gap is routing to alternative voice tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents limit, cursor, search, and artistId with ranges and meaning. The description adds nothing parameter-specific, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'Searches the voice library's ready-made voices.' The 'ready-made' qualifier implicitly distinguishes this from sibling operations like studio_artist_voice_record or studio_artist_ready_made_choose, but no sibling is named explicitly, so the agent must infer the boundary.

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

Usage Guidelines3/5

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

Usage is implied (search the library to find a voice for a cast artist) but there is no explicit when-to-use versus alternatives such as studio_artist_voice_choose or studio_artist_ready_made_choose. The 'No speech generation or credit charge' line sets expectations but is not routing guidance.

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

studio_artist_voice_statusRecover a character voice requestA
Read-onlyIdempotent
Inspect

Returns pending, unknown, refused or succeeded for an earlier owned voice operation, with saved voice/revision on success. Unknown provider effects remain unresolved. This read does not repeat provider work or synthesize speech.

NameRequiredDescriptionDefault
artistIdYesThe artist id from the original request.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description still adds real value beyond them: unknown provider effects remain unresolved, and the call does not re-trigger provider work or synthesise speech, which tells the agent this is a pure status poll with no 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.

Conciseness4/5

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

Three short sentences, with the return values front-loaded so the agent immediately knows what comes back. Nearly every clause earns its place; only the 'unknown provider effects remain unresolved' sentence is slightly vague and could be tighter.

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

Completeness4/5

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

An output schema exists, so return-value shape need not be explained; the description appropriately covers status semantics and the success payload (voice/revision). Nothing critical to correct invocation is missing, though the absence of any routing guidance against sibling voice tools is a minor gap.

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

Parameters3/5

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

Schema description coverage is 100%, so both artistId and operationId are fully documented in the schema, including the retry-identifier semantics. The description only echoes the ownership notion ('earlier owned voice operation') without adding format or constraint detail, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb (returns) and resource (status of an earlier owned voice operation) and enumerates the possible outcomes: pending, unknown, refused, succeeded. It implicitly distinguishes itself from studio_artist_voice_record/choose by stating it neither repeats provider work nor synthesizes speech, but it never names a sibling directly.

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

Usage Guidelines3/5

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

The phrase 'for an earlier owned voice operation' implies the tool is a follow-up poll after a voice operation was submitted, which is usable context. However, there is no explicit when-to-use instruction, no statement of prerequisites, and no pointer to an alternative tool for a different need.

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

studio_copy_readRead saved text variationsA
Read-onlyIdempotent
Inspect

Read an owned saved customer-AI text version without generating or charging.

NameRequiredDescriptionDefault
copyIdYesSaved copy version.
projectIdYesThe current owned project.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds important value by stating the operation does not generate or charge, which is not captured by annotations. It does not, however, detail ownership/auth requirements beyond 'owned' or any 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.

Conciseness5/5

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

The description is a single front-loaded sentence with no wasted words. It immediately states the action and scope, making it easy for an agent to parse.

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

Completeness4/5

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

For a simple read tool with full parameter documentation, annotations covering safety, and an output schema, the description is nearly complete. It could be improved by explicitly routing the agent away from studio_copy_save, but the essential behavior is covered.

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

Parameters3/5

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

Schema description coverage is 100%, so both projectId and copyId are already documented in the schema. The description adds no parameter-specific meaning beyond implying ownership and a saved version, 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.

Purpose4/5

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

The description states a specific verb and resource: read an owned saved customer-AI text version. It also distinguishes itself from generation tools by noting 'without generating or charging.' However, it does not explicitly contrast with the sibling save tool or name an alternative, so sibling differentiation relies partly on the tool name.

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

Usage Guidelines3/5

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

The phrase 'without generating or charging' implies when not to use this tool, but there is no explicit guidance on when to choose it over studio_copy_save or generation/result tools. The usage context 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.

studio_copy_saveSave my AI’s text variationsA
Idempotent
Inspect

Saves finished customer-authored headline/caption drafts and supporting source facts as a free text version. Identical source/revision/result inputs return the saved version. No Brix36 language-model request, publishing or credit charge.

NameRequiredDescriptionDefault
resultYes
projectIdYesThe current owned project.
sourceTextYesExact customer-supplied source facts supporting the draft.
finishedAssetIdNoOptional completed master the text accompanies.
expectedRevisionYesCurrent project revision. A stale revision returns revision_conflict.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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 usefully reinforces idempotency semantics ('identical source/revision/result inputs return the saved version') and adds non-obvious traits not in annotations — no LLM call, no publishing, no credit charge. It doesn't describe what a successful response returns, but that is largely covered by the output schema.

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

Conciseness5/5

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

Two dense sentences, front-loaded with the core action and followed by the behavioral guarantees. Every clause earns its place — the cost/publishing/LLM disclaimer is exactly what an agent needs to avoid a wrong tool choice.

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

Completeness4/5

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

With an output schema present and annotations covering the safety profile, the description covers the essentials: what is saved, idempotency, and the absence of cost or publishing side effects. Minor gaps remain — it never mentions the optional finishedAssetId linkage or what a stale expectedRevision produces — but the schema carries the latter.

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

Parameters3/5

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

Schema coverage is 80%, so the schema already documents projectId, sourceText, finishedAssetId and expectedRevision. The description only echoes 'source/revision/result' in the idempotency sentence and adds no syntax, format, or constraint detail 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.

Purpose5/5

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

States a specific verb and resource — 'Saves finished customer-authored headline/caption drafts and supporting source facts as a free text version' — which is immediately distinguishable from the read-side sibling studio_copy_read and from generation tools. An agent knows exactly what artifact this persists 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.

Usage Guidelines4/5

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

It gives clear context for choosing this tool: the operation makes no language-model request, does no publishing, and incurs no credit charge, so an agent can tell it apart from paid generation/confirm tools. It does not explicitly name alternatives or state prerequisites (e.g., needing an existing project), so it stops 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.

studio_creative_resultRead the finished creative resultA
Read-onlyIdempotent
Inspect

Returns an owned completed creative result by operationId with image.url or video.url, downloadUrl and gallery-widget data. Links are private and signed; another read refreshes expired links. The original source is retained. No processing or charge is repeated.

NameRequiredDescriptionDefault
projectIdYesThe current owned project.
operationIdYesQuoted operation ID.

Output Schema

NameRequiredDescription
urlNo
codeNo
kindNo
noteNo
viewNo
imageNo
itemsNo
videoNo
issuesNo
resultNo
assetIdNo
messageNo
mimeTypeNo
resultIdNo
projectIdNo
contentHashNo
downloadUrlNo
mediaOriginNo
outcomeUnknownNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds real value beyond them: links are private and signed, a repeat read refreshes expired links, the original source is retained, and no processing or charge is repeated. The charge/re-processing note in particular is behavior an agent needs before re-calling.

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

Conciseness4/5

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

Front-loaded with purpose and packed into a few tight clauses; nothing is redundant filler. The signing/refresh/charge notes each carry distinct information, though the run-on structure is slightly dense.

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

Completeness4/5

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

With an output schema present the description does not need to explain return values, and it still sketches the payload shape. Annotations cover the safety profile and the description covers link expiry and billing behavior, so the definition is complete enough; only explicit sibling routing is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both projectId and operationId are already documented in the schema. The description only restates that the result is addressed 'by operationId' and adds no format, scoping, or ownership semantics beyond it, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource: it returns an owned, completed creative result keyed by operationId, and enumerates the payload (image.url/video.url, downloadUrl, gallery-widget data). This is clearly distinct from status/quote tools, but it never explicitly differentiates itself from close siblings like studio_image_result or studio_motion_result, leaving the agent to infer which result tool to pick.

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

Usage Guidelines3/5

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

There is an implicit usage cue ('another read refreshes expired links'), which tells the agent it is safe to re-call when links stale. However, there is no explicit when-to-use/when-not guidance and no named alternative among the many sibling result/status tools, so the agent must infer the routing itself.

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

studio_credits_balance_readRead Brix36 credit balanceA
Read-onlyIdempotent
Inspect

Read the connected customer wallet. Returns productionBalance, sandboxBalance, spendableBalance, status, reviewReason and sandboxSpendingEnabled from the app ledger. A review_required wallet cannot spend. Free; purchases remain in the Brix36 app.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive behavior, and the description adds real value on top: the wallet ledger is authoritative ('from the app ledger'), a review_required wallet cannot spend, the call is free, and purchases stay in the Brix36 app. It stops short of describing pagination or failure modes, but those are largely irrelevant for a zero-param read.

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

Conciseness4/5

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

Three short sentences, front-loaded with the core action and the returned fields, then the review/spend caveat, then cost. No filler, though the trailing 'purchases remain in the Brix36 app' is the weakest sentence and slightly off-topic.

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

Completeness5/5

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

An output schema exists and annotations carry the safety profile, so the description only needs to establish scope and the key caveat — which it does. For a zero-parameter read tool, nothing needed 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.

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and schema coverage is 100% with nothing to document. The description correctly adds no parameter claims that could conflict.

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

Purpose4/5

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

The description states a specific verb and resource ('Read the connected customer wallet') and enumerates the returned balance fields, so an agent knows exactly what this retrieves. It does not explicitly distinguish itself from the closest sibling, studio_credit_usage_list, leaving that inference to the reader.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the agent can infer this is the tool for checking spendable credit before a generation. The 'Free' note gives cost context, but no when-to-use/when-not conditions or named alternatives (e.g., credit usage history) are provided.

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

studio_credit_usage_listList Brix36 credit activityA
Read-onlyIdempotent
Inspect

Lists the connected customer's purchases, spends, refunds and adjustments newest first. Returns signed amounts, source, time, accessible projectTitle and nextCursor. Pagination preserves the cursor value. No wallet changes.

NameRequiredDescriptionDefault
limitNoMaximum items to return, 1–50. Default 20.
cursorNoOpaque previous-page nextCursor; absent for the first page.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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 covered. The description adds useful context beyond that: pagination is cursor-preserving and explicitly 'No wallet changes', reassuring the agent this is a pure read of a ledger.

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

Conciseness4/5

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

Four short, front-loaded sentences with no filler. The enumerated return fields ('signed amounts, source, time, accessible projectTitle and nextCursor') are slightly redundant given an output schema exists, but the text remains tight.

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

Completeness4/5

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

With only two fully documented optional parameters and an output schema, an agent has everything needed to call it correctly, and the description reinforces the read-only ledger semantics. The only missing piece is routing guidance versus the balance-read sibling.

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

Parameters3/5

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

Schema description coverage is 100%, so limit and cursor are already fully documented in the schema, including the 1–50 range and the default. The description's note that 'pagination preserves the cursor value' adds a small behavioral nuance but no new parameter syntax or constraints.

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

Purpose5/5

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

States a specific verb and resource ('Lists the connected customer's ... purchases, spends, refunds and adjustments') and adds scope details ('newest first'). This clearly separates it from the sibling studio_credits_balance_read, which reads a balance rather than an activity ledger.

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

Usage Guidelines3/5

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

The purpose implies when it is useful (auditing credit activity), but there is no explicit when-to-use/when-not guidance and no mention of the sibling studio_credits_balance_read as the alternative for balance queries. Usage must be inferred.

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

studio_film_add_lineAdd a Film dialogue lineA
DestructiveIdempotent
Inspect

Add one finished dialogue line to a scene and return its lineId. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
textYesThe finished dialogue line.
projectIdYesThe Film project id.
sceneIndexYesThe saved scene index from studio_film_read.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint, destructiveHint, openWorldHint and readOnlyHint, so the bar is lower; the description still adds real value by naming the return value, the optimistic-concurrency contract via expectedRevision, the retry-reconciliation semantics, and the fact that no model call or credit is consumed. It omits what happens on a stale revision (conflict/error behavior) and where in the scene the line lands.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and return value before the concurrency/retry mechanics and the cost note. Every clause carries information; nothing is padding.

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

Completeness5/5

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

With an output schema present and full parameter coverage, the description only needs to carry the behavioral contract, which it does: idempotent retry reconciliation, revision-based concurrency, and no credit charge. An agent has everything required to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all five parameters in detail. The description restates expectedRevision and operationId semantics rather than adding new meaning, so baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource ('Add one finished dialogue line to a scene') plus the return value ('return its lineId'), which inherently separates it from studio_film_edit_line and studio_film_remove_line. The closing claim 'No model call or credit charge' further distinguishes it from generation siblings such as studio_generation_* or studio_media_*.

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

Usage Guidelines4/5

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

Gives clear operating context: it needs expectedRevision (the current saved plan revision) and a stable operationId, and it explains that identical operationId/input retries reconcile to the same edit, which tells the agent how to behave on retry. It stops short of explicit exclusions or pointing to studio_film_edit_line for changes to an existing line.

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

studio_film_assign_actorAssign a Film dialogue actorA
DestructiveIdempotent
Inspect

Assign one available artist to one saved dialogue line. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
lineIdYesThe saved dialogue line id from studio_film_read.
artistIdYesAn available artist in this project’s workspace.
projectIdYesThe Film project id.
sceneIndexYesThe saved scene index from studio_film_read.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Goes beyond the annotations by explaining the optimistic-concurrency guard (expectedRevision = current saved plan revision) and the idempotent retry mechanism (identical operationId/input reconciles the same edit), plus a cost statement. What it omits is the destructive side implied by destructiveHint=true: whether an existing actor assignment is overwritten or how reassignment behaves.

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

Conciseness5/5

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

Two tight sentences: purpose first, then mechanism and cost. Every clause earns its place with no filler, and the key constraint is front-loaded.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and annotations carry the safety profile (idempotent, destructive, non-read-only). The description covers purpose, concurrency, idempotency, and cost; the only real gap is what happens to a prior assignment on reassignment.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all six parameters, including operationId and expectedRevision semantics. The description's sentence about those two fields largely restates what the schema says, adding no new syntax or format detail, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource: 'Assign one available artist to one saved dialogue line.' That is unambiguous about the action and the target. It does not differentiate from the many adjacent Film siblings (e.g. studio_film_set_speech_voice, studio_film_edit_line), 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.

Usage Guidelines3/5

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

Usage is implied through preconditions — the line must be 'saved' and the artist must be 'available' — and it notes the operation is free ('No model call or credit charge'). However it names no alternatives and gives no explicit when-to-use/when-not guidance, leaving the agent to infer when to call this vs. editing a line or setting a voice.

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

studio_film_direction_setSet Film direction and reference picturesA
DestructiveIdempotent
Inspect

Replace one scene’s direction and reference pictures. A null sceneIndex with empty text binds whole-Film references. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
textYes
projectIdYesThe Film project id.
sceneIndexYes
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.
referenceAttachmentIdsYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, but the description adds genuinely new behavior: expectedRevision-based optimistic concurrency, retry reconciliation via a stable operationId, and the fact that there is no model call or credit charge. It stops short of saying what a revision conflict returns or whether the replacement is reversible.

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

Conciseness5/5

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

Three dense, front-loaded sentences; the core action comes first, then the edge case, then the concurrency/idempotency contract. Nothing is padded.

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

Completeness4/5

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

For a destructive, revision-guarded mutation with an output schema (so return values need no prose), the description covers idempotency, the revision precondition, scoping, and cost. The only missing piece is explicit routing versus sibling write tools.

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

Parameters4/5

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

With only 50% schema description coverage, the description compensates by explaining the sceneIndex null case and the text coupling, and by tying expectedRevision to savedPlan.revision from studio_film_read. The text and referenceAttachmentIds parameters get only indirect treatment, which leaves a small gap.

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

Purpose5/5

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

States a specific verb (Replace) and resource (one scene's direction and reference pictures), and further scopes the special case where a null sceneIndex binds whole-Film references. An agent can distinguish this from studio_film_scenes_write or studio_film_script_write without opening their schemas.

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

Usage Guidelines3/5

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

It clarifies the null-sceneIndex/empty-text condition for whole-Film binding, which implies scope selection, but never states when to prefer this tool over sibling writers like studio_film_scenes_write or what happens on revision mismatch. 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.

studio_film_edit_lineReplace a Film dialogue lineA
DestructiveIdempotent
Inspect

Replace the text of one saved dialogue line. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
textYesThe finished replacement dialogue line.
lineIdYesThe saved dialogue line id from studio_film_read.
projectIdYesThe Film project id.
sceneIndexYesThe saved scene index from studio_film_read.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=true, and the description usefully explains the mechanism behind idempotency (identical operationId/input retries reconcile the same edit) plus the optimistic-concurrency role of expectedRevision. It also adds the cost behavior ("no model call or credit charge"), which is not derivable from annotations. It does not say what happens on a revision conflict, which is the one gap.

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

Conciseness5/5

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

Three short sentences, each earning its place: purpose first, then concurrency/idempotency mechanics, then cost. No filler, no repetition of the title, and the operative constraint is front-loaded.

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

Completeness4/5

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

An output schema exists and annotations cover the safety profile, so the description needn't explain return values. It supplies the concurrency and retry contract an agent needs, but omits failure behavior when expectedRevision is stale, which matters for a destructive revision-guarded write.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes beyond per-parameter text by explaining how expectedRevision and operationId work together for concurrency and safe retries. It adds real semantics rather than restating the schema.

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

Purpose4/5

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

States a specific verb and resource: "Replace the text of one saved dialogue line." That cleanly separates it from sibling mutators like studio_film_add_line and studio_film_remove_line by implication, but it never names an alternative explicitly, so sibling differentiation is left to inference.

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

Usage Guidelines3/5

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

The description implies usage context (revising an already-saved line, retries via operationId) and notes no model call or credit charge, which hints at when it is cheap/safe to call. However, it gives no explicit when-to-use/when-not guidance and never routes the agent to studio_film_read first or contrasts with add/remove alternatives.

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

studio_film_readRead the Film, cast and dialogueA
Read-onlyIdempotent
Inspect

Returns saved Film scenes, dialogue, cast, voice assignments, planning state and savedPlan.revision. Add include:['languages'] for supportedLanguages and nativeSpeechLanguages (the video model's own speech), and include:['artists'] for every artist who can join the cast; leave include out for the project view. nativeSpeechEngines holds model-specific evidence. Saved per-scene voice choices determine routing; absent saved voices use native speech. Audio-off prices are unavailable for speaking scenes. operationId reads prior plan progress without starting or settling work.

NameRequiredDescriptionDefault
includeNoOptional extras: 'languages' adds supportedLanguages and nativeSpeechLanguages; 'artists' adds availableArtists. Omit for the project view.
projectIdYesThe Film project id.
operationIdNoStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower; the description still adds real behavioral context: routing is determined by saved per-scene voice choices with native speech as fallback, audio-off prices are unavailable for speaking scenes, and operationId has retry-stable semantics. This is meaningful context beyond the annotations, though it does not cover auth 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.

Conciseness4/5

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

Front-loaded with what is returned, then include behavior, then behavioral notes. Dense but each clause carries information; it reads as a single packed paragraph rather than cleanly separated points, which slightly hurts scannability.

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

Completeness4/5

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

An output schema exists so return values need not be explained, yet the description still usefully frames the return surface and the include-based variations. Combined with annotations it is nearly complete, missing only auth/permission requirements.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds meaning beyond the schema by explaining what 'languages' exposes (nativeSpeechLanguages, nativeSpeechEngines as model-specific evidence), what 'artists' returns, and the retry-stable nature of operationId. The include guidance largely restates the schema description, keeping it from a 5.

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

Purpose5/5

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

States a specific verb (returns/reads) and a rich, enumerated resource set: Film scenes, dialogue, cast, voice assignments, planning state, savedPlan.revision. An agent can distinguish this read tool from the many studio_film_* write siblings (scenes_write, script_write, assign_actor) 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.

Usage Guidelines4/5

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

Gives conditional usage for the include options (add 'languages' / 'artists', omit for the project view) and clarifies that operationId reads prior plan progress 'without starting or settling work', implicitly distinguishing it from tools that initiate work. It never names a specific sibling alternative, so it stops 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.

studio_film_remove_lineRemove a Film dialogue lineA
DestructiveIdempotent
Inspect

Remove one saved dialogue line. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
lineIdYesThe saved dialogue line id from studio_film_read.
projectIdYesThe Film project id.
sceneIndexYesThe saved scene index from studio_film_read.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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 goes beyond them by disclosing the optimistic-concurrency contract (expectedRevision must match the current saved plan) and the idempotency key semantics of operationId, plus the absence of model calls or credit charges — real operational context.

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

Conciseness5/5

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

Two sentences, front-loaded with the action, then the concurrency/idempotency mechanics. No filler, no restatement of the title.

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

Completeness4/5

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

With an output schema present, return values needn't be explained, and the description covers the mutation's risk profile, retry behavior, and cost. The one gap is failure behavior — what happens when expectedRevision is stale (error vs. reconcile) is not stated, which matters for a destructive, revision-guarded call.

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

Parameters3/5

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

Schema description coverage is 100%, and every parameter (lineId, sceneIndex, expectedRevision, operationId) is already documented there, including the source tool for saved ids. The description names expectedRevision and operationId but adds no format or edge-case detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

States a precise verb+resource: 'Remove one saved dialogue line.' An agent can immediately distinguish it from studio_film_add_line and studio_film_edit_line without opening any schema. The scope word 'saved' signals it operates on persisted plan state rather than a draft.

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

Usage Guidelines3/5

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

It conveys a cost signal ('No model call or credit charge') and retry behavior, which implicitly tells the agent this is a cheap, safe-to-retry mutation. However, it never states when to prefer this over studio_film_edit_line (e.g., emptying a line) or that studio_film_read is required first to obtain lineId/revision — that sequencing only appears in the schema property text.

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

studio_film_scenes_writeSave finished Film scenesA
Idempotent
Inspect

Saves finished Film scenes, visualWorld, camera directions and dialogue against the current revision. Scenes form 30-second cards, with at most six spoken lines per card and five minutes per Film. Identical operationId/input retries return the saved result. visualWorld is required for quoting. No Brix36 planning model, media generation or credit charge.

NameRequiredDescriptionDefault
scenesYes
castIdsYes
languageYesThe selected supported Film language; studio_film_read with include:['languages'] lists them. Text is preserved, never translated.
projectIdYesA project created by studio_video_start with kind film.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
visualWorldNoBoard-wide visual facts. Optional characters, vehicles, locations, props and never are arrays of up to 12 non-empty strings, each at most 300 characters. Combined rendered fields are limited to 2,400 characters including labels, separators and newlines after trimming. Scene-specific costume and visual direction belong to scene text.
expectedRevisionIdYesThe exact revisionId from studio_sections_read; null only for a Film with no storyboard.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Adds real behavioral context beyond annotations: card/line/duration limits (30-second cards, six lines, five minutes), optimistic-concurrency framing via the current revision, and explicitly that there is no Brix36 planning model, media generation or credit charge. The retry sentence partly restates idempotentHint=true but adds the "returns the saved result" semantics. No permission/auth disclosure, which is the main remaining gap.

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

Conciseness4/5

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

Four compact sentences, front-loaded with the core action before constraints and cost notes. Dense but nearly every clause carries a distinct fact; only the retry sentence overlaps with the idempotency annotation.

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

Completeness4/5

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

Output schema exists, so return values need no explanation, and the description covers the important operational constraints (limits, concurrency, no credit charge) for a complex nested write tool. It is only incomplete in that it never positions itself against sibling write tools or notes permission requirements.

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

Parameters3/5

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

Schema coverage is a moderate 71% and the schema already documents most parameters in detail (scenes shape, castIds ordering, language, expectedRevisionId, operationId). The description contributes only the "visualWorld is required for quoting" constraint; it doesn't explain expectedRevisionId null semantics or the scenes array structure. Baseline 3 fits.

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

Purpose4/5

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

Specific verb ("Saves") plus a concrete resource list (Film scenes, visualWorld, camera directions, dialogue) tied to a scope ("against the current revision"). An agent knows exactly what the call persists, though it never distinguishes itself from close siblings like studio_film_script_write or studio_sections_update.

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

Usage Guidelines3/5

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

Implies usage through qualifiers — "finished" scenes, work against "the current revision," and the note that visualWorld is required for quoting — but never states when to choose this over studio_film_script_write or studio_sections_update, nor any prerequisites such as auth or project state.

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

studio_film_script_writeImport a finished Film scriptA
Idempotent
Inspect

Imports finished screenplay-style Film text, with SCENE headings, NAME: dialogue and optional visualWorld. Preserves scenes, dialogue and speaker names, caps Film at five minutes and reports uncast speakers. Identical retries return the same plan. A visualWorld is required for quoting. No Brix36 planning model or credit charge.

NameRequiredDescriptionDefault
castNoOptional: artist names to cast, in slot order. Names must be the customer's own artists.
scriptYesThe finished script, exactly as written. Its language is preserved as-is.
languageYesThe selected Film language. The host validates its actual model capability; text is not translated.
projectIdYesFrom studio_video_start with kind 'film'.
visualWorldNoBoard-wide visual facts. Optional characters, vehicles, locations, props and never are arrays of up to 12 non-empty strings, each at most 300 characters. Combined rendered fields are limited to 2,400 characters including labels, separators and newlines after trimming. Scene-specific costume and visual direction belong to scene text.
expectedRevisionIdYesThe revisionId from studio_sections_read, or null only when no storyboard exists.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, and the description reinforces idempotency ('identical retries return the same plan') while adding genuinely new context: the five-minute cap, uncast-speaker reporting, the visualWorld-for-quoting prerequisite, and that there is no Brix36 planning model or credit charge. That is meaningful behavioral disclosure 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.

Conciseness4/5

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

Three tight sentences with the core action front-loaded, followed by input format, constraints, and cost. No filler, though the Brix36/credit-charge clause is somewhat internal jargon that could be trimmed for an external agent.

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

Completeness4/5

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

Given a nested visualWorld object and an output schema (so return values need no explanation), the description covers the expected script format, the duration cap, idempotency, the quoting prerequisite and the no-cost/no-planning-model behavior. Only the sibling routing decision is left unspecified.

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

Parameters4/5

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, but the description adds a conditional constraint the schema does not make explicit — visualWorld is optional in the schema yet 'required for quoting' — and ties the cast/speaker handling to the reported uncast speakers. Useful added meaning over the schema text.

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

Purpose4/5

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

States a specific verb and resource ('Imports finished screenplay-style Film text') and specifies the expected input shape (SCENE headings, NAME: dialogue), which lets an agent distinguish it from the incremental studio_film_scenes_write / studio_film_add_line siblings. It stops short of explicitly naming those alternatives, so sibling differentiation is inferable 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.

Usage Guidelines3/5

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

Gives conditional context — visualWorld is required for quoting, Film is capped at five minutes, uncast speakers are reported — but never says when to choose this tool over studio_film_scenes_write or the film line-editing tools. Usage is implied by the 'finished script import' framing rather than spelled out with exclusions.

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

studio_film_set_durationSet Film scene durationA
DestructiveIdempotent
Inspect

Set one scene’s duration, normalized to 4–30 seconds; later scenes move to follow it. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
projectIdYesThe Film project id.
durationMsYesHow long this scene lasts, in milliseconds. Brought onto the 4-30 second range, in whole seconds; later scenes move to follow it and the quote prices the new length.
sceneIndexYesThe saved scene index from studio_film_read.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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 partly covered. The description adds real value beyond them: it explains the cascade to later scenes, the 4–30s normalization/clamping, the idempotent retry reconciliation via operationId, and the absence of billing — details an agent cannot infer from the annotations alone.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action and its normalization/cascade effect, then the revision/operationId contract and cost note. No filler, and each clause carries distinct information.

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

Completeness5/5

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

For a mutation with an output schema and full annotation coverage, the description supplies the missing pieces an agent needs: downstream scene effects, clamping behavior, concurrency via expectedRevision, idempotent retries, and zero cost. Return-value explanation is unnecessary given the output schema.

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

Parameters4/5

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

Schema description coverage is 100%, so a baseline of 3 applies. The description goes further by explaining the relationship between expectedRevision (current saved plan revision) and operationId (identical retries reconcile to the same edit), which adds semantic meaning about concurrency and idempotency beyond the individual field docs.

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

Purpose5/5

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

States a specific verb and resource (set one scene's duration) and immediately scopes behavior: normalization to 4–30 seconds with later scenes following. This is distinguishable from generic siblings like studio_film_scenes_write or studio_film_edit_line, which have no such duration-specific normalization contract.

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

Usage Guidelines3/5

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

Provides useful operating context (must pass the saved plan revision and a stable operationId for safe retries) and notes there is no model call or credit charge. However, it never names an alternative tool or states when to prefer this over studio_film_scenes_write or studio_film_edit_line, so usage is implied rather than directed.

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

studio_film_set_lip_syncSet Film scene lip syncA
DestructiveIdempotent
Inspect

Set the lip-sync choice for one saved scene. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
choiceYes
sceneIdYesThe stableSceneId from studio_film_read.
projectIdYesThe Film project id.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=true; the description reinforces idempotency with concrete semantics ('identical operationId/input retries reconcile the same edit') and adds a genuinely useful capability/cost disclosure ('No model call or credit charge'). It does not explain what the destructiveHint overwrites (the previous choice) or what happens on a revision conflict.

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

Conciseness5/5

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

Three dense sentences, front-loaded with the action, then the concurrency/idempotency contract, then the cost note. No filler and nothing repeated from the schema.

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

Completeness4/5

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

An output schema exists so return values need no explanation, and the description covers idempotency, revision-based concurrency, and cost. Minor gaps remain around conflict behavior and the semantics of a null choice, but nothing essential to invoking it correctly is missing.

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

Parameters4/5

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

Schema coverage is 80%, so most parameters are already documented. The description adds real meaning for expectedRevision (the current saved plan revision, i.e. optimistic concurrency) and operationId (stable id whose identical retries reconcile to one edit), beyond the schema's generic phrasing. The 'null' choice value remains unexplained.

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

Purpose4/5

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

States a specific verb and resource ('Set the lip-sync choice for one saved scene') and scopes it to a single scene, which separates it from project-wide siblings like studio_film_set_speech_voice. It does not explicitly name or contrast an alternative, 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.

Usage Guidelines3/5

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

The mention of expectedRevision 'the current saved Film plan revision' and the retry semantics implies the read-then-write workflow, but the description never says when to use this versus siblings such as studio_sections_set_line_sync or studio_film_toggle_sound, and gives no prerequisites or exclusions.

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

studio_film_set_speech_voiceSet a Film character’s scene voiceA
DestructiveIdempotent
Inspect

Set the saved-character or native speech voice choice for one character in one scene. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
artistIdYesA speaking cast character in this Film.
projectIdYesThe Film project id.
sceneIndexYesThe saved scene index from studio_film_read.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.
voiceDescriptionNoOptional native voice direction.
useCharacterVoiceYesThe customer’s voice choice for this scene and character: true selects the saved voice; false selects native video-model speech.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true and destructiveHint=true; the description reinforces idempotency (reconciliation of identical retries) and adds a cost signal ('no model call or credit charge'). But it never says what the destructive overwrite actually replaces for this scene/character, so the destructiveHint is left unelaborated.

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

Conciseness4/5

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

Three tight sentences with the core action front-loaded, followed by the revision/operationId contract and then the cost note. No filler or repetition, though the second sentence packs several concepts together.

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

Completeness4/5

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

With annotations covering safety/idempotency and an output schema handling return values, the description supplies the missing optimistic-concurrency contract (expectedRevision + stable operationId) and the cost profile. Only the destructive consequence of the write is left unexplained.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all seven parameters including the useCharacterVoice saved-vs-native semantics. The description only names expectedRevision, operationId and the voice choice, restating schema content without adding format or syntax detail beyond it.

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

Purpose4/5

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

The description names a specific verb (set), resource (speech voice choice), and precise scope (one character in one scene, saved-character vs native), which an agent can act on directly. It stops short of naming the nearest sibling (e.g., studio_artist_voice_choose or studio_film_toggle_sound) to disambiguate, so it is clear but not sibling-differentiating.

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

Usage Guidelines3/5

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

It gives useful operational context on retries via identical operationId/input and notes there is no model call or credit charge, which helps an agent decide this is a cheap edit. However, it never states when to prefer this over adjacent voice/toggle tools, nor any prerequisites beyond reading revision.

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

studio_film_toggle_cameraToggle a Film speaker’s visibilityA
DestructiveIdempotent
Inspect

Toggle whether one dialogue line’s speaker is on camera. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
lineIdYesThe saved dialogue line id from studio_film_read.
projectIdYesThe Film project id.
sceneIndexYesThe saved scene index from studio_film_read.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true, destructiveHint=true, readOnlyHint=false, so the safety profile is covered. The description usefully adds that retries with an identical operationId/input reconcile the same edit and that there is no model call or credit charge. What it does not clarify is what the destructive/mutating aspect actually affects (e.g. revision bump or failed-edit behavior), leaving a gap against the destructiveHint annotation.

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

Conciseness5/5

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

Two tight sentences, purpose front-loaded, with mechanics and cost following. No filler and nothing redundant with the schema.

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

Completeness4/5

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

An output schema exists, so return values needn't be described, and annotations carry the safety profile. The description covers cost, idempotency, and the revision/operationId contract, but omits what happens on a revision conflict or why the tool is flagged destructive, which would round out a mutation tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds semantics beyond the schema for operationId and expectedRevision by framing them around retry reconciliation and the saved plan revision, which helps an agent understand concurrency intent, though it does not touch the other three parameters.

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

Purpose5/5

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

States a specific verb (toggle) and a precise resource (whether one dialogue line's speaker is on camera). This clearly separates it from adjacent siblings like studio_film_toggle_sound and studio_film_set_lip_sync without needing to name them.

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

Usage Guidelines3/5

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

The description explains mechanics (uses expectedRevision, operationId, retry reconciliation) but never says when to reach for this tool versus alternatives such as studio_film_assign_actor or other Film edit tools. Usage is only implied by the purpose statement.

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

studio_film_toggle_soundToggle a Film sound layerA
DestructiveIdempotent
Inspect

Toggle one Film music, background or effects layer. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.

NameRequiredDescriptionDefault
layerYes
projectIdYesThe Film project id.
operationIdYesStable operation identifier. Identical retries retain the original identifier; new work has a distinct identifier.
expectedRevisionYesThe savedPlan.revision from studio_film_read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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 value beyond them by explaining the reconciliation semantics of identical operationId/input retries and confirming there is no model call or credit charge. It stops short of saying what state is lost when a layer is switched off.

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

Conciseness5/5

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

Three tight clauses, front-loaded with the operation and scope, then the key parameters and the retry rule, then the cost note. No filler and every sentence carries information.

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

Completeness4/5

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

An output schema exists, so return values need not be described. The description covers scope, concurrency token, idempotency and cost, which is sufficient for a mutation tool; only the effect of toggling a layer off is left implicit.

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

Parameters4/5

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

Schema coverage is 75%, and the description reinforces the two subtle parameters: operationId as a stable retry key and expectedRevision as the current saved plan revision used for concurrency control. This adds concurrency/idempotency meaning the schema descriptions only partially convey.

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

Purpose5/5

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

The description names a specific verb (toggle) and resource (one Film music, background or effects layer), enumerating the exact scope of the operation. It is clearly distinguishable from adjacent siblings such as studio_film_toggle_camera, which toggles a different layer domain.

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

Usage Guidelines3/5

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

It states the calling preconditions (expectedRevision = current saved Film plan revision, stable operationId) and the safe-retry rule, which is real usage context. However it never states when to prefer this over an alternative or any exclusion, so guidance remains implied rather than explicit.

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

studio_generation_confirmStart a generation the customer approvedA
DestructiveIdempotent
Inspect

Spends Brix36 credits and starts the quoted work under the customer's financial approval. In chat mode, stage:pictures records one approval for pictures and video using the original operationId, quoteToken, priceVersion, quotedCredits and revisionId. Insufficient balance returns balance, shortfall and creditsInformationUrl without a checkout. Stage:video uses the current picture revision and the same financial approval, subject to the existing readiness gates. Identical stage and argument retries reconcile the same operation. New authorizations retain pause/cap, OAuth studio.spend, account and exact-quote checks. The response waits up to 45 seconds for the started stage and includes current progress, a finished video link when available, or the free status-call arguments for work still rendering. Existing page-approved operations and confirmationToken codes remain supported.

NameRequiredDescriptionDefault
stageNoChat mode: pictures records one financial approval and starts pictures; video starts video under that same approval and the current readiness gates. Each retry retains its original stage.
modelIdNoOptional with an approved quote (the approved model is used). Otherwise the id of the model the customer chose, from that quote's models list.
projectIdYes
quoteTokenYesThe exact opaque quoteToken returned by studio_generation_quote.
revisionIdNoFor pictures, the quoted revisionId; for video, the current picture revision with applicable readiness checks satisfied.
operationIdYesThe same id used for this operation at quote time.
priceVersionNoExact version of the combined quote the customer approved.
quotedCreditsNoExact totalCredits approved by the customer; bound to the quoted price.
confirmationTokenNoBrix36-issued code for an existing app-approved operation. New chat approvals are bound by the chat-stage quote fields.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, it discloses a lot: credits are spent, insufficient balance returns balance/shortfall/creditsInformationUrl with NO checkout, identical stage+argument retries reconcile the same operation, new authorizations enforce pause/cap plus OAuth studio.spend and exact-quote checks, and the response can wait up to 45 seconds. This goes well past destructiveHint/idempotentHint and gives the agent the failure and timing model.

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

Conciseness4/5

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

The committing action is front-loaded in the opening clause and each subsequent sentence covers a distinct topic (stages, retries, auth, response). It is dense and long for a single paragraph, but there is essentially 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.

Completeness5/5

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

For a 9-parameter, credit-spending, open-world mutation with an output schema, the description covers preconditions, per-stage behavior, balance-failure outcome, idempotency, auth requirements and the wait/response shape. Since an output schema exists, return-value detail is not required, and what is stated is enough to invoke correctly.

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

Parameters4/5

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

Schema coverage is already 89%, so the baseline is 3, but the description adds cross-field logic the schema cannot express — that stage:pictures binds one approval across pictures and video using operationId, quoteToken, priceVersion, quotedCredits and revisionId, and that stage determines which revisionId is valid. That relational guidance is genuinely additive.

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

Purpose5/5

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

The first sentence names a specific verb and resource (spends Brix36 credits, starts the quoted work) and scopes it to a customer-approved quote, which distinguishes it from the sibling studio_generation_quote and studio_generation_status. An agent can tell immediately that this is the committing step after a quote, not the quoting or polling step.

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

Usage Guidelines4/5

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

It states the precondition (customer financial approval) and distinguishes the two modes clearly: chat-mode stage:pictures records one approval for pictures and video, while stage:video starts video under that same approval subject to readiness gates. It also covers retry semantics and legacy confirmationToken paths, though it never names the concrete sibling to call first (studio_generation_quote) in the description text.

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

studio_generation_quotePrice a generation (nothing is charged)A
Read-onlyIdempotent
Inspect

Prices missing storyboard pictures plus the exact video price for one run without spending credits. Returns totalCredits, totalGbpInclVat, balance, shortfall, signed quoteToken, operationId, revisionId and priceVersion. engineRecommendations contains server-ranked choices, current selections and quoted alternatives; section engine selection returns a revised quote. Film quotes include per-character, per-scene speech, motion and lip-sync routes, or historical_unavailable when prior evidence is absent. Chat-mode confirmation uses these exact quote fields. The saved financial approval covers pictures and video; requested picture changes have separate quotes. No checkout or approval-page URL is created. Existing app approvals and issued codes remain supported.

NameRequiredDescriptionDefault
scopeYes'whole' for the whole song, 'ticked' for the sections currently ticked on the board.
projectIdYes
operationIdYesStable operation identifier shared by this quote and its confirmation.
stillQualityNoPicture quality for the pictures. Default high.
stillShotIdsNoOptional customer-selected stableShotIds from studio_sections_read. Absence selects every shot without a picture. Other shots may have separate later quotes and financial approvals.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, but the description adds meaningful traits beyond them: no credits are spent, no checkout or approval-page URL is created, shortfall and balance are returned, quoteToken is signed, and film routes fall back to historical_unavailable when prior evidence is absent. It stops short of describing freshness/expiry of the quote token 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.

Conciseness3/5

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

The core purpose is correctly front-loaded, but the remainder is a dense run-on chain of statements, including an enumeration of return fields (totalCredits, totalGbpInclVat, balance, shortfall, quoteToken, etc.) that duplicates the existing output schema. Several edge cases are crammed without grouping.

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

Completeness4/5

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

With an output schema and full safety annotations present, the description still supplies the workflow context an agent needs: the operationId link to confirmation, the engineRecommendations selection loop, film pricing routes, and the fact that requested picture changes get separate quotes and no checkout URL is produced. Only quote validity/expiry behavior is missing.

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

Parameters3/5

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

Schema description coverage is already 80% and the two enums (scope, stillQuality) are documented inline, so the schema carries most parameter meaning. The description only adds the relationship that operationId is shared with the confirmation; it adds no format or selection detail for stillShotIds or stillQuality beyond the schema.

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

Purpose4/5

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

States a specific verb and resource: it prices the missing storyboard pictures plus the exact video price for one run without charging. That is clearly distinguishable from studio_storyboard_stills_quote and studio_motion_quote, though those siblings are never named explicitly, so the agent must infer the split from context.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the operationId being 'shared by this quote and its confirmation' suggests this precedes studio_generation_confirm, and 'section engine selection returns a revised quote' hints at a re-quote flow. There is no explicit when-to-use, when-not, or named alternative for a picture-only quote.

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

studio_generation_statusWhere an approved generation has got toA
Read-onlyIdempotent
Inspect

Waits up to 45 seconds for an active rendering stage to finish, then returns its current state and continuation data. Reads a saved whole-job or picture-only operation by its original projectId and operationId. Returns approval and generation state, next-step data, balance or shortfall where applicable, and any fresh unapproved quote. Whole-job states include making_pictures, pictures_ready, video_waiting_for_payment, starting_video, making_video and failed. Picture-only approval covers only its quoted pictures. Video retains the original financial approval and applicable readiness gates; likeness not_required needs no likeness verdict. This free read does not advance stages or charge credits.

NameRequiredDescriptionDefault
projectIdYes
operationIdYesThe original operationId from studio_generation_quote or studio_storyboard_stills_quote.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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 bar is lower, yet the description still adds real signal: a 45-second wait bound, the enumerated whole-job states, and the explicit note that this is a free read that does not advance stages or charge credits. That no-charge/no-side-effect statement is exactly the kind of operational context annotations cannot carry. It is slightly redundant with readOnlyHint, which keeps it from 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.

Conciseness4/5

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

Front-loaded with the core behavior (wait, then return state) before the state enumerations and edge-case rules. Six sentences is on the long side and a few clauses are dense, but the enumeration and the picture-only/video/likeness rules are decision-relevant rather than filler, so little could be cut without losing meaning.

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

Completeness4/5

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

For a two-parameter read tool with full annotations and an output schema, the description is near-complete: it covers timing, idempotency-by-implication, the state vocabulary, and the guarantee of no side effects or charges. The remaining gap is the unstated relationship to the sibling studio_generation_wait, which an agent would need to choose between the two confidently.

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

Parameters4/5

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

With only 50% schema description coverage, the description must carry weight, and it does: it tells the agent both parameters identify an existing saved operation and that operationId is the original id from a quote tool, and that picture-only approval covers only its quoted pictures. The schema documents operationId but leaves projectId bare, so the added provenance and scope meaning compensates meaningfully.

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

Purpose4/5

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

Opens with a specific verb and resource: waits up to 45 seconds for an active rendering stage, then returns state and continuation data, and identifies the target as a saved whole-job or picture-only operation keyed by original projectId/operationId. That is far more than a restatement of the name. It does not, however, differentiate itself from the sibling studio_generation_wait, leaving the agent to infer which polling tool to pick.

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

Usage Guidelines4/5

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

Gives clear context for use: call it for an already-approved operation, passing the operationId that originated from studio_generation_quote or studio_storyboard_stills_quote (the schema description names those sources). It stops short of explicit exclusions or a direct comparison against studio_generation_wait, so the routing decision 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.

studio_generation_waitWait for rendering and the finished video linkA
Read-onlyIdempotent
Inspect

Waits up to 45 seconds for active picture generation or the finished video. projectId identifies the video; optional operationId identifies its original picture/video approval. A pending response is a nonterminal timeout containing the exact nextCall for another bounded wait. A completed video response contains video.url. Free and read-only; no generation, approval, quote, payment or credit change.

NameRequiredDescriptionDefault
projectIdYes
operationIdNoOriginal operationId, when waiting on the picture stage or a combined generation.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive and closed-world behavior, so the bar is lower. The description still adds genuinely new traits: the 45-second bound, the nonterminal-timeout semantics, the nextCall continuation token, and an explicit assurance that no generation, approval, quote, payment or credit state changes.

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

Conciseness4/5

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

Three sentences, front-loaded with the action and its time bound, then the response semantics, then the safety statement. Dense but every clause carries information; the credential/approval list in the final sentence is slightly over-enumerated.

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

Completeness4/5

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

An output schema exists, so return values need not be spelled out, yet the description usefully points at video.url for the terminal case. Combined with the timeout/nextCall contract, this covers what an agent needs to call and continue the operation; only sibling comparison is absent.

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

Parameters4/5

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

Schema coverage is only 50% (projectId carries no schema description), and the description compensates by explaining that projectId identifies the video and that the optional operationId identifies the original picture/video approval. That adds the missing semantic context, though it does not clarify format or what happens if a stale operationId is supplied.

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

Purpose4/5

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

Opens with a specific verb and resource ('Waits ... for active picture generation or the finished video') and adds a concrete bound of 45 seconds, so the agent knows exactly what the call does. It does not name the nearest siblings (studio_generation_status, studio_video_status, studio_motion_wait), so the differentiation is left implicit 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.

Usage Guidelines3/5

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

The description explains the polling contract ('A pending response is a nonterminal timeout containing the exact nextCall for another bounded wait'), which tells an agent how to loop. However it never says when to choose this over studio_generation_status or studio_video_status, so the selection guidance is implied rather than explicit.

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

studio_get_skillRead a Brix36 creative skillB
Read-onlyIdempotent
Inspect

Returns one Brix36 creative skill, style card or writing guide by catalogue ID, including full body, version, hash and resource URI. Read-only.

NameRequiredDescriptionDefault
idYesExact id returned by studio_list_skills.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the description's 'Read-only' is redundant rather than informative. It does add useful content shape (full body, version, hash, resource URI) that the annotations do not cover, warranting a mid score rather than higher.

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

Conciseness4/5

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

A single front-loaded sentence that packs the resource, selector and payload contents with no filler. The trailing 'Read-only' is the one element that does not earn its place, since annotations already assert it.

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

Completeness4/5

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

With an output schema present, full annotation coverage and a fully described single parameter, the description supplies everything needed to invoke the tool correctly. Its only shortfall is the absence of any usage routing relative to list/lookup siblings.

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

Parameters3/5

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

One parameter with 100% schema description coverage; the schema already documents that 'id' is the exact id from studio_list_skills. The description's 'catalogue ID' phrasing adds no new syntax or constraint beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb ('Returns one') and resource ('Brix36 creative skill, style card or writing guide by catalogue ID'), so the action is unambiguous. Differentiation from the sibling studio_list_skills is only implied by the singular 'one ... by catalogue ID', not stated as an explicit contrast.

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

Usage Guidelines2/5

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

It states what it returns but never says when to reach for it versus studio_list_skills, nor what to do if the ID is unknown. The only routing hint ('Exact id returned by studio_list_skills') lives in the schema, not the description.

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

studio_image_confirmMake the approved pictureA
DestructiveIdempotent
Inspect

Spends Brix36 credits and starts one picture under the customer's financial approval of the exact quoted draftId and quoteId. Identical retries return the same operation without another charge.

NameRequiredDescriptionDefault
draftIdYesExact draftId returned with the picture price.
quoteIdYesExact quoteId returned with the picture price.
confirmationTokenNoCustomer-issued approval code, when the customer has one.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Adds material context beyond the annotations: it discloses a real financial cost ('Spends Brix36 credits'), the one-picture-per-call mutation, and explains the consequence of idempotentHint ('Identical retries return the same operation without another charge'). The credit-spend disclosure is exactly the kind of information annotations cannot carry.

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

Conciseness5/5

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

Two sentences, zero waste, front-loaded with the action and cost. The idempotency note is a worthwhile second sentence rather than padding.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and annotations plus the description cover the safety and cost profile. Missing only edge-case behavior (e.g., insufficient credits, failure handling), which is minor for a confirm tool.

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

Parameters3/5

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

Schema description coverage is 100%, so both required parameters and confirmationToken are already documented in the schema. The description reinforces that draftId/quoteId must be the quoted values but adds no syntax or format detail beyond what the schema provides, making 3 the correct baseline.

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

Purpose4/5

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

States a specific verb and resource ('spends Brix36 credits and starts one picture'), and its requirement of 'the exact quoted draftId and quoteId' implicitly separates it from studio_image_quote and studio_image_result. It does not explicitly name a sibling, so it falls short of 5.

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

Usage Guidelines4/5

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

Establishes a clear precondition: the customer's financial approval of the exact quoted draftId/quoteId, which implies the quote-then-confirm workflow. It gives context for use but names no explicit alternative or exclusion (e.g., versus studio_generation_confirm).

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

studio_image_quotePrice a pictureA
Read-onlyIdempotent
Inspect

Prices one standalone picture from a text prompt and optional owned uploads, using the same pricing as the Brix36 create box. Returns the exact credits and price with draftId and quoteId. Nothing is generated or charged.

NameRequiredDescriptionDefault
promptYesWhat the picture should show, in the customer's words.
draftIdNoStable draft ID for this picture. Optional when pricing; the price returns one. Reusing it with changed details reprices the same draft.
attachmentIdsNoOptional owned uploaded pictures that guide the result.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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 reinforces it with 'Nothing is generated or charged' and adds context the annotations do not carry — pricing parity with the Brix36 create box and the creation of a draftId/quoteId for later reuse.

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

Conciseness5/5

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

Two sentences, zero waste, front-loaded with what is priced before moving to return values and the no-side-effect guarantee. Every clause earns its place.

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

Completeness4/5

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

An output schema exists, so return fields need not be spelled out, and the description still names the key returned identifiers. For a three-parameter read-only quote tool this is nearly complete; the only gap is the missing pointer to the confirm step that consumes the returned quoteId/draftId.

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

Parameters3/5

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

Schema description coverage is 100%, so the prompt, draftId and attachmentIds semantics are already fully documented in the schema (including the repricing behavior of a reused draftId). The description adds no format, constraint or meaning beyond that, 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.

Purpose4/5

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

The description states a specific verb and resource: it 'prices one standalone picture from a text prompt and optional owned uploads.' The scope qualifier 'standalone picture' implicitly separates it from the more general studio_generation_quote and from studio_motion_quote / studio_storyboard_stills_quote, but no sibling is named 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.

Usage Guidelines3/5

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

The line 'Nothing is generated or charged' tells the agent this is a pre-flight, non-committing call, which implies when to reach for it. However, it never names the follow-up tool (studio_image_confirm) or states explicitly 'use this before confirming a picture generation,' and there are no exclusions or alternative routing rules.

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

studio_image_resultRead the finished pictureA
Read-onlyIdempotent
Inspect

Returns the owned picture for an approved quoteId with image.url, downloadUrl and gallery-widget data once ready, or its current progress. Links are private and signed; another read refreshes them. No processing or charge is repeated.

NameRequiredDescriptionDefault
quoteIdYesExact quoteId returned with the picture price.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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 genuinely useful context beyond that: links are private and signed, another read refreshes them, and no charge or processing is repeated on re-read.

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

Conciseness4/5

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

Three compact sentences, front-loaded with what is returned before the link/signing caveats. No filler sentences; each clause carries information.

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

Completeness4/5

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

With an output schema present and rich annotations, the description need not explain return values, and it covers the remaining gaps (signing, link expiry, polling behavior, no re-charge). Complete enough for a result-fetch tool, missing only explicit sibling routing.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter is fully documented, so the schema does the heavy lifting (baseline 3). The description only adds that the quoteId must be 'approved', a modest clarification.

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

Purpose4/5

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

States a specific verb (Returns) and resource (the owned picture for an approved quoteId), plus enumerates the payload (image.url, downloadUrl, gallery-widget data) and the alternate 'current progress' case. The workflow dependency on an approved quoteId implicitly separates it from studio_image_quote/studio_image_confirm, though those siblings are never named.

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

Usage Guidelines3/5

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

The phrase 'once ready, or its current progress' implies polling, and 'No processing or charge is repeated' hints that re-reading is safe. However, it never states when to call this versus studio_image_quote, studio_image_confirm, or studio_generation_status, so routing 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.

studio_list_skillsFind Brix36 creative skillsA
Read-onlyIdempotent
Inspect

Searches Brix36 creative skills and style cards by keyword, medium or family. Returns summaries rather than full bodies, plus resource URIs and nextCursor. No Brix36 language-model call.

NameRequiredDescriptionDefault
limitNoMaximum items to return, 1–50. Default 20.
queryNoWords to match in the approved catalogue.
cursorNoOpaque previous-page nextCursor; absent for the first page.
familyNoCatalogue family returned by a previous result.
mediumNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it discloses the return granularity (summaries, not full bodies), the presence of resource URIs and nextCursor pagination, and the notable absence of a language-model call (cost/latency implication).

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

Conciseness5/5

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

Two tightly packed sentences with the core purpose front-loaded and no filler. Every clause (search axes, return shape, pagination, no-LLM note) carries distinct information.

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

Completeness4/5

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

An output schema exists, so return values need no further explanation, and the description still covers search scope, summary-vs-body granularity and pagination. What is missing is explicit routing relative to studio_get_skill, the one thing an agent most needs to choose between them.

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

Parameters3/5

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

Schema description coverage is high (80%), so the schema already documents limit, cursor, query, family and medium. The description restates the same matching axes (keyword, medium, family) without adding format or syntax detail, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb (searches) and resource (Brix36 creative skills and style cards) plus the matching axes (keyword, medium, family). It does not name or contrast with the obvious sibling studio_get_skill, so an agent must infer the split between list and get.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'Returns summaries rather than full bodies' hints that full detail requires another call (studio_get_skill), but no explicit when-to-use, when-not-use, or named alternative is given.

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

studio_media_confirmConfirm the uploaded fileA
Read-onlyIdempotent
Inspect

Returns pending or accepted attachment status and assetId for the exact owned uploadToken. Reconciles the existing upload without creating a second attachment, generating media or spending credits.

NameRequiredDescriptionDefault
uploadTokenYesThe signed uploadToken returned by studio_media_upload_url.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely useful context beyond that: it will not create a second attachment, generate media, or spend credits, which is exactly the reassurance an agent needs before re-invoking a confirmation endpoint.

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

Conciseness5/5

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

Two sentences, zero filler, front-loaded with the return value and side-effect guarantees. Every clause carries information an agent can act on.

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

Completeness4/5

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

The output schema handles return-value shape, so the description only needs the tool's role and side effects, both of which are covered. Minor gap: no mention of failure modes such as an expired or already-consumed token, though the idempotent annotation mitigates that concern.

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

Parameters4/5

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

Schema coverage is 100% and the token's origin is already documented in the schema. The description adds ownership and exactness semantics ('the exact owned uploadToken'), clarifying that the token must belong to the caller — a meaningful constraint beyond the schema's type/length validation.

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

Purpose4/5

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

States a specific verb and resource: returns pending/accepted attachment status and assetId for a given uploadToken, and reconciles the existing upload. An agent can distinguish this from the URL-generating sibling (studio_media_upload_url) without opening the schema, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The workflow position is implied (this is the confirmation step that follows obtaining an uploadToken), and the token parameter points back to studio_media_upload_url. However, it never states when to call it versus alternatives, nor what to do on a pending vs. accepted result, leaving sequencing to inference.

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

studio_media_import_urlImport public HTTPS mediaA
Idempotent
Inspect

Import a public HTTPS song, artist photo or reference into the same private attachment pipeline as an upload. projectId is optional in the schema but required to attach media: omission returns guidance to select a project, never another user project. Refuses private/loopback destinations, unsafe redirects, DNS rebinding, invalid file types, oversized downloads and slow sources. Song/photo replacement rules remain unchanged. Identical reference bytes in the same project replay the existing asset. Returns assetId and status; no provider or language model is called.

NameRequiredDescriptionDefault
urlYesA direct public HTTPS media URL, port 443, without user credentials.
purposeYesThe customer file role; this never selects a paid generation.
projectIdNoThe project receiving the file. Required for song, Artist DNA (artist is derived from the project) and reference attachment; no project is selected implicitly.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only give the safety profile (readOnlyHint=false, idempotentHint=true, openWorldHint=true); the description adds substantial behavioral context beyond that. It enumerates the refusal cases (private/loopback destinations, unsafe redirects, DNS rebinding, invalid file types, oversized downloads, slow sources), discloses idempotent byte-level replay for references, and confirms no provider or LLM is called.

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

Conciseness4/5

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

Purpose is front-loaded in the first sentence and every subsequent sentence carries distinct information (validation, projectId behavior, idempotency, return). It is dense but not padded; a couple of clauses could be tightened but nothing is wasted.

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

Completeness5/5

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

For a mutating import tool with an output schema present (so return format needn't be spelled out) and annotations covering the safety profile, the description still supplies the validation rules, idempotency semantics, and the projectId edge case. Nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

With 100% schema coverage the baseline is 3, but the description goes further by explaining the projectId omission behavior (returns guidance to select a project, never another user's project), which the schema does not state. The url and purpose semantics are left largely to the schema, which already documents them well.

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

Purpose4/5

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

States a specific verb+resource (import a public HTTPS song, artist photo, or reference) and places it in the 'same private attachment pipeline as an upload', which implicitly separates it from the file-upload sibling. However it never names the upload tool it is contrasted with, so the sibling differentiation is inferred 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.

Usage Guidelines3/5

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

'Into the same private attachment pipeline as an upload' implies you use this when you have a URL rather than a file, and the projectId note tells the agent what happens on omission. But there is no explicit when-to-use guidance against the sibling tools (studio_media_upload_url, studio_media_upload_widget, studio_reference_upload_link), leaving the choice to inference.

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

studio_media_upload_urlPrepare a signed file uploadA
Idempotent
Inspect

Creates an HTTPS POST upload capability bound to the user, project, role, exact file metadata and SHA-256, expiring in 15 minutes. Returns uploadUrl, uploadToken, method and expiresAt. The upload accepts raw bytes with the declared MIME Content-Type; attachment status is confirmed separately. No file bytes pass through MCP and no generation credits are spent.

NameRequiredDescriptionDefault
nameYesFile name, not a local path.
sizeYes
purposeYesThe customer file role; this never selects a paid generation.
mimeTypeYesThe file MIME type.
projectIdYesThe project receiving the file. Required for song, Artist DNA (artist is derived from the project) and reference attachment; no project is selected implicitly.
contentHashYesSHA-256 of the exact file bytes. The signed capability binds these bytes and cannot attach another file.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: a 15-minute expiry, byte-level binding via SHA-256 so a different file cannot be attached, the fact that raw bytes are POSTed with the declared MIME type, and that credits are not consumed. These are exactly the operational traits an agent needs before invoking an upload-preparation tool.

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

Conciseness5/5

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

Three dense sentences, front-loaded with the capability and its scope, followed by return values and the operational caveats. No filler, and each sentence carries distinct information.

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

Completeness5/5

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

For a six-parameter, all-required tool with an output schema, the description covers the creation semantics, expiry, byte binding, and the handoff to confirmation. Nothing an agent needs in order 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.

Parameters3/5

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

Schema coverage is 83%, so the baseline is 3. The description reinforces the binding semantics of contentHash and the role of purpose without contradicting or extending much beyond the schema's own wording (the enum is already explained as never selecting a paid generation).

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

Purpose5/5

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

States a precise verb and resource: creates a signed HTTPS POST upload capability bound to user, project, role, file metadata and SHA-256. It also distinguishes itself from the post-upload step by noting 'attachment status is confirmed separately', which points an agent at studio_media_confirm rather than confusing the two.

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

Usage Guidelines4/5

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

Gives clear situational context: no file bytes traverse MCP, no generation credits are spent, and confirmation is a separate step. It does not explicitly name when to prefer this over studio_media_upload_widget or studio_media_import_url, so the alternative-choice guidance 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.

studio_media_upload_widgetUpload a file in chatA
Read-onlyIdempotent
Inspect

Opens a file picker for a song, artist photo or image/video reference on the specified project. The customer selects the file; bytes go directly to Brix36. No paid work.

NameRequiredDescriptionDefault
purposeYesThe customer file role; this never selects a paid generation.
projectIdYesThe project receiving the file. Required for song, Artist DNA (artist is derived from the project) and reference attachment; no project is selected implicitly.

Output Schema

NameRequiredDescription
codeNo
viewNo
issuesNo
messageNo
purposeNo
maxBytesNo
projectIdNo
mediaOriginNo
outcomeUnknownNo
allowedMimeTypesNo

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the annotations (readOnly/idempotent/non-destructive/openWorld=false), the description discloses the interaction model — the customer selects the file and bytes go directly to Brix36 rather than through the tool — and that no paid work/credits are consumed. That flow detail is genuinely additive, though it does not cover what happens after selection (e.g., whether a confirm step follows).

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

Conciseness5/5

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

Three short sentences, each earning its place: the action, the upload mechanism, and the cost implication. The primary purpose is front-loaded with no filler.

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

Completeness4/5

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

With an output schema present and rich annotations, return values and safety semantics are covered elsewhere; params are fully documented. The only gap is the post-selection flow (does the picker feed studio_media_confirm?), which an agent might reasonably want to know.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are fully documented in the schema, so the baseline is 3. The description restates the purpose values and the project binding but adds no format or constraint detail beyond what the schema already provides.

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

Purpose4/5

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

States a specific action (opens a file picker) plus the exact resource roles it serves (song, artist photo, image/video reference) and the target project. An agent can see it is an interactive picker rather than a URL import, though it never names siblings like studio_media_upload_url or studio_media_import_url to disambiguate the upload paths.

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

Usage Guidelines3/5

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

Usage is implied by the enumerated file roles ('song, artist photo or image/video reference') rather than stated as a when-to-use rule. It gives no guidance on choosing this widget over studio_media_upload_url, studio_media_import_url, or studio_reference_upload_link, so the agent must infer the distinction from names alone.

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

studio_model_catalogueBrowse Brix36 models and optionsA
Read-onlyIdempotent
Inspect

Returns the current Brix36 model catalogue, including profiles, settings, media limits, availability reasons, recommended choices and qualified starting prices in credits and GBP minor units including VAT. Starting prices are distinct from generation quotes. Pagination uses nextCursor with the same kind. No generation or charge.

NameRequiredDescriptionDefault
kindNoOptional media-kind filter; absence includes all kinds.
limitNoMaximum items to return, 1–50. Default 20.
cursorNoOpaque nextCursor from the catalogue, bound to the same kind and catalogue version. Absence starts a fresh page.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds real context beyond them: the guarantee of 'No generation or charge' and the pagination contract (nextCursor bound to the same kind). It stops short of noting rate limits or result-size caveats.

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

Conciseness4/5

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

Three dense sentences, front-loaded with what is returned, followed by the pricing disambiguation and the pagination rule. No filler, though the enumerated payload list is long enough to border on schema duplication.

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

Completeness4/5

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

With an output schema present, return-value explanation is optional, and the description still supplies the key contract points (pagination binding, no charge, prices vs quotes). Nothing essential to correct invocation is missing for this read-only browse tool.

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

Parameters3/5

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

Schema description coverage is 100%, so kind, limit, and cursor are fully documented in the schema. The description's pagination note ('nextCursor with the same kind') largely restates the cursor field description rather than adding new meaning, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Returns the current Brix36 model catalogue') and enumerates the payload contents (profiles, settings, media limits, availability reasons, prices). It also separates itself conceptually from pricing-quote siblings by noting starting prices are distinct from generation quotes, though it never names a sibling tool.

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

Usage Guidelines3/5

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

The line 'Starting prices are distinct from generation quotes' implicitly routes the agent to the quote tools for actual pricing, and 'No generation or charge' implies this is a pre-flight browse. However, there is no explicit when-to-use or when-not-to-use statement or named alternative, leaving usage inferred.

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

studio_motion_catalogueBrowse Motion Graphics catalogueA
Read-onlyIdempotent
Inspect

List available Motion Graphics templates (lyric_video, audio_visualiser, living_cover, kinetic_type, club_tunnel, organic_landscape), 7 genre looks (pop, hiphop_drill, rnb, house_edm, rock, country_acoustic, afrobeats), and all 24 popular motion styles with preview video URLs and input requirements. Read-only discovery.

NameRequiredDescriptionDefault
aspectNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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. The description restates 'Read-only discovery' (redundant) but does add useful content context — preview video URLs and input requirements — though return shape is already covered by the output schema.

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

Conciseness4/5

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

A single front-loaded sentence enumerating the catalogue contents, followed by a short qualifier. Efficient and well-structured, with only the trailing 'Read-only discovery' being mildly redundant against the annotations.

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

Completeness4/5

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

For a read-only listing tool with a full output schema and annotations covering the safety profile, the description conveys enough about contents and purpose. The only meaningful gap is the unexplained 'aspect' filter.

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

Parameters3/5

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

Schema description coverage is 0% and the description never mentions the 'aspect' parameter at all. The enum values (16:9, 9:16) are largely self-explanatory, so the gap is modest, but the description adds no filtering semantics beyond the raw enum.

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

Purpose4/5

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

States a specific verb (List) and resource (Motion Graphics templates, genre looks, motion styles) and enumerates the contents, so the agent knows exactly what this returns. It doesn't explicitly name or contrast with the mutating siblings (studio_motion_create, studio_motion_preview), though 'catalogue' and 'Read-only discovery' imply a distinct read-only role.

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

Usage Guidelines3/5

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

The phrase 'Read-only discovery' hints that this is the browse step, but there is no explicit when-to-use, no when-not, and no named alternative such as 'use studio_motion_create to build from these styles.' 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.

studio_motion_confirmRender approved Motion sceneA
DestructiveIdempotent
Inspect

Starts the exact paid server render after the customer explicitly approves its quoted price. Chat approval returns operationId, quoteToken, revisionId, inputDigest and quotedCredits unchanged from the quote. Existing Brix36 confirmationToken codes remain supported as a separate flow. The server enforces spending permission, account policy and exact quote bindings. Identical retries reconcile the original operation. Annotations do not attest to consent or guarantee a host confirmation screen.

NameRequiredDescriptionDefault
projectIdYes
quoteTokenYes
revisionIdNo
inputDigestNo
operationIdYes
quotedCreditsNo
confirmationTokenNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, the description states that the server enforces spending permission and account policy and binds an exact quote. It also states that identical retries reconcile the original operation, which adds specificity to idempotentHint. It explicitly warns that annotations do not attest to consent or guarantee a host confirmation screen; that caveat is valuable because destructiveHint=true alone cannot convey it. It does not say what a failed binding or expired quote returns.

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

Conciseness4/5

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

The paid-render action and its approval precondition are front-loaded, and every sentence conveys a distinct fact (preconditions, legacy flow, server enforcement, retry semantics, consent caveat). Density is high, and the 'Brix36' detail is host-specific jargon, so the description is slightly harder to parse on first read than it needs to be.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and for a destructive spending operation the description covers preconditions, server-side enforcement, retry behavior and consent limits. Gaps remain around projectId's role, quote expiry, and what happens when the quoted price differs from the live price.

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

Parameters4/5

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 the meaning of the parameters. It does: operationId, quoteToken, revisionId, inputDigest and quotedCredits are described as values returned from the quote and passed through unchanged, and confirmationToken is characterized as the legacy alternative. projectId is never explained, and 'exact quote bindings' is not spelled out as a mismatch behavior.

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

Purpose5/5

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

The description opens with a specific verb and resource: it 'starts the exact paid server render.' It also specifies the precondition of explicit customer price approval, which separates it from the quote, preview, and status siblings in the motion family.

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

Usage Guidelines4/5

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

The description states when to call it: only after the customer explicitly approves the quoted price. It also splits the two supported approval paths (chat approval vs. legacy Brix36 confirmationToken). However, it never names studio_motion_quote or studio_motion_preview as the prerequisites and alternatives to call first, so an agent must infer that ordering.

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

studio_motion_createCreate Motion GraphicsAInspect

Saves a ready server-rendered Motion scene and returns its exact paid-render quote plus an optional free first-frame preview. Supports lyric video, beat-reactive visualiser, kinetic titles, photo-motion poster, promo cards, the 6 music/lyric/visualiser templates (lyric_video, audio_visualiser, living_cover, kinetic_type, club_tunnel, organic_landscape) across 7 genre looks (pop, hiphop_drill, rnb, house_edm, rock, country_acoustic, afrobeats), and all 24 popular motion styles (styleId). Uses owned audio and picture asset IDs; saved song timing supplies lyric cues and the saved scene can be edited. No AI video model or paid render is called. requestId identifies the saved document across retries. Each returned quote has its own identity; rendering requires explicit customer approval bound to that quote.

NameRequiredDescriptionDefault
styleNo
titleNo
aspectYes
familyYes
lookIdNo
lyricsNo
styleIdNo
artistIdNo
intensityNo
projectIdYes
requestIdYes
artistNameNo
templateIdNo
audioAssetIdNo
imageAssetIdNo
durationSecondsYes
trimStartSecondsNo
approvedAlignmentIdNo
expectedArtistRevisionNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds real value beyond them: no render/AI model is invoked, requestId identifies the saved document across retries, and each quote carries its own identity requiring explicit approval. It still doesn't say what the saved scene contains or how retries behave on partial failure.

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

Conciseness3/5

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

The core purpose is front-loaded, but the middle sentences re-enumerate template and look enums already present in the schema, adding bulk without new information. A single dense paragraph makes the useful facts (no paid render, quote identity, approval gating) harder to extract.

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

Completeness3/5

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

For a 19-parameter mutation tool with an output schema, the description covers the conceptually novel parts (quoting without rendering, asset ownership, approval binding) but leaves over half the inputs undefined. It is workable but not complete for correct invocation.

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

Parameters3/5

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

Schema coverage is 0% across 19 parameters, so the description carries the load. It explains templates, lookIds, styleIds, asset IDs and requestId semantics, but leaves projectId, family, durationSeconds, aspect, intensity, style, title, trimStartSeconds, artistId, artistName and expectedArtistRevision unexplained.

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

Purpose5/5

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

States a specific verb and resource ('Saves a ready server-rendered Motion scene') plus the exact byproducts (paid-render quote, optional free first-frame preview). This clearly separates it from studio_motion_quote, studio_motion_preview and studio_motion_confirm, whose roles differ.

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

Usage Guidelines3/5

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

The description implies the workflow ('No AI video model or paid render is called', 'rendering requires explicit customer approval bound to that quote') but never names the sibling to call next (studio_motion_confirm) or when to prefer this over studio_motion_quote. Usage is inferable rather than stated.

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

studio_motion_previewPreview Motion first frameB
Read-onlyIdempotent
Inspect

Generate a free bounded first-frame image of this exact saved revision, maximum 640px long side. No LLM, render debit or full free movie. Preview is not an approval or a priced render.

NameRequiredDescriptionDefault
projectIdYes
revisionIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower. The description adds real value beyond them: it is free (no render debit, no LLM), output is bounded to 640px, and it explicitly is not an approval. These cost/output traits are exactly the kind of context annotations cannot express.

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

Conciseness4/5

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

Three tight sentences, front-loaded with the core action and bounded output size. The 'No LLM, render debit or full free movie' clause is slightly compressed/awkward but still economical; no filler.

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

Completeness3/5

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 carry the safety profile. However, with two required, zero-coverage parameters, the definition leaves parameter meaning unaddressed, which is the main completeness gap for an otherwise simple preview tool.

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

Parameters2/5

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

Both parameters have 0% schema description coverage, so the description carries the burden. It only implies that revisionId refers to a 'saved revision' and gives no meaning for projectId, nor the relationship between the two. It does not compensate for the undocumented schema.

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

Purpose4/5

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

States a specific verb+resource: 'Generate a free bounded first-frame image of this exact saved revision, maximum 640px long side.' The negative statements ('Preview is not an approval or a priced render') implicitly separate it from confirm/quote siblings, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The description implies usage (a preview before approval/priced render) and rules out misreading it as an approval or paid render, but never states when to call it versus alternatives like studio_motion_confirm, studio_motion_quote, or studio_motion_create. Usage is implied rather than explicit.

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

studio_motion_quoteQuote Motion renderA
Read-only
Inspect

Returns the server price in credits and GBP including VAT, bound to the exact revision, output, source and runtime. A paid render requires one explicit customer approval of this exact price. Edits invalidate prior quotes. No debit or render.

NameRequiredDescriptionDefault
projectIdYes
revisionIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover readOnly/destructive but the description adds genuinely new behavioral context: the price is bound to an exact revision and edits invalidate prior quotes (which explains idempotentHint=false), plus an explicit approval prerequisite. It doesn't address authorization requirements or quote expiry beyond edit invalidation, so not a full 5.

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

Conciseness5/5

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

Four short sentences, front-loaded with the return value, then approval workflow, invalidation semantics, and the no-side-effect guarantee. Each sentence adds a distinct fact with no filler.

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

Completeness4/5

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

Output schema exists so the price/return format needn't be described, and annotations cover safety, freeing the description to state the workflow and non-mutation guarantee. The remaining gap is the meaning of the two input parameters, particularly projectId.

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

Parameters2/5

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

Schema description coverage is 0% for two required params (projectId, revisionId), so the description must compensate. 'Bound to the exact revision' loosely implies revisionId matters, but output/source/runtime referenced in the text are not actual parameters, and projectId is never addressed. Coverage of the real parameters is thin.

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

Purpose5/5

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

States a specific verb and resource ('Returns the server price in credits and GBP including VAT') and scopes it to the exact revision/output/source/runtime. The closing 'No debit or render' distinguishes it from write siblings like studio_motion_confirm and studio_motion_create without needing either schema.

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

Usage Guidelines4/5

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

'A paid render requires one explicit customer approval of this exact price' clearly frames when this tool is called in the workflow (before approval/commit), and 'Edits invalidate prior quotes' gives the invalidation condition. It stops short of naming the downstream alternative (studio_motion_confirm) explicitly, so it's clear context rather than a full when/when-not decision rule.

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

studio_motion_readRead Motion sceneB
Read-onlyIdempotent
Inspect

Read the exact authored scene and revision, including editable lyric cue timing, text and owned media layers.

NameRequiredDescriptionDefault
projectIdYes
documentIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real value by specifying that this returns the *authored* scene/revision with editable lyric cue timing and owned media layers — i.e. source state, not a render — but says nothing about permissions, staleness, or revision semantics.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the read scope and the contents of the payload are packed into one clause.

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

Completeness3/5

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 carry the behavioral profile — but with two required, undocumented identifiers and no guidance on when to choose this read over motion_status/motion_result, the definition is adequate rather than complete.

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

Parameters2/5

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 projectId or documentId, so an agent gets no explanation of what either identifier accepts or how they relate (project vs scene document). The only hint, 'scene and revision', is not tied to any parameter.

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

Purpose4/5

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

States a specific verb (Read) and resource (the authored Motion scene and revision), and enumerates the payload contents (lyric cue timing, text and owned media layers). It distinguishes the authored-state read from the many generation-oriented motion siblings, but never names a specific alternative tool.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the phrase 'exact authored scene' suggests this is for inspecting the source document rather than a generated output (motion_result/preview), which is useful context. However, there is no explicit when-to-use, when-not-to-use, or named alternative among the ~10 studio_motion_* siblings.

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

studio_motion_restoreRestore a Motion versionAInspect

Restores a saved scene as a new revision with optimistic version checking. Original versions and media remain intact. Prior quotes become stale; further paid rendering requires a quote for the restored revision.

NameRequiredDescriptionDefault
projectIdYes
documentIdYes
revisionIdYes
expectedRevisionYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Beyond the annotations (non-readonly, non-idempotent, non-destructive), the description discloses concrete side effects: optimistic version checking via the expected revision, that originals and media are preserved, and that prior quotes become stale so paid rendering needs a new quote. This is meaningful mutation context, though it does not say what happens when the version check fails.

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

Conciseness4/5

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

Three compact sentences, front-loaded with the core action and concurrency behavior, then consequences. Every sentence adds distinct information with no filler.

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

Completeness4/5

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

For a four-parameter mutation with an output schema present, the description covers the operation, safety-relevant effects, and billing implications. The main gap is routing guidance against sibling tools, which is a separate concern.

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

Parameters3/5

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

Schema coverage is 0% and no parameter is described by name, but 'optimistic version checking' effectively explains the role of expectedRevision as a concurrency guard. projectId, documentId, and revisionId still carry no added meaning beyond the schema.

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

Purpose4/5

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

The description states a specific verb and resource ('Restores a saved scene as a new revision') and adds the key nuance that a new revision is created rather than the original overwritten. It is clear on its own, but it never names or contrasts with the closely related siblings (studio_motion_update, studio_motion_use, studio_motion_create), so differentiation is left to inference.

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

Usage Guidelines3/5

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

Usage is only implied by the effect ('restores a saved scene as a new revision') and the downstream note about stale quotes. There is no explicit when-to-use, when-not-to-use, or named alternative such as studio_motion_update for editing versus restoring.

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

studio_motion_resultGet Motion resultB
Read-onlyIdempotent
Inspect

Read the finished owned asset with video.url and authenticated playback/download links. Source media remain preserved. Pending work is not a completed result.

NameRequiredDescriptionDefault
projectIdYes
operationIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already establish this as a safe, idempotent read. The description usefully adds that source media are preserved (a non-destructive guarantee beyond the flag) and that the returned links are authenticated, which is behavioral context 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.

Conciseness4/5

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

Three short sentences, front-loaded with the operation and output, with no filler. Efficient, though the phrasing ('owned asset', 'Source media remain preserved') is slightly terse/cryptic rather than maximally clear.

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

Completeness3/5

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. However, for a two-parameter tool it omits how operationId is obtained and how this call relates to studio_motion_create/status/wait in the generation lifecycle, which an agent would need to invoke it correctly in sequence.

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

Parameters2/5

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

Schema description coverage is 0% and both required parameters (projectId, operationId) are entirely undocumented in both schema and description. The description mentions only output fields (video.url), so it does not compensate for the gap in explaining how projectId/operationId are sourced or constrained.

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

Purpose4/5

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

States a specific verb (read) and resource (finished owned asset), plus what it yields (video.url and playback/download links). It does not, however, distinguish itself from the numerous sibling result/status tools (studio_motion_status, studio_motion_read, studio_motion_wait, studio_creative_result), so the agent must infer the difference.

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

Usage Guidelines3/5

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

'Pending work is not a completed result' gives an implicit exclusion (don't call this for in-progress work), which implies the tool is for finished operations. But it never names the alternative tools to use for pending/in-progress cases, leaving routing to inference.

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

studio_motion_statusRead Motion render statusB
Read-onlyIdempotent
Inspect

Read the original durable operation after pending, timeout or unknown outcome. Successful work includes playback and download links. Reconcile means the existing effect is being checked; no replacement render is started.

NameRequiredDescriptionDefault
projectIdYes
operationIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already cover the safe-read and idempotency profile, so the bar is lower. The description still adds value beyond them by disclosing that successful work returns playback and download links and by clarifying that 'reconcile' means an existing effect is being checked and no replacement render is started.

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

Conciseness4/5

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

Three compact sentences with the usage condition front-loaded and no obvious filler. The jargon ('durable operation', 'reconcile') is terse but each sentence carries distinct information.

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

Completeness3/5

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 with two required parameters at 0% schema coverage and a cluster of confusable motion siblings, the description is only minimally sufficient for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% and neither projectId nor operationId is explained in the description. The only hint is 'the original durable operation,' which loosely gestures at operationId, but an agent gets no guidance on format, source, or constraints for either required parameter.

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

Purpose3/5

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

The title names the resource ('Motion render status') and the description frames it as reading 'the original durable operation,' so the intent is inferable but the description itself is oblique. It never states plainly that it returns render status, and it does nothing to separate it from closely named siblings like studio_motion_wait, studio_motion_result, and studio_motion_read.

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

Usage Guidelines3/5

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

It gives a usage window ('after pending, timeout or unknown outcome'), which is real when-to-use guidance. However, it names no alternative tools and gives no explicit when-not guidance, leaving the agent to guess whether motion_wait or motion_result is the better call in a given state.

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

studio_motion_updateSave Motion sceneAInspect

Saves typed MotionSceneV1 with exact words, cue frame ranges and owned asset IDs. Accepts typed layers and approved fonts; HTML, JS, CSS and URLs are not scene inputs. First save creates an opaque documentId with expectedRevision 0; edits bind the current expectedRevision. Conflicts preserve the newer saved version. No Brix36 language model is called.

NameRequiredDescriptionDefault
sceneYes
projectIdYes
documentIdNo
expectedRevisionNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Goes well beyond the annotations (readOnly=false, destructive=false, idempotent=false) by disclosing optimistic-concurrency semantics, conflict resolution ('Conflicts preserve the newer saved version'), and the input contract ('HTML, JS, CSS and URLs are not scene inputs'). It also clarifies that no language model is invoked, which is useful non-obvious behavior. It stops short of stating permission requirements or error/failure modes.

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

Conciseness4/5

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

Four tight sentences, front-loaded with what is saved, then inputs accepted/rejected, then the revision lifecycle. Each sentence earns its place with no filler. Slightly dense jargon (MotionSceneV1, Brix36) is the only cost.

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

Completeness4/5

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

An output schema exists, so return values need not be described, and the description covers the mutation lifecycle, concurrency, and input constraints for a non-idempotent write tool. Remaining gaps are auth/permission expectations and failure behavior, which are minor against the covered ground.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must carry the load, and it partially does: it explains documentId (created opaquely on first save) and expectedRevision (bound on edits), which the bare schema does not convey. projectId is never addressed and 'scene' is characterized by content rather than structure, so two of four parameters remain thin.

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

Purpose4/5

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

States a specific verb+resource: 'Saves typed MotionSceneV1' and enumerates the scene content (words, cue frame ranges, asset IDs). It implies the create-vs-update behavior via the documentId/revision rule, but never names sibling alternatives such as studio_motion_create or studio_motion_read, so differentiation is inferential 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.

Usage Guidelines3/5

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

The sentence 'First save creates an opaque documentId with expectedRevision 0; edits bind the current expectedRevision' effectively describes the two usage modes and their preconditions. However, it does not say when to prefer this tool over siblings (e.g., studio_motion_create, studio_motion_restore) or what to do outside the happy path, so usage is implied rather than guided.

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

studio_motion_useUse Motion resultB
Idempotent
Inspect

Add the exact finished Motion result to project media through normal attachment screening, preserving original assets, movie orders and expected project revision. This does not replace or regenerate a paid movie.

NameRequiredDescriptionDefault
projectIdYes
operationIdYes
expectedRevisionYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare the mutation/idempotent/non-destructive profile, but the description adds real context beyond them: 'normal attachment screening' implies validation, 'preserving original assets, movie orders and expected project revision' discloses that existing media is untouched and that a revision check is enforced, and it explicitly rules out regeneration/replacement of the paid movie. It stops short of stating failure modes 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.

Conciseness4/5

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

Two sentences, front-loaded with the action and then the constraint, with no filler. The second sentence carries a dense list ('original assets, movie orders and expected project revision') but each element is meaningful rather than padding.

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

Completeness3/5

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. What remains thin is parameter documentation for three required, opaque parameters on a mutation tool — operationId especially is left undefined, which is a meaningful gap for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% and all three parameters are required, so the description carries the full burden. It only loosely gestures at expectedRevision via 'expected project revision' and never explains operationId (presumably the ID of the completed Motion operation) or projectId. An agent cannot tell what a valid operationId looks like or what happens on a revision mismatch.

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

Purpose4/5

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

States a specific verb and resource: 'Add the exact finished Motion result to project media.' This distinguishes it from generation/read siblings like studio_motion_create or studio_motion_result, though it never names those alternatives explicitly. The second sentence clarifies scope by negation ('does not replace or regenerate a paid movie').

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the phrase 'exact finished Motion result' and 'does not replace or regenerate' signal this is a post-generation attach step, not a creation step. However, no sibling is named and no explicit when-to-use/when-not-to-use condition is given, so the agent must infer the pipeline position.

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

studio_motion_waitWait for Motion video linkA
Read-onlyIdempotent
Inspect

Waits up to 40 seconds for the original Motion operation, then returns its finished video.url and downloadUrl or a nonterminal pending response with an exact nextCall. Each status read checks current access. No generation, approval or credit change.

NameRequiredDescriptionDefault
projectIdYes
operationIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior. The description adds useful specifics beyond that: a 40-second wait cap, finished video.url/downloadUrl returns, nonterminal pending responses with exact nextCall, current access checks, and no generation/approval/credit change.

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

Conciseness5/5

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

The description is three tightly packed sentences with no filler. It front-loads the wait behavior and return values, then adds access and side-effect clarifications.

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

Completeness4/5

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

For a wait-and-poll tool with an output schema and rich annotations, the description covers timeout behavior, return shape, pending follow-up, access checks, and side effects. The remaining gap is parameter semantics and explicit routing versus sibling status/result tools.

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

Parameters2/5

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 for parameter meaning. It vaguely refers to the 'original Motion operation', which hints at operationId, but it never explains projectId or operationId semantics, formats, or how the agent should obtain them.

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

Purpose4/5

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

States a specific verb and resource: waits for the original Motion operation and returns a finished video URL or pending response. It clearly distinguishes itself from mutation tools such as generation, approval, and credit-changing siblings, but does not explicitly distinguish itself from sibling status/result polling tools.

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

Usage Guidelines3/5

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

The description implies usage after a Motion operation exists and tells the agent to follow the exact nextCall when pending. However, it does not explicitly say when to use this tool versus studio_motion_status, studio_motion_result, or other wait tools, leaving alternatives to inference.

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

studio_picture_use_uploadUse my uploaded pictureA
Idempotent
Inspect

Sets an owned uploaded photograph as a shot's original picture, bound to attachment contentHash and confirmed rights. Creates a canonical revision and retains earlier versions. Identical argument retries reconcile the same operation. No generation or credit charge.

NameRequiredDescriptionDefault
shotIdYesThe stable shot ID from that board.
projectIdYesThe current owned project.
revisionIdYesThe exact current storyboard revision.
attachmentIdYesOwned image attachment.
rightsConfirmedYes
expectedContentHashYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Adds real value beyond annotations by disclosing canonical-revision creation, retention of earlier versions, retry reconciliation, and absence of generation/credit cost. It reinforces the idempotentHint with concrete semantics rather than just restating it.

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

Conciseness5/5

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

Four tight sentences, front-loaded with the core action and followed by versioning, idempotency, and cost. Every sentence carries distinct information with no padding.

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

Completeness4/5

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

An output schema exists so return values need no explanation, and the description covers versioning, idempotency, and cost. It could add permission/ownership prerequisites, but it is largely complete for a 6-param mutation.

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

Parameters4/5

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

With 67% schema coverage, the two undocumented params are covered here: it binds expectedContentHash to the attachment and explains rightsConfirmed as a rights check. This adds meaning beyond the raw schema names.

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

Purpose5/5

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

States a specific verb ('Sets') and a precise resource ('an owned uploaded photograph as a shot's original picture'), which clearly distinguishes it from sibling upload/picture tools like studio_media_upload_url and studio_storyboard_stills_*. 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.

Usage Guidelines3/5

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

The description implies the context ('owned uploaded photograph', 'confirmed rights', 'no credit charge') but never states when to prefer this over alternatives such as studio_storyboard_picture_changes_prepare or the media upload tools. Usage is inferable but not explicit.

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

studio_project_artist_presence_setSet whether the artist appears in a videoA
Destructive
Inspect

Set featured or not_featured for this project. Featured requires pinned DNA; the existing directed-storyboard rules still apply. No generation or charge.

NameRequiredDescriptionDefault
projectIdYesProject ID returned by studio_projects_list or studio_video_start.
artistPresenceYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds useful context ('No generation or charge', the pinned-DNA prerequisite, and that existing storyboard rules still apply), but given destructiveHint=true it never clarifies what state is altered or whether the change is reversible.

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

Conciseness4/5

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

Three short sentences, front-loaded with the core action and no wasted words. The prerequisite and cost clarification are compactly stated.

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

Completeness4/5

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

An output schema exists so return values need not be described, and annotations cover the mutation/safety hints. The description supplies the key prerequisite and cost non-impact, making it reasonably complete for a two-parameter toggle, though it leaves the state-change semantics unstated.

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

Parameters3/5

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

Schema coverage is only 50% — projectId is documented but the artistPresence enum values are bare. The description partly compensates by explaining the meaning of 'featured' (requires pinned DNA) and names both enum values, but adds no detail on the projectId format or the downstream effect of each mode.

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

Purpose4/5

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

The description states a specific verb and resource ('Set featured or not_featured for this project'), which an agent can map directly onto the tool's effect on artist presence. It is clear, though it does not explicitly distinguish this tool from any sibling (there is no obvious competing presence-setter, but no differentiation is offered either).

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

Usage Guidelines3/5

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

It implies usage and states a precondition ('Featured requires pinned DNA'), which guides the agent on when 'featured' is valid. However, it gives no explicit when-to-use vs. when-not-to-use guidance and names no alternative tool or workflow.

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

studio_project_deleteDelete Brix36 projectA
DestructiveIdempotent
Inspect

Archive one video or Film using the app project deletion service after the customer requests deletion. Requires editor permission. In-flight orders, paid work awaiting consumption and open/review-required checkouts refuse deletion. Returns deleted=true. This is separate from permanently erasing an artist or account.

NameRequiredDescriptionDefault
projectIdYesProject ID returned by studio_projects_list or studio_video_start.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the bar is lower; the description still adds real context: which states block deletion (in-flight orders, paid work awaiting consumption, open/review-required checkouts), the permission requirement, and the return value 'deleted=true'. It stops short of stating whether the archive is reversible.

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

Conciseness5/5

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

Front-loads the action, then permission, then refusal conditions, then return value, then disambiguation. Every sentence carries distinct information with no padding.

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

Completeness5/5

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

For a destructive single-param tool with an output schema and full annotation coverage, the description supplies everything an agent needs: trigger, permission, blocking conditions, return signal, and scope boundary. Nothing material is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the single projectId parameter is fully documented with its origin ('returned by studio_projects_list or studio_video_start'). The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Archive one video or Film') and explicitly frames the operation as archive-soft-delete rather than permanent erasure, which disambiguates it from studio_artist_delete and account erasure. The only wrinkle is the tension between the name/title ('delete') and the verb 'Archive', but the description resolves rather than creates that ambiguity.

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

Usage Guidelines4/5

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

Gives a concrete trigger ('after the customer requests deletion') and a prerequisite ('Requires editor permission'), plus an explicit exclusion ('separate from permanently erasing an artist or account'). It does not name the specific sibling tool an agent should use for permanent erasure, which keeps it 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.

studio_project_dna_pinPin current Artist DNA to a projectA
Destructive
Inspect

Pin this artist’s currently published DNA to this project once, within its existing pin window. Read project state after a lost response before retrying. No generation or charge.

NameRequiredDescriptionDefault
projectIdYesProject ID returned by studio_projects_list or studio_video_start.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already disclose destructiveHint=true and idempotentHint=false; the description adds non-derivable context, notably 'No generation or charge' (cost profile) and the retry-after-lost-response procedure, which reinforces the non-idempotent behavior. It does not explain what the destructive hint actually destroys (e.g. an existing pinned DNA), which keeps it from 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.

Conciseness5/5

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

Three short sentences, front-loaded with the core action, followed by the retry caveat and the cost disclaimer. 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.

Completeness4/5

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 single parameter is fully covered by the schema. The description supplies cost, timing-window, and retry semantics, but leaves the 'pin window' undefined and the destructive consequence of re-pinning unexplained.

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

Parameters3/5

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

Only one parameter, and the schema already documents projectId at 100% coverage including its source ('returned by studio_projects_list or studio_video_start'). The description adds nothing about the parameter, so the baseline 3 applies.

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

Purpose4/5

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

States a precise verb+resource+target: pinning the artist's currently published DNA to a specific project. This clearly separates it from siblings like studio_artist_dna_write (which edits DNA) and studio_project_artist_presence_set (which sets artist presence). It does not explicitly name a sibling, 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.

Usage Guidelines4/5

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

Gives real operating context: the pin happens 'once, within its existing pin window', and the caller should 'read project state after a lost response before retrying'. That is clear when-to-call and how-to-recover guidance, though no alternative tool is named and no explicit when-not condition is given.

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

studio_project_palette_writeChoose project coloursA
Idempotent
Inspect

Save 0–5 unique uppercase #RRGGBB colours as exact project creative direction. An empty list clears the selection. Existing work remains in history; stale revision and active work refuse safely.

NameRequiredDescriptionDefault
projectIdYesThe current owned project.
creatorPaletteYes
expectedRevisionYesCurrent project revision. A stale revision returns revision_conflict.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior5/5

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

Annotations already mark this as a non-read-only, non-destructive, idempotent write. The description adds concrete context: empty lists clear the selection, existing work remains in history, and stale revisions or active work refuse safely, which substantially exceeds what the annotations alone provide.

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

Conciseness5/5

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

Three tight sentences with no filler. The core action is front-loaded, followed by edge-case behavior and safety semantics in a logical order.

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

Completeness4/5

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

Given the annotations, output schema, and schema-provided parameter descriptions, the description covers the critical behavioral cases an agent needs: clearing, history preservation, and revision conflict. It could mention ownership or permission context, but the schema already states the project must be owned.

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

Parameters3/5

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

Schema coverage is 67%. The description restates constraints already encoded in the schema for creatorPalette (0–5, unique, uppercase #RRGGBB) and adds the useful behavioral note that an empty list clears the selection, but it does not explain projectId semantics or add meaning beyond the schema for expectedRevision.

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

Purpose4/5

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

States a specific verb and resource: save project colours as creative direction, with 0–5 #RRGGBB values. It is clearly a palette-write tool rather than a generic project mutation, but it does not explicitly distinguish itself from sibling colour/selection tools like studio_artist_voice_choose or studio_artist_ready_made_choose.

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

Usage Guidelines2/5

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

The description explains what happens on an empty list, a stale revision, and active work, but never says when an agent should choose this tool over alternatives or what prerequisite conditions select it. Those are behavioral facts, not usage guidance.

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

studio_project_renameRename Brix36 projectAInspect

Renames a video or Film using expectedRevision, title and optional songTitle. Returns updated project and revision. No generation or charge.

NameRequiredDescriptionDefault
titleYesNew project title.
projectIdYesProject ID returned by studio_projects_list or studio_video_start.
songTitleNoOptional song catalogue title; absence leaves it unchanged.
expectedRevisionYesCurrent revision from the latest read. Stale revisions are refused.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare the safety profile (readOnly=false, destructive=false, idempotent=false), so the bar is lower. The description adds genuinely useful context that this operation triggers 'No generation or charge', but it does not explain the notable non-idempotency/concurrency behavior driven by expectedRevision, nor what a stale-revision failure means for the caller.

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

Conciseness4/5

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

Two short clauses front-load the verb and resource, then the return value and side-effect note. No filler or repetition; it could be slightly tighter and could fold the revision-conflict note in rather than leaving it to the schema.

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

Completeness4/5

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

An output schema exists, so the description need not spell out the returned object, and it still briefly notes the updated project and revision. With annotations covering safety and the schema covering all parameters, the only real gap is guidance on the revision-conflict path and no cost/charge confirmation beyond the single phrase.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (title, projectId, songTitle, expectedRevision) is already documented with constraints in the schema. The description merely lists the parameter names and repeats that songTitle is optional, adding no format or edge-case semantics beyond the structured field definitions; baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Renames) and resource (a video or Film project), aligned with the title's 'Brix36 project'. It is distinguishable from siblings like studio_project_delete, but the description never names an alternative tool or clarifies what a 'video or Film' means as distinct target types.

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

Usage Guidelines3/5

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

Usage is only implied: the agent can infer 'use this to change a project's title', and 'No generation or charge' signals this is a metadata-only operation. There is no explicit when-to-use, when-not-to-use, or pointer to sibling tools such as studio_project_palette_write or studio_project_dna_pin.

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

studio_projects_listList the customer's videos, newest firstA
Read-onlyIdempotent
Inspect

Lists the customer's videos newest first, optionally filtered by artistId. Returns projectId, title, artist, status, picture, last-change time and nextCursor. Free and read-only, up to 50 projects per page.

NameRequiredDescriptionDefault
limitNoNumber of results, default 20 and maximum 50.
cursorNoThe previous page’s nextCursor; absent on the first page.
artistIdNoOptional artist ID from studio_artists_list or studio_video_start. Absence lists every accessible artist’s videos.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the description's 'Free and read-only' mostly restates them. The real added value is pagination behavior ('up to 50 projects per page') and the returned field set, which 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.

Conciseness4/5

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

Three tight sentences, front-loaded with what the tool does and what it returns. Minor waste in 'Free and read-only', which duplicates the annotation profile rather than adding new information.

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

Completeness5/5

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

For a simple paginated list with an output schema, the description supplies ordering, filtering, page size, cost and return shape. An agent has everything needed to call it correctly on first attempt.

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

Parameters3/5

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

Schema description coverage is 100%, so limit, cursor and artistId are already fully documented in the schema, including valid ranges and the artistId source tool. The description only echoes the artistId filter and hints at nextCursor, adding no syntax or semantics beyond the schema.

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

Purpose4/5

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

The description gives a specific verb and resource ('Lists the customer's videos'), plus ordering ('newest first'), an optional filter, and the fields returned. It is easy to separate from studio_artists_list, studio_songs_list and studio_releases_list, but it names no sibling explicitly, so differentiation is inferential 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.

Usage Guidelines3/5

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

Usage is implied: this is the enumeration tool for videos, with artistId as an optional narrowing filter whose source is documented in the schema. There is no explicit when-to-use vs. alternatives or when-not guidance (e.g. versus studio_video_status for a single video).

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

studio_ready_made_stars_listBrowse Brix36 ready-made charactersA
Read-onlyIdempotent
Inspect

Lists the same free fictional character portraits offered by the Brix36 app, with each current star ID, name, description and versioned preview image. Read-only; creates no artist, image, generation or charge.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is covered. The description adds useful specifics beyond that: the portraits are 'free' and it explicitly incurs no artist, image, generation or charge, which tells the agent there are no credit costs or 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.

Conciseness5/5

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

Two tight sentences: the first front-loads what is listed and what each entry contains, the second covers the no-side-effect guarantee. 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.

Completeness4/5

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 details need not be repeated in the description. For a parameterless read-only catalogue call the description is sufficient, with the only shortfall being the absence of explicit routing guidance toward the sibling 'choose' tool.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; per the baseline for parameterless tools this lands at 4. The schema is also fully self-describing with no gaps.

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

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource ('Lists ... free fictional character portraits offered by the Brix36 app') and enumerates the returned fields (star ID, name, description, versioned preview image), so an agent can distinguish it from studio_artist_ready_made_choose or studio_artists_list 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: it is a browse step that precedes studio_artist_ready_made_choose, and 'free' plus 'creates no ... charge' hints at cost-free exploration. No alternative is named and no explicit condition for choosing this tool over the artist-listing siblings is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_reference_addAdd customer reference fileAInspect

Stores and screens an image/video reference through the app attachment service. Inline files are limited to 512 KiB; larger files have an app upload-link path. Returns attachment and signed preview. scope:project applies to the project; scope:shot supports later shot binding. The reference list exposes persisted results after uncertain replies. No language model or generation-credit charge.

NameRequiredDescriptionDefault
kindYesExisting reference media kind.
nameYesFile display name, for example wardrobe.webp.
scopeNoWhole project by default; shot is supported only for an image.
mimeTypeYesActual MIME type. It must match the kind and file bytes.
projectIdYesProject ID returned by studio_projects_list or studio_video_start.
bytesBase64YesCanonical base64 file bytes without a data URL prefix, up to 512 KiB decoded. Larger files have an app upload-link path.
intendedAtMsNoOptional song position for a shot-scoped image; this records intent and does not bind a shot.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real context beyond the annotations (readOnly=false, idempotent=false, destructive=false): a 512 KiB inline cap, a screening/moderation step, a separate upload-link route, a returned attachment plus signed preview, and an explicit statement of no LLM or generation-credit cost. The non-idempotent hint is reinforced by the retry/verify advice. It stops short of describing collision or naming behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then limit, return, scope, retry, and cost in five tight sentences; nothing is padded. A couple of fragments (e.g. 'scope:project applies to the project') are terse to the point of being telegraphic, keeping it short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with annotations, a full output schema, and complete parameter documentation, the description covers the operational essentials: size limits, alternative upload path, returned artifacts, scope semantics, and cost. Nothing critical is missing, though it could note whether re-adding the same file is rejected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all seven parameters including the scope enum, MIME matching, and the base64 size cap. The description's scope and intent remarks largely restate what the schema says (e.g. shot only for images, intendedAtMs records intent), so it adds little beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: stores and screens an image/video reference via the app attachment service. It loosely signals the sibling split by pointing at the 'app upload-link path' (studio_reference_upload_link) and the 'reference list' (studio_references_list), but does not name them explicitly, so differentiation is implied rather than certain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear routing rule for the 512 KiB inline limit versus the larger-file upload-link path, and tells the agent to consult the reference list after uncertain replies to confirm persistence. No explicit when-not or named alternative tool, but the conditions are clear enough to act on.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_reference_deleteRemove customer referenceA
DestructiveIdempotent
Inspect

Remove an existing image/video reference attachment from a project using the app service. Requires editor permission and the customer choosing this reference. The app removes its dependent notes and applies existing reference binding rules. Returns deleted=true; it does not delete another project reference or a song.

NameRequiredDescriptionDefault
projectIdYesProject ID returned by studio_projects_list or studio_video_start.
attachmentIdYesAttachment ID returned by studio_references_list or studio_song_status.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses the cascade (dependent notes are removed), that reference binding rules are applied, the required permission level, and the return signal deleted=true. Annotations only flag destructive/idempotent; the description explains the actual side effects, which is exactly the value it should add.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the action and then the prerequisites and side effects. Every sentence carries information; the only mildly redundant phrase is 'using the app service', which adds little.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with an output schema, it covers permissions, cascade behavior, scope exclusions, and the confirmation signal. An agent has everything needed to decide whether to call it and what to expect afterward.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and both parameters already document their provenance (studio_projects_list / studio_video_start, studio_references_list / studio_song_status). The description adds no further meaning to projectId or attachmentId, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: removing an image/video reference attachment from a project. It also draws a boundary against sibling capabilities by noting it does not delete another project reference or a song, which helps disambiguation without naming a specific sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete preconditions for use (editor permission, the customer having chosen this reference) and states scope exclusions (not another project reference, not a song). It does not name an alternative tool to use instead, but the context is clear enough to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_reference_note_addAdd assistant-authored reference noteA
Idempotent
Inspect

Save one concrete creative instruction about a customer reference already on this project. The connected assistant does the interpretation with the customer; Brix36 validates and stores the finished sentence through the existing app fact service. Returns an approved user-authored fact. Duplicate category/sentence on the same attachment is reused. Free; no server language model is called.

NameRequiredDescriptionDefault
categoryYesApp reference fact category.
projectIdYesProject ID returned by studio_projects_list or studio_video_start.
statementYesOne customer-approved instruction grounded in the uploaded reference.
attachmentIdYesAttachment ID returned by studio_references_list or studio_song_status.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the write/idempotent/non-destructive profile, but the description adds real context beyond them: it explains the workflow split (assistant interprets, Brix36 validates and stores), states what happens on collision ('Duplicate category/sentence on the same attachment is reused'), and discloses cost and side effects ('Free; no server language model is called'). That is meaningful transparency over 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the purpose, then workflow, return, collision behavior, and cost. Each sentence carries information, though 'Returns an approved user-authored fact' and the Brix36 storage sentence overlap somewhat and could be merged.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a small 4-parameter, all-required write tool with an output schema and full schema coverage, the description supplies the essential missing pieces: the validate/store workflow, idempotent reuse semantics, and zero-cost behavior. Nothing critical is absent for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters with length bounds and ID provenance. The description only loosely references category/statement/attachment ('category/sentence on the same attachment') and adds no format or constraint detail beyond the schema. Baseline 3 applies when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Save one concrete creative instruction about a customer reference already on this project.' The scope (reference already on the project) is clear. However, it never names its closest siblings (studio_reference_note_update, studio_reference_notes_list, studio_reference_add), so the agent must infer the distinction from the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it ('one customer-approved instruction grounded in an uploaded reference' per the schema, plus 'the connected assistant does the interpretation with the customer'), but it offers no explicit when-not-to-use or pointer to the update/list/add siblings. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_reference_notes_listRead reference creative notesB
Read-onlyIdempotent
Inspect

Returns a paginated list of existing approved, proposed or rejected reference notes for a project, optionally filtered by attachment. No server interpretation starts.

NameRequiredDescriptionDefault
limitNoMaximum items to return, 1–50. Default 20.
cursorNoOpaque previous-page nextCursor; absent for the first page.
projectIdYesProject ID returned by studio_projects_list or studio_video_start.
attachmentIdNoAttachment ID returned by studio_references_list or studio_song_status.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint=false, idempotentHint and openWorldHint=false, covering the safety profile. The description adds the pagination nature and the set of statuses returned, which is genuinely useful, but pagination is already evident from the limit/cursor schema fields and the closing phrase 'No server interpretation starts' is opaque rather than informative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is dense and front-loads the important scoping and filter information well. The second sentence, 'No server interpretation starts,' is cryptic and does not clearly earn its place, weakening an otherwise efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations plus 100% schema coverage handle most structured detail. The description covers what is listed, the statuses, and the optional filter, leaving only usage routing and the meaning of the trailing phrase as gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented, including the projectId and attachmentId provenance. The description restates the project scoping and attachment filter but adds no format, syntax, or edge-case meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Returns a paginated list of ... reference notes') and scopes it by status (approved/proposed/rejected) and optional attachment filter. It implicitly distinguishes itself from the write siblings studio_reference_note_add and studio_reference_note_update, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer it reads existing notes rather than creating them. There is no explicit when-to-use, when-not-to-use, or routing to studio_references_list / studio_reference_note_add, so the guidance gap is real but the read/list intent is clear from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_reference_note_updateReview or rewrite reference noteA
DestructiveIdempotent
Inspect

Approve, reject or rewrite one reference note using the app service. Rewriting records the sentence as user-authored; omitted fields stay unchanged. Returns the updated fact. Requires permission to edit its project and the customer choosing the change. No server interpretation or paid work starts.

NameRequiredDescriptionDefault
factIdYesFact ID returned by studio_reference_notes_list.
statusNoCustomer review choice for this fact.
projectIdYesProject ID returned by studio_projects_list or studio_video_start.
statementNoReplacement sentence approved by the customer.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses useful behavior: rewriting records the sentence as user-authored, omitted fields stay unchanged (partial-update semantics), the call requires edit permission and customer consent, and it triggers no server interpretation or paid work. This adds meaningful context on top of the destructive/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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the action and followed by effects, return value, preconditions and cost. Every sentence carries information, though the final clause about no server interpretation reads slightly out of place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and it covers action, side effects, partial-update behavior and permissions. It is essentially complete for an agent to invoke this mutation correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents factId, status, projectId and statement with sources and constraints. The description matches the fields functionally but adds no syntax or format detail beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states specific verbs (approve, reject, rewrite) and a precise resource (one reference note), so an agent knows exactly what the tool does. It does not, however, differentiate itself from closely named siblings like studio_reference_note_add or studio_reference_notes_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the preconditions for correct use: edit permission on the project and the customer having chosen the change. This clarifies the context of invocation but names no alternative tool or explicit when-not-to-use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_references_listList video and Film referencesA
Read-onlyIdempotent
Inspect

Browse customer image/video references across their accessible projects, or filter one project. Returns up to 50 references with projectId, attachmentId, signed contentUrl, scope, analysis status and a small preview of existing facts, plus nextCursor. Shot references affect only bound shots. Nothing is analysed by this tool.

NameRequiredDescriptionDefault
limitNoMaximum items to return, 1–50. Default 20.
cursorNoOpaque previous-page nextCursor; absent for the first page.
projectIdNoProject ID returned by studio_projects_list or studio_video_start.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only/non-destructive/idempotent profile, and the description adds real behavior: it caps results at 50, warns 'Nothing is analysed by this tool' (clarifying it does not trigger analysis), and notes 'Shot references affect only bound shots.' These are useful scoping facts not derivable from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and scoping modes lead, followed by return fields and behavioral caveats. Every sentence carries information with no filler, though the return-field enumeration is slightly dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the return fields need not be spelled out, yet the description covers scoping, pagination, and the crucial 'no analysis performed' caveat. Combined with annotations it is complete enough to call correctly, missing only explicit sibling routing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and an output schema exists, so all three parameters are already documented. The description reinforces the limit ('up to 50'), the cursor ('nextCursor') and project scoping, but adds little semantic detail beyond the schema, matching the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

It states a clear verb and resource ('Browse customer image/video references') with two scoping modes: across all accessible projects or filtered to one. This is unambiguously distinct from the add/delete/note siblings, though no sibling is named explicitly to sharpen the routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'across their accessible projects, or filter one project' gives the agent a clear condition for choosing between the broad and scoped call. It stops short of naming alternatives or stating when-not to use it (e.g. versus studio_shot_video_references_read), so nothing is explicit about exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_release_createCreate artist release collectionAInspect

Creates an album, EP or single collection with title, type, year and artwork preset. Returns release summary and app project-creation links. Creation has no replay receipt; the artist's release list exposes saved title/type/year after an uncertain response. No language model, generation or charge.

NameRequiredDescriptionDefault
typeYesExisting app release collection type.
yearYesFour-digit release year accepted by the app.
titleYesCollection title, such as an album name.
artworkYesExisting app artwork preset.
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (not read-only, not destructive, not idempotent, closed-world). The description adds genuinely new behavior: creation returns no replay receipt, the artist's release list is the way to verify state after an ambiguous response, and no credits are charged. That credit/no-generation disclosure is important given sibling quote/confirm flows.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose before the recovery caveat and the no-charge note. Every sentence carries information, though 'No language model, generation or charge' is compressed enough to read slightly like a checklist item.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 spelled out, and the description still notes it returns a release summary and project-creation links. Combined with the idempotency/recovery disclosure and full schema coverage, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters, their enums, and constraints. The description only restates title/type/year/artwork at a high level and adds no format or edge-case detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Creates an album, EP or single collection') that maps directly onto the type enum, and the closing clause ('No language model, generation or charge') separates it from the generation/quote/confirm siblings. An agent can tell this is the release-collection creator 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit 'use this when' statement or named alternative, but the sentence about the release list exposing saved title/type/year after an uncertain response gives de facto guidance for the recovery path. Context is implied rather than stated, which fits a 3.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_releases_listList artist release collectionsA
Read-onlyIdempotent
Inspect

Lists an artist's album, EP and single collections with projectIds, status, artwork, year, verified app project-creation links and nextCursor. Free and read-only. MCP project creation currently creates standalone releases; collection project creation uses the app.

NameRequiredDescriptionDefault
limitNoMaximum items to return, 1–50. Default 20.
cursorNoOpaque previous-page nextCursor; absent for the first page.
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent and closed-world, so the bar is low; the description still adds non-structured context by stating the call is free, disclosing that results are cursor-paginated via nextCursor, and noting the MCP-vs-app limitation on collection project creation. It does not say what happens if the artist has no collections.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and enumerated return fields, with the workflow caveat placed last. The 'Free and read-only' clause partially duplicates the annotations, but the sentence is compact and everything after it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return-shape explanation is not required, yet the description still lists the salient returned fields and the pagination mechanism. Combined with the workflow caveat, an agent has enough to call it correctly; only the absence of an explicit alternative-tool routing holds it below 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all three parameters are documented in-schema, so the baseline of 3 applies. The description names nextCursor and artistId-adjacent concepts but adds no syntax, format or constraint meaning beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Lists) and a precise resource (an artist's album, EP and single collections), and enumerates the descriptive fields returned. The closing note distinguishes collection releases from the standalone releases that studio_release_create/MCP project creation produces, so an agent can separate it from its siblings 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (call it to enumerate an artist's release collections) and the last sentence clarifies which release-creation path yields collections vs standalone releases, but it never states when to choose this tool over studio_projects_list or studio_release_create, nor any preconditions beyond needing an artistId.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_section_enginesRead the app’s quoted engine choices for a sectionA
Read-onlyIdempotent
Inspect

Returns engine options for one section of an existing generation quote identified by costEstimateId or quoteToken. Film sectionIndex is the saved zero-based scene.index. Includes availability, requirements, selection, server Recommended marker, allocated_final_total section share, availableProfiles and finalVideoCredits. Option selection_total is a whole alternative video quote total, excluding pictures. No selection change or spending.

NameRequiredDescriptionDefault
projectIdYesProject identified by the quote.
sectionIndexYesMusic section index, or the exact saved Film scene.index, to show options for.
costEstimateIdYesExact costEstimateId returned by studio_generate_quote or studio_section_engine_select.
expectedRevisionIdYesExact current storyboard revision from studio_storyboard_context.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description adds real value: it confirms no selection change or spending occurs and enumerates what the payload carries (availability, requirements, allocation share, recommended marker). It doesn't specify pagination or size, but for a read tool with full annotation coverage this 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded first sentence carries purpose and identifier; subsequent sentences are dense but useful. Listing many response fields (allocated_final_total, availableProfiles, finalVideoCredits) is partly redundant given an output schema exists, but the phrasing stays compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With rich annotations and an output schema present, the description need not explain return values, and it adequately covers scope, prerequisite quote, identifier source, and the read-only guarantee. The dangling quoteToken reference and absent error/permission notes are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all four parameters and the baseline is 3. The description restates sectionIndex semantics (Music index vs saved Film scene.index) but also references a 'quoteToken' identifier that does not exist as a parameter, which adds mild confusion rather than meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource rollup ('Returns engine options for one section of an existing generation quote') and scopes it to a single section. The closing 'No selection change or spending' implicitly distinguishes it from studio_section_engine_select, but it never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the precondition that a generation quote must already exist ('an existing generation quote') and hints it is the non-mutating counterpart to selection. However, it never states when to prefer this over studio_section_engine_select or studio_generation_quote, leaving routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_section_engine_selectChoose one section’s engine or generation profile and receive its quoteAInspect

Selects an available modelName or generation profile for one quoted section and returns a revised signed quote with costEstimateId. Film uses saved scene.index. modelName:null restores the server-ranked Recommended choice; omitted modelName preserves explicit selections. profile {aspect,resolution} is constrained to availableProfiles. Other sections retain their choices; outputs fit the project canvas without cropping. The revised quote has its own price and approval binding. operationId identifies identical selection retries. Film speech data reports the actual per-scene routes or historical_unavailable. No credits are spent and no generation starts.

NameRequiredDescriptionDefault
profileNo
modelNameNoAvailable modelName from studio_section_engines; null restores Recommended and absence retains explicit selections during a profile change. Profiles are constrained to returned availableProfiles.
projectIdYesProject identified by the quote.
operationIdYesClient-generated identity for a selection quote. Identical retries share the identity; different selections have distinct identities.
sectionIndexYesMusic section index, or the exact saved Film scene.index, whose new generation uses this engine.
costEstimateIdYesExact estimate returned by the preceding quote.
expectedRevisionIdYesExact current storyboard revision from studio_storyboard_context.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations say readOnlyHint=false, destructiveHint=false, idempotentHint=false, so the agent knows it is a non-destructive write but not what it does; the description supplies the missing behavior: no credits are spent, no generation starts, other sections keep their choices, outputs fit the project canvas without cropping, the revised quote carries its own price and approval binding, and operationId dedupes identical retries. This is exactly the kind of side-effect and idempotency context annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and outcome before parameter guidance, and nearly every clause carries a distinct fact (restore vs preserve, canvas fit, approval binding, retry identity). It is dense to the point of being terse, with several facts stacked into single sentences, but there is little redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation with a nested profile object, an output schema, and non-default annotations, the description covers selection semantics, cross-tool dependencies (studio_section_engines, studio_storyboard_context), retry behavior, and the credit/approval consequences. An agent has everything needed to invoke it correctly without extra lookups.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 86%, so baseline would be 3, but the description adds semantics the schema lacks: the null-vs-omitted distinction for modelName, that profile values come from availableProfiles, that costEstimateId must be the exact estimate from the preceding quote, and that expectedRevisionId comes from studio_storyboard_context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (selects) on a specific resource (one section's modelName or generation profile) and names the concrete outcome (a revised signed quote with costEstimateId). It is clearly distinguishable from studio_section_engines (the listing source) and from the generic quote tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete operating conditions: modelName:null restores the Recommended choice, omitting modelName preserves explicit selections during a profile change, profile is limited to availableProfiles, and Film must use the saved scene.index. It points at studio_section_engines as the source of valid names but never states an explicit when-not-to-use-this or a competing sibling to prefer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_sections_readRead the storyboard sections and their linesA
Read-onlyIdempotent
Inspect

Returns the project's 30-second storyboard sections, including indexes, times, names, inclusion, pictures, action, Performance/Story type and lyric line IDs with lip-sync settings. These indexes and IDs identify inputs to section-edit tools. Free and read-only.

NameRequiredDescriptionDefault
projectIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/non-openWorld. The description adds value beyond them by stating 'Free' (no credit cost), which annotations do not express, and by detailing the returned content. 'read-only' somewhat repeats readOnlyHint, so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the first front-loads what is returned, the second explains how the output is used. No filler or redundant clauses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and annotations cover the safety profile, so the description needn't explain return values or safety. It is complete enough for a single-parameter read tool, with the only minor gap being no mention of the required projectId.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions projectId. The phrase 'the project's ... sections' weakly implies a project-scoped input, but the description adds essentially no meaning beyond the self-explanatory parameter name, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Returns') and resource ('the project's 30-second storyboard sections') and enumerates the returned fields. It also implicitly distinguishes itself from the section-edit siblings by noting these indexes/IDs are their inputs, so an agent can tell what this tool is for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The line 'These indexes and IDs identify inputs to section-edit tools' conveys the workflow context: call this read tool to obtain the indexes/IDs required by the edit tools. It gives clear context but names no explicit alternative tool and states no when-not-to-use condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_sections_set_line_syncSet whether the artist mouths one lineA
Idempotent
Inspect

Sets lip-sync for one existing lyric line identified by section index and stable line ID. sync:true means the artist mouths the line. Defaults are true for the artist's own words and false for guest/ad-lib lines. No generation or charge.

NameRequiredDescriptionDefault
syncYesTrue when the artist mouths this line.
lineIdYesThe line id from studio_sections_read.
projectIdYes
revisionIdNoThe revisionId returned by the read. Required by the hosted writer.
expectedTextNoExact line text from the read; a precondition, never an edit. Required by the hosted writer.
sectionIndexYes
expectedStartMsNoExact startMs from the read; a precondition, never a retiming. Required by the hosted writer.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value beyond them by disclosing that this costs nothing ('No generation or charge'), that it targets an already-existing line, and the default sync value per line type - all relevant to a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences with no filler: identity/scope first, then the parameter meaning, then defaults, then the cost guarantee. Each sentence carries information an agent would otherwise have to guess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation with an output schema available, the description covers what changes, the target, defaults and cost. It is thin on what happens when the precondition fields (expectedText, expectedStartMs, revisionId) do not match, and on how it differs from studio_film_set_lip_sync, which is the main residual gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71%, so the schema carries most parameter detail, but the description still adds meaning: sync:true is defined behaviorally (the artist mouths the line) and the defaulting rule is explained, which the schema's one-line sync description does not cover. It does not clarify the precondition parameters (revisionId, expectedText, expectedStartMs) beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'Sets lip-sync for one existing lyric line identified by section index and stable line ID.' The 'one existing lyric line' phrasing separates it from line-creation tools, but it never names or contrasts with the close sibling studio_film_set_lip_sync, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It conveys useful context - defaults are true for the artist's own words and false for guest/ad-lib lines, and there is no generation or charge - but gives no explicit when-to-use/when-not-to-use direction or an alternative tool to pick instead. 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.

studio_sections_updateChange one section: tick, Performance/Story, or What happensA
Idempotent
Inspect

Updates included, type and/or what for one existing 30-second storyboard section. Omitted fields remain unchanged. Timing, names and pictures are outside this operation. No generation or charge.

NameRequiredDescriptionDefault
typeNoPerformance or Story.
whatNo"What happens" in this section.
indexYes
includedNoThe tick. False leaves this section out of the generation.
projectIdYes
revisionIdNoThe revisionId returned by the read. Required by the hosted writer.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (not readOnly, idempotent, non-destructive, closed-world), so the description's job is to add context beyond them. It does: partial-update semantics for omitted fields, explicit exclusion of timing/names/pictures, and 'no generation or charge' to reassure the agent this is a free metadata edit rather than a billable generation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the action and affected fields, each carrying information (target, partial-update behavior, exclusions, cost). Slightly clipped phrasing ('what for one existing ... section') costs it a point but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description covers scope, partial-update behavior, and cost. For a 6-parameter mutation it stops short of noting the revisionId concurrency requirement (left to the schema) or failure modes, but an agent has enough to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, with the schema already documenting type, what, included, and revisionId. The description restates the writable fields ('included, type and/or what') but adds no syntax, format, or constraint detail beyond the schema, and leaves index and projectId undescribed in either place. Baseline 3 is appropriate for partially self-documenting parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (updates) and resource (one existing 30-second storyboard section) and names the exact fields affected (included, type, what). This distinguishes it from read-only siblings like studio_sections_read and from other storyboard writers, though it does not explicitly name an alternative tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear scope guidance: it operates on a single existing section, omitted fields remain unchanged (partial update), and timing/names/pictures are explicitly out of scope. It lacks an explicit 'use X instead for timing/pictures' routing, so it stops 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.

studio_shot_video_references_readRead shot video referencesA
Read-onlyIdempotent
Inspect

Read the actual owned driving-video references for a shot. These are distinct from extracted reference pictures. No paid work.

NameRequiredDescriptionDefault
shotIdYesThe stable shot ID from that board.
projectIdYesThe current owned project.
revisionIdYesThe exact current storyboard revision.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds one genuinely new behavioral fact - no credit/paid work is consumed - plus the ownership scope ('owned'), but says nothing about pagination, ordering, or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the resource being read, then the disambiguation, then the cost note. The final fragment 'No paid work' is terse but carries information; nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameter-light read tool with an output schema, the description covers what is read, that it is free, and how it differs from a similar resource. Return values need not be explained since an output schema exists; only deeper scoping details are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all three required IDs (projectId, revisionId, shotId) are documented in the schema, so the baseline of 3 applies. The description adds no additional semantics such as what 'current revision' means or how IDs are obtained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (owned driving-video references for a shot), and explicitly distinguishes the payload from extracted reference pictures. It does not name the write sibling studio_shot_video_references_write, so sibling differentiation is only partial.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The contrast with 'extracted reference pictures' implicitly tells the agent when this resource is the right one, and 'No paid work' signals a free operation. However, there is no explicit when-to-use, prerequisite, or routing to an alternative tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_shot_video_references_writeChoose shot video referencesA
Idempotent
Inspect

Binds up to three owned uploaded 1–15 second original clips as shot motion/composition references. Measures bytes and creates one canonical revision. Stricter model limits or unsupported driving-video inputs refuse before payment. Clips remain video references rather than sampled pictures. Empty attachmentIds clears the selection; identical retries reconcile the same write.

NameRequiredDescriptionDefault
shotIdYesThe stable shot ID from that board.
projectIdYesThe current owned project.
revisionIdYesThe exact current storyboard revision.
attachmentIdsYes
rightsConfirmedYes
expectedRevisionIdYesThe exact current storyboard revision.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond annotations: bytes are measured, one canonical revision is created, stricter model limits or unsupported inputs refuse before payment, clips stay as video references rather than sampled pictures, empty input clears, and identical retries reconcile the same write (consistent with idempotentHint). This is exactly the kind of mutation/payment/idempotency detail annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and scope, then layers constraints and edge cases in dense but purposeful sentences with no filler. Slightly jargon-heavy ('Stricter model limits or unsupported driving-video inputs') but each sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers the mutation semantics, payment gating, idempotency, and clearing behavior for a 6-required-param tool. Reasonably complete, though the rightsConfirmed precondition and the relationship to the read sibling are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% and the description meaningfully enriches the key parameter: 'up to three' matches maxItems, clips must be 1–15 second owned uploads, and empty attachmentIds is a clear/clearing sentinel. It does not, however, clarify rightsConfirmed (const true) or the expectedRevisionId concurrency guard beyond implying reconciliation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (binds) with a precisely scoped resource (up to three owned uploaded 1–15s original clips as shot motion/composition references) and a concrete side effect (creates one canonical revision). An agent can tell this apart from the read sibling (studio_shot_video_references_read) purely from the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an implicit usage rule ('Empty attachmentIds clears the selection') and a refusal condition (unsupported driving-video inputs refuse before payment), which hints at preconditions. However, it never explicitly names the read counterpart or states when to prefer this over other shot/storyboard write tools, so usage routing remains inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_song_attachUpload a song in the chatA
Idempotent
Inspect

Returns a song upload widget and a one-time fallback uploadUrl for an existing project. File bytes go directly to Brix36. Repeated calls return the same fallback link or the existing song attachment. No charge.

NameRequiredDescriptionDefault
projectIdYesFrom studio_video_start.

Output Schema

NameRequiredDescription
codeNo
nextNo
noteNo
viewNo
issuesNo
messageNo
purposeNo
expiresAtNo
projectIdNo
uploadUrlNo
mediaOriginNo
instructionsNo
outcomeUnknownNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond the annotations meaningfully: it discloses that bytes go directly to a third party (Brix36) rather than through the tool, that the fallback uploadUrl is one-time, and that re-calling returns the same link or existing attachment. It also states 'No charge,' which no annotation covers. Idempotency is restated from the annotation but confirmed semantically.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no filler, each adding distinct information (return artifact, byte destination, idempotency/cost). Front-loaded on the return value rather than the action, but still efficient and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema and rich annotations, the description covers the remaining gaps an agent needs: what is returned, where data flows, repeat-call behavior, and cost. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter with 100% schema coverage, and the schema already ties projectId to studio_video_start. The description's 'existing project' phrasing adds only a weak forced-existence constraint beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: it returns a song upload widget and a one-time fallback uploadUrl for an existing project. The 'song' scope clearly separates it from generic media-upload siblings, but no sibling is actually named to route the agent. Clear but without explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'for an existing project' and the chat-upload framing, but there is no explicit when-to-use, when-not, or alternative routing (e.g. vs studio_media_upload_widget or the other song tools). The agent must infer the trigger condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_song_reuseReuse an uploaded songA
Idempotent
Inspect

Attaches existing customer audio from an accessible source project to an empty target through the durable upload/analysis path. sourceAttachmentId identifies the saved song attachment. Returns attachment/asset/job IDs or already_attached for identical audio. Repeats return the existing result; different current audio refuses replacement. No arbitrary URL fetch, generated audio or language-model call.

NameRequiredDescriptionDefault
projectIdYesProject ID returned by studio_projects_list or studio_video_start.
sourceProjectIdYesReadable source project already holding the song.
sourceAttachmentIdYesSource audio attachment ID from studio_song_status.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true, destructiveHint=false and openWorldHint=false, so the repetition and no-external-fetch statements add limited new information. What does add value beyond annotations is the conflict behavior: 'different current audio refuses replacement', which tells the agent what happens on mismatch rather than silently overwriting. No permissions or cost disclosure, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the action and constraint, then return values, then exclusions. Dense but each sentence carries distinct content (mechanism, return shape, conflict behavior, scope limits). The opening sentence is slightly overloaded with mechanism detail ('durable upload/analysis path').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still summarizes the return (attachment/asset/job IDs or already_attached), which is useful for a reuse tool where success is ambiguous. Combined with the empty-target precondition, the mismatch refusal behavior and the scope exclusions, an agent has enough to call this correctly. Auth requirements are the only notable omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented with their provenance (studio_projects_list, studio_song_status). The description adds only that sourceAttachmentId identifies the saved song attachment, which the schema essentially already says, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource+mechanism: attaching existing customer audio from a source project to an empty target via the durable upload/analysis path. It is clearly distinguishable from generic attach tools by the 'reuse' framing and the empty-target constraint. It never names the closest sibling (studio_song_attach), so sibling 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives usable preconditions (target must be empty, source must be an accessible project already holding the song) and an explicit scope exclusion: 'No arbitrary URL fetch, generated audio or language-model call', which steers the agent away from import/generation tools. However, it does not name the alternatives the agent should use instead, so routing is left partly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_songs_listList artist songsA
Read-onlyIdempotent
Inspect

List one artist songs using the app canonical grouping, including their available project versions. Returns a bounded songs page and nextCursor. Each song projectId identifies the project holding that song version. Free; this does not upload or generate audio.

NameRequiredDescriptionDefault
limitNoMaximum items to return, 1–50. Default 20.
cursorNoOpaque previous-page nextCursor; absent for the first page.
artistIdYesArtist ID returned by studio_artists_list or studio_artist_read. Also identifies this artist when casting a Film.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds real behavioral value beyond them: bounded paging with a nextCursor token, the meaning of each song's projectId, and the cost/side-effect profile (free, no audio upload or generation).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what the tool returns and immediately followed by the pagination and projectId semantics. No filler or restatement of the name, though it is slightly denser than needed for a simple list call.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only paginated list with a full schema and an output schema, the description covers everything an agent needs: scope, paging, identifier meaning, and side-effect/cost profile. Only explicit routing guidance to alternative song/project listing tools is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all three parameters (limit, cursor, artistId) are documented in the schema itself, so the baseline is 3. The description's note about projectId describes output rather than adding syntax or format meaning to any input parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list songs) scoped to one artist, and adds the distinguishing scope detail that it uses the app's canonical grouping and includes available project versions. No sibling tool lists songs, and this definition makes its territory unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a negative boundary ("this does not upload or generate audio") and notes the call is free, which helps rule out generation tools. However, it never says when to reach for this vs. studio_song_status, studio_projects_list, or studio_releases_list, nor states the prerequisite that artistId must first be obtained from studio_artists_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_song_statusRead song upload and analysisA
Read-onlyIdempotent
Inspect

Read the currently attached song and its technical analysis for a project. Returns the song attachment, latest upload job status, analysis ID, measured duration, tempo, sections and existing themes when available. Absent analysis stays pending. Free; this never starts transcription, reasoning or a storyboard.

NameRequiredDescriptionDefault
projectIdYesProject ID returned by studio_projects_list or studio_video_start.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context beyond them: partial results are reported as pending rather than erroring, and the call has no side effects on transcription, reasoning or storyboard generation. It does not mention auth or rate limits, keeping it below 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then the return surface, then two short qualifiers about pending state and cost/side effects. Every sentence carries information, though the return-value enumeration is somewhat list-like and partly redundant with the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a single fully documented parameter, an output schema covering the returns, and rich annotations, the description covers what an agent still needs: that missing analysis is a valid pending state and that the call is free and side-effect-free. Nothing essential is missing, though a pointer to the follow-up tool for acting on the analysis would complete the picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, and the schema already tells the agent the projectId comes from studio_projects_list or studio_video_start. The description adds no format, constraint, or edge-case guidance for projectId, so the baseline 3 for schema-does-the-work applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read the currently attached song and its technical analysis for a project') and enumerates the returned fields, so an agent knows exactly what this surfaces. It also explicitly negatives the workflows it does not touch (transcription, reasoning, storyboard), which cleanly separates it from studio_storyboard_prepare, studio_song_attach and studio_song_reuse.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for use: it is a status read ('Absent analysis stays pending'), it is free, and it never triggers downstream work, so an agent can safely poll it. It stops short of naming alternative tools (e.g. when to use studio_song_attach versus this), so it is context-rich but not a full when/when-not routing rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_song_understanding_writeSave customer-authored song understandingAInspect

Saves finished song understanding against the current analysisId, assetId and understandingRevision. Accepts lyrics/description, language, themes and required words/lines arrays in the timed-transcription shape; empty arrays represent unavailable genuine timing. Source text alone supplies no lip-sync timing or voice ownership. voiceAnswer represents the customer's all_me, other_voices or skipped decision. Preserves measured audio facts and returns canonical understanding with a new revision. Stale input is refused. No transcription/planning model or credit charge.

NameRequiredDescriptionDefault
linesYesTimedLine text/startMs/endMs, requiring supplied timed words. An empty array leaves section line-sync empty; prose alone supplies no timing.
wordsYesExisting TimedWord shape: text/startMs/endMs. Genuine customer-supplied master timing only; [] when unknown. IDs are assigned by the canonical app normalizer.
lyricsNoCustomer-supplied source lyrics with original line breaks. Absence retains existing lyrics; an empty string clears them.
themesNoOptional song themes. Absence retains existing themes; [] clears them.
languageNoCustomer-supplied language, null when unknown. Absence retains the existing language.
projectIdYesProject whose currently uploaded master song is being described.
descriptionNoCustomer-approved song meaning/description. Absence retains the existing value; an empty string clears it.
voiceAnswerNoThe customer’s voice-answer decision. Absence leaves ownership unconfirmed. Shape: {answer: "all_me"} | {answer: "skipped"} | {answer: "other_voices", spans: list of {startMs: integer, endMs: integer, label?: string, role?: "feature"|"dj"|"adlib"|"unknown", overlapsArtist?: boolean}}
expectedAssetIdYesCurrent assetId from studio_song_status analysis: the existing uploaded master, not a new or remote audio source.
expectedAnalysisIdYesCurrent analysisId from studio_song_status.
expectedUnderstandingRevisionYesOpaque current understandingRevision from studio_song_status.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real behavior beyond the annotations: optimistic-concurrency rejection of stale input, preservation of measured audio facts, revision bump on return, and the notable cost/scope facts ('No transcription/planning model or credit charge'). Annotations only supply readOnly=false, idempotent=false, destructive=false, so the description is doing genuine work, though it omits failure/partial-write semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and scoping tokens, then proceeds to payload semantics and cost/behavior facts; every sentence carries content. It is dense and packs several distinct claims (timing rules, voice ownership, staleness, billing) into one block, which slightly reduces scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, nested-object mutation with an output schema present, the description covers the load-bearing unknowns: concurrency tokens, timing-vs-prose distinction, empty-array/absence semantics, and the no-charge/no-model guarantee. Return values need not be explained because the output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description rises above it by explaining the empty-array convention ('empty arrays represent unavailable genuine timing'), that source text alone conveys no lip-sync timing or voice ownership, and the meaning of voiceAnswer as the customer's all_me/other_voices/skipped decision. It adds semantics rather than repeating field docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource ('Saves finished song understanding') and names the exact scoping keys (analysisId, assetId, understandingRevision) it writes against, plus what it returns (canonical understanding with a new revision). An agent can distinguish this write path from the read sibling studio_song_status 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly frames the context of use: it operates on the current analysis/asset/revision triple sourced from studio_song_status, and 'Stale input is refused' tells the agent it must re-read before writing. It stops short of naming explicit alternatives or when-not-to-use cases (e.g., section line-sync tools), so it is clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_approveApprove the customer’s storyboardA
Idempotent
Inspect

Records the customer's storyboard approval for the exact current revisionId using the app's approval service. Changed revisions are refused. Directed-board and existing purchase guards remain enforced. No credits are spent and no media is generated.

NameRequiredDescriptionDefault
projectIdYesThe music-video or Film project id.
revisionIdYesExact storyboard revisionId from studio_sections_read. Identical retries retain the originally quoted revision.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real context beyond annotations: no credits spent, no media generated, direction/purchase guards enforced, and changed revisions refused. The idempotentHint already signals retry safety, but the description usefully explains the exact-revision matching and side-effect profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the core action, then the binding constraint, then guards, then side effects. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema and annotations cover return shape and safety; the description fills in the preconditions, refusal semantics, and non-effects an agent needs to call this mutation correctly. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning by stressing 'exact current revisionId' and that changed revisions are refused — reinforcing the tight coupling between the parameter and success.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (records approval) plus resource (customer's storyboard) and the precise mechanism ('using the app's approval service'). It names the exact binding key (current revisionId), which distinguishes this action from submit/prepare siblings an agent might otherwise 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Conveys preconditions ('Changed revisions are refused', exact current revisionId required) but never states when to choose this over alternatives like studio_storyboard_submit or studio_storyboard_readiness, nor when approval is appropriate. Usage is implied by the state guards rather than explicitly routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_contextRead the song and fixed storyboard formatA
Read-onlyIdempotent
Inspect

Returns current song analysis, brief, approved Artist DNA, references, exact shot timings and storyboard for a Music project. Includes audioAnalysisId, expectedRevisionId, fixed skeleton, approved evidence and submission schema for direction and visualWorld. No planning model or other work starts.

NameRequiredDescriptionDefault
projectIdYesMusic-video project to read.
targetShotCountNoOptional first-board shot count, shared with studio_storyboard_submit.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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 value by clarifying it is side-effect-free ('no planning model or other work starts') and by enumerating the payload (audioAnalysisId, expectedRevisionId, fixed skeleton, submission schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with what is returned and followed by payload specifics and a behavioral caveat. Dense but each clause carries information; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and annotations cover the safety profile. It is complete enough to invoke correctly, though a note on prerequisites or ordering relative to submit/approve would make it fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented, giving a baseline of 3. The description only implies the project context and adds no syntax or meaning beyond the schema for projectId or targetShotCount.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Returns') and enumerates the exact resource contents (song analysis, brief, Artist DNA, references, shot timings, storyboard). Clear purpose, but it does not distinguish itself from close siblings like studio_storyboard_preview or studio_storyboard_readiness.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The closing line 'No planning model or other work starts' implies this is a safe pre-step context read, which hints at when to call it. However, it names no alternatives and gives no explicit condition for choosing this over the other storyboard read/preview tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_edit_promptSave a finished video, section or still promptAInspect

Saves finished prompt text and existing uploaded references as an immutable storyboard revision. Whole/section scope writes shared sectionDirection; shot/still scope writes frame description and optional motion/camera. References replace targeted bindings; [] clears and omission inherits. Requires the current revision. No pictures, video, planning model or credit charge.

NameRequiredDescriptionDefault
scopeYesWhole/section saves a shared sectionDirection; shot/still edits the visible frame prompt.
cameraNoFinished camera movement for a shot/still.
motionNoFinished subject movement for a shot/still.
promptNoFinished prompt, at most 4,000 characters for shot/still or 2,000 for whole/section. The server fits saved direction to the selected engine.
shotIdNoCurrent stable shot id, required for shot or still scope.
projectIdYesProject identified by the current storyboard read.
sectionIndexNoCurrent section index, required for section scope.
expectedRevisionIdYesExact current storyboard revision from studio_storyboard_context.
referenceAttachmentIdsNoReplacement reference bindings for the targeted shots. [] clears; omitted inherits.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses that saved revisions are immutable, that references replace targeted bindings with '[] clears and omission inherits' semantics, that the current revision is required (optimistic concurrency), and that no credits are charged. These are exactly the mutation/cost behaviors an agent needs to call a write tool safely, and they are consistent with readOnlyHint=false, idempotentHint=false, and destructiveHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with no filler, front-loaded with the action and immediately followed by scope semantics, reference behavior, the concurrency requirement, and the explicit cost/scope exclusions. Every clause carries operational weight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 everything else an agent must know for a 9-parameter write tool — scope routing, reference replacement rules, revision precondition, and absence of credit/picture/video side effects. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage the baseline is 3, but the description adds cross-parameter meaning the schema lacks: which fields are written under each scope value, and the replacement/clear/inherit semantics of referenceAttachmentIds. Individual parameter docs still live in the schema, so this is meaningful supplementation rather than full carriage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Saves finished prompt text and existing uploaded references as an immutable storyboard revision') and immediately clarifies the scope split between whole/section and shot/still. The 'immutable revision' framing plus the final 'no pictures, video, planning model or credit charge' clause separates it cleanly from generation-oriented siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the scope-based behavior mapping ('whole/section scope writes shared sectionDirection; shot/still scope...') and the prerequisite 'Requires the current revision', but the description never names an alternative tool (e.g. studio_storyboard_write or studio_storyboard_submit) or states when to prefer this over them. Adequate context, no explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_likeness_recordRecord the customer’s likeness verdictA
DestructiveIdempotent
Inspect

Record the customer’s confirmed or rejected likeness verdict for one exact saved picture. Requires the revision, shot and still asset the customer reviewed. Changes no picture and spends no credits.

NameRequiredDescriptionDefault
verdictYesFor record_likeness: confirmed means the customer said this picture carries the right likeness; rejected means the customer said replace it.
projectIdYesThe music-video or Film project id.
revisionIdYesExact storyboard revisionId from studio_sections_read. Identical retries retain the originally quoted revision.
stableShotIdYesFor record_likeness: the exact stableShotId shown to the customer.
expectedStillAssetIdYesFor record_likeness: the exact saved stillAssetId reviewed by the customer, binding the verdict to that picture.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=false), so the description only needs to add context — and it does, with 'Changes no picture and spends no credits,' a concrete cost/side-effect statement not present in structured fields. It does not clarify what the destructive hint actually affects (e.g. whether an existing verdict record is replaced), which keeps it 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler: the operation and its binding to one picture come first, followed by the required inputs and the no-side-effect guarantee. Every clause carries information an agent can act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be described, and the description plus annotations plus a fully documented 5-param schema cover what an agent needs to invoke this correctly. The only gap is the unresolved tension between destructiveHint=true and the claim that nothing is changed, which the description leaves for the agent to reconcile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and every parameter already carries its own description including enum semantics for verdict, so the baseline is 3. The description restates three of the five inputs ('the revision, shot and still asset the customer reviewed') but adds no format, constraint, or identifier-provenance detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Record the customer's ... likeness verdict') scoped to 'one exact saved picture,' and the confirmed/rejected pairing distinguishes it from sibling confirmation tools like studio_storyboard_stills_confirm or studio_storyboard_look_accept. 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description names preconditions ('Requires the revision, shot and still asset the customer reviewed'), which implies the call happens after a customer review. However, it never says when to prefer this over adjacent verdict/confirm tools (e.g. studio_storyboard_stills_confirm, studio_storyboard_approve), so routing remains inferential.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_look_acceptRecord the customer’s look acceptanceA
DestructiveIdempotent
Inspect

Record the customer’s acceptance of the complete saved key-look picture set. Supply the exact revision and shot/asset pairs reviewed. Changes no picture and spends no credits.

NameRequiredDescriptionDefault
projectIdYesThe music-video or Film project id.
revisionIdYesExact storyboard revisionId from studio_sections_read. Identical retries retain the originally quoted revision.
expectedStillsYesFor accept_look: the complete saved lookTest.stableShotIds set paired with the stillAssetIds reviewed by the customer. Corresponds to readiness.reviewStills entries with lookSelected:true, with one saved picture per stableShotId.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=false. The description adds genuinely new behavioral context beyond those flags: it changes no picture and spends no credits, and that identical retries retain the originally quoted revision. The tension between 'records acceptance' and destructiveHint=true is left unexplained, but no direct 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and scope; the clarification that it changes no picture and spends no credits earns its place by pre-empting credit-safety concerns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a rich input schema, an output schema, and strong annotations, the description covers the essentials for calling this tool. It only falls short on routing relative to adjacent accept/approve siblings, which an agent working in this dense tool family would still have to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all three parameters are documented in the schema, including the expectedStills pairing rule and revisionId source. The description restates the revision and shot/asset pairing at a higher level but adds no syntax or format detail the schema lacks. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Record the customer's acceptance of the complete saved key-look picture set.' It scopes precisely to the key-look stills set, which distinguishes it from the many other storyboard write/approve siblings without needing to open their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells the caller what to supply ('the exact revision and shot/asset pairs reviewed') but gives no when-to-use guidance versus nearby siblings such as studio_storyboard_approve or studio_storyboard_stills_confirm, and no stated preconditions. Usage is implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_picture_changes_preparePrepare selected storyboard picture changesA
DestructiveIdempotent
Inspect

Prices requested picture changes by original projectId/operationId, a new requestId and selected stableShotIds. New approvals produce separate picture-only quotes containing operationId, quoteToken, revisionId, modelId, mode, priceVersion and totalCredits. Identical requestId retries return the original quotes. Historical approvals can complete their previously approved paid picture changes. No charge for quoting.

NameRequiredDescriptionDefault
projectIdYes
requestIdYesNew identifier for this picture-change request. Identical retries retain the original requestId.
operationIdYesThe operationId of the customer's approval (from studio_generation_quote).
stableShotIdsYesThe shots to redo or make, as stableShotIds from studio_storyboard_preview.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, idempotentHint=true, and destructiveHint=true, but the description adds substantive context beyond them: 'No charge for quoting,' the exact output fields of new quotes, and the retry semantics ('Identical requestId retries return the original quotes'). It stops short of explaining what is destroyed despite destructiveHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with the core verb and the parameter basis for pricing. Every sentence carries distinct information (outputs, retries, historical approvals, cost). Slightly jargon-heavy but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out, yet the description still enumerates quote fields (operationId, quoteToken, revisionId, modelId, mode, priceVersion, totalCredits), aiding comprehension. Combined with retry and cost notes, an agent has enough to invoke correctly; only the destructiveHint aspect is left unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, and the description adds meaning: operationId is 'original', requestId is 'new', and stableShotIds are 'selected'. It reinforces the idempotency contract for requestId, which is a semantic nuance the schema only partially captures. It does not describe format constraints, but those live in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Prices requested picture changes by original projectId/operationId, a new requestId and selected stableShotIds.' An agent can tell this is the quoting step for storyboard picture changes. It does not, however, explicitly name a sibling to distinguish itself from tools like studio_storyboard_stills_quote or studio_generation_quote.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by distinguishing 'new approvals' (produce separate picture-only quotes) from 'historical approvals' (can complete previously approved paid picture changes). This hints at when the tool applies, but gives no explicit when-not conditions or named alternative tools to use instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_preparePrepare the saved storyboard’s visual worldAInspect

Validates and saves visualWorld for an existing Music or Film storyboard at expectedRevisionId. Preserves scenes, dialogue, timing, stable shot IDs, cast, identity choices and references. Returns ready synchronously for a valid world, or needs_visual_world with saved-scene context and schema when absent. An already-valid saved world returns ready without a new revision. No planning model, queue, generation provider or credit use.

NameRequiredDescriptionDefault
projectIdYesExisting music-video or Film project.
visualWorldNoBoard-wide visual facts. Optional characters, vehicles, locations, props and never are arrays of up to 12 non-empty strings, each at most 300 characters. Combined rendered fields are limited to 2,400 characters including labels, separators and newlines after trimming. Scene-specific costume and visual direction belong to scene text.
expectedRevisionIdYesExact current authored storyboard revision. Current saved state is available through storyboard reads after uncertain replies.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations declaring the write/non-destructive profile, the description still adds substantial context: it preserves scenes, dialogue, timing, shot IDs, cast, identity choices and references; it returns synchronously with ready or needs_visual_world; an already-valid world yields ready with no new revision; and it explicitly disclaims planning model, queue, provider or credit use. This is rich behavioral disclosure 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with the purpose and preservation guarantee, then return behavior, then the no-cost disclaimer. Nothing is redundant, though the 'no planning model, queue...' clause is a slightly dense tail rather than an integrated statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter write tool with a nested object schema, full description coverage, an output schema, and safety annotations, the description covers purpose, preservation semantics, conditional returns and absence of side effects/cost. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so projectId, visualWorld and expectedRevisionId are fully documented in the schema (including revision/concurrency meaning and field constraints). The description merely references expectedRevisionId without adding syntax or format meaning beyond it, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Validates and saves visualWorld' — scoped to 'an existing Music or Film storyboard at expectedRevisionId'. An agent can tell this apart from storyboard_write/submit by the visualWorld focus, but the description never names or contrasts with those siblings, so differentiation is implicit 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It describes the conditional outcomes (ready when valid, needs_visual_world when absent) which implies when the tool is useful, but gives no explicit when-to-use/when-not guidance and never names an alternative such as studio_storyboard_write. Usage must be inferred from the outcome semantics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_previewPreview the storyboardA
Read-onlyIdempotent
Inspect

Returns the stored storyboard as 30-second section cards with lines and numbered shots. Each shot includes stableShotId and a signed stillUrl valid for about a day, or null if no picture exists. Supported hosts also receive an interactive preview. Free and read-only.

NameRequiredDescriptionDefault
projectIdYesProject id from the Brix36 library.

Output Schema

NameRequiredDescription
codeNo
viewNo
issuesNo
messageNo
sectionsNo
projectIdNo
revisionIdNo
mediaOriginNo
outcomeUnknownNo

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/non-destructive, and the description still adds substantial behavior: the 30-second card granularity, stableShotId presence, a signed stillUrl that expires in about a day, null when no picture exists, and an interactive preview only on supported hosts. Expiry and null-handling semantics are exactly the kind of context structured fields cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with what is returned and followed by the output details that matter (ids, signed URL lifetime, null case) and the cost/safety note. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 could have stopped at the summary, yet it explains the practical return contract (URL expiry, null stills, host-dependent preview) and the free/read-only nature. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single required parameter with 100% schema description coverage ('Project id from the Brix36 library'), so the schema fully documents it. The description adds nothing about the parameter, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (returns the stored storyboard) plus its exact output shape: 30-second section cards with lines and numbered shots. An agent can tell this apart from sibling read tools like studio_storyboard_readiness or studio_storyboard_context by the described return structure, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description never says when to reach for this tool versus the many other storyboard tools (studio_storyboard_context, studio_storyboard_readiness, studio_video_preview). 'Free and read-only' is a faint cost/safety cue but not real usage guidance, and no exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_readinessCheck storyboard picture readinessA
Read-onlyIdempotent
Inspect

Returns readyForVideo, shotsMissingStills, public likenessGate, look-test state and reviewStills for the exact project and revision. Each review binding identifies a saved stableShotId/stillAssetId. A likenessGate of not_required needs no likeness verdict; an absent look test needs no look acceptance. Required likeness verdicts and acceptance of the saved look set are recorded separately. Video uses the original approved price and the existing readiness gates. No state change, provider call or charge.

NameRequiredDescriptionDefault
projectIdYesThe music-video or Film project id.
revisionIdYesExact storyboard revisionId from studio_sections_read. Identical retries retain the originally quoted revision.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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 covered. The description adds genuinely useful context beyond the annotations: that it makes no state change, provider call or charge, and how likenessGate/look-test states are interpreted. Not a contradiction, but not exhaustive on error or edge behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the returned fields, then supporting semantics, and it stays compact. A couple of sentences (e.g. the price/readiness-gates line) are somewhat redundant given the annotations and output schema, but overall it is tight and earns most of its space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, yet the description helpfully frames them. Annotations cover safety, and the description covers the gate semantics. What remains unstated (error cases, pagination/size) is minor for a closed-world, idempotent read.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (projectId, revisionId) are documented in the schema, including the cross-reference to studio_sections_read. The description reinforces 'exact project and revision' but adds no syntax or format meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: it returns a named set of readiness fields (readyForVideo, shotsMissingStills, likenessGate, look-test state, reviewStills) for the exact project and revision. The scope is bound tightly to 'exact project and revision', which distinguishes it from the broader storyboard siblings. It stops short of naming which sibling to use instead, so it is clear but not sibling-differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the readiness framing and the notes about when a likeness verdict or look acceptance is needed, but there is no explicit when-to-use-vs-alternatives statement against siblings like studio_storyboard_preview or studio_storyboard_context. The agent must infer that this is the read-only gate check before video.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_redo_requestRequest a picture redoA
Read-onlyIdempotent
Inspect

Validates a widget-selected stableShotId against the current visible storyboard and returns a request to price that picture change. No approval, generation or spending.

NameRequiredDescriptionDefault
projectIdYesCurrent storyboard project.
stableShotIdYesThe shot whose picture the customer tapped.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world. The description adds genuinely new behavioral context beyond them: it validates against the current storyboard state and explicitly scopes the operation with 'No approval, generation or spending,' telling the agent exactly where its authority ends. It stops short of describing any failure/validation semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the verb and the object, ending with a scoping negation that prevents misreading. No filler or redundant restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and safety annotations supplied, the description does not need to explain return values or side-effect safety. It covers the operation's scope and limits adequately; only the routing against sibling redo/quote tools is left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented; the baseline is 3. The description adds marginal framing by noting stableShotId is 'widget-selected' and must match the 'current visible storyboard,' but it provides no additional syntax or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action (validate a widget-selected stableShotId against the current visible storyboard) and its outcome (return a request to price that picture change). It clearly frames the tool as a pricing-request step, but it never names or contrasts the nearest sibling such as studio_storyboard_picture_changes_prepare, so sibling differentiation is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies the trigger context (a widget-selected stableShotId on a visible storyboard) and the downstream purpose (pricing a picture change), which is useful implied usage. However, it never states when to prefer this over adjacent tools like picture_changes_prepare or the various quote endpoints, so an agent must infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_stills_confirmMake the confirmed storyboard picturesA
DestructiveIdempotent
Inspect

Spends Brix36 credits for exactly the approved quoted pictures. Chat mode requires the quote's unchanged projectId, revisionId, mode, operationId, quoteToken, modelId, priceVersion and quotedCredits. Insufficient balance returns balance, shortfall and creditsInformationUrl without a checkout. Durable purchase/job reconciliation makes identical retries safe, including after expiry. Legacy confirmationToken remains supported. No video authorization or planning-model call.

NameRequiredDescriptionDefault
modeYesmissing prepares selected shots without pictures; new_version buys another picture for exactly one shot that already has one.
modelIdYesThe exact modelId label returned with that still quote.
projectIdYesThe music-video or Film project id.
quoteTokenYesThe exact opaque quoteToken returned by studio_storyboard_stills_quote.
revisionIdYesExact storyboard revisionId from studio_sections_read. Identical retries retain the originally quoted revision.
operationIdYesStable operationId from the picture quote. A new_version operation uses op_ followed by 10–120 letters, digits, underscores or dashes.
priceVersionNoChat mode: exact priceVersion from the picture quote the customer approved.
quotedCreditsNoChat mode: exact creditAmount shown to and approved by the customer.
confirmationTokenNoBrix36-issued confirmation code for these pictures and credits.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (destructive/idempotent/openWorld): it discloses the credit cost, the exact failure shape on insufficient balance (returns balance, shortfall and creditsInformationUrl without a checkout), why retries are safe ('durable purchase/job reconciliation ... including after expiry'), and explicitly scopes out video authorization and planning-model calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the money-spending action and no filler sentences, but the chat-mode field list is a dense run of identifiers and the legacy-token plus 'no video authorization' clauses stack up, making it heavier to parse than it needs to be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, credit-spending operation it covers cost, preconditions, error path, retry semantics and deprecation, and an output schema exists so return values need no restating. Nothing an agent needs before invoking it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the per-parameter detail is already carried by the schema (baseline 3). The description adds group-level integrity semantics the schema does not state: the quote identifies itself only if projectId, revisionId, mode, operationId, quoteToken, modelId, priceVersion and quotedCredits are passed unchanged, and it flags confirmationToken as a legacy path.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource — spends credits for the approved quoted pictures — and its wording ('exactly the approved quoted pictures', 'the quote's unchanged ... fields') makes clear it is the commit step that follows studio_storyboard_stills_quote, not the quoting step itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear precondition chain: the quote must exist and the listed fields must be unchanged, with chat vs legacy confirmationToken paths spelled out. It stops short of naming 'call studio_storyboard_stills_quote first' as an explicit alternative, so the routing 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.

studio_storyboard_stills_quotePrice the storyboard picturesA
Read-onlyIdempotent
Inspect

Prices selected storyboard pictures without spending. Supports missing pictures or new_version for exactly one existing picture, bound to the current revision, quality and stableShotIds. lookTest:true selects the saved bounded key-look set. Returns a signed picture-only quote and exact confirmation fields. Missing operationId is derived by the server; new_version uses a stable op_ ID. Chat approval and existing issued confirmation codes are supported. Short balance returns credit information only. This quote covers no video or planning model.

NameRequiredDescriptionDefault
modeYesmissing prepares selected shots without pictures; new_version buys another picture for exactly one shot that already has one.
qualityYesThe customer’s explicit picture quality; high is the app’s best-picture option.
lookTestNoFor missing mode, true selects the approved storyboard’s saved key-look set. In this mode stableShotIds and operationId are absent.
projectIdYesThe music-video or Film project id.
revisionIdYesExact storyboard revisionId from studio_sections_read. Identical retries retain the originally quoted revision.
operationIdNoStable operationId from the picture quote. A new_version operation uses op_ followed by 10–120 letters, digits, underscores or dashes.
stableShotIdsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only/idempotent/non-destructive, and the description goes well beyond them: the server derives a missing operationId, new_version reuses a stable op_ ID, retries retain the originally quoted revision, a short balance returns credit information only, and the result is a signed picture-only quote with exact confirmation fields. These are non-obvious behavioral traits an agent could not infer from 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the no-spend guarantee are front-loaded, and the sentences are short and individually informative. The block is dense with clause stacking ("bound to the current revision, quality and stableShotIds"), which costs a little readability but no sentence is pure filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return shape need not be spelled out, and the description still covers mode selection, revision binding, idempotent retries, approval handling and insufficient-balance behavior. Remaining gaps are minor (no explicit pointer to the confirm tool as the follow-up step).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 86%, so the baseline is 3, but the description adds rules the schema does not: operationId is derived server-side when omitted, and lookTest:true binds the call to the saved bounded key-look set. The mode and quality explanations largely restate the enum descriptions, keeping this just above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource and an explicit non-effect: "Prices selected storyboard pictures without spending." It also draws the boundary against the whole video/planning family ("This quote covers no video or planning model"), so an agent can separate it from studio_video_plan, studio_image_quote and the sibling confirm tool without reading any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the pre-spend context and the conditions under which each mode applies ("missing" vs "new_version for exactly one existing picture"), plus that chat approval and existing confirmation codes are accepted. It never explicitly names studio_storyboard_stills_confirm as the execution step, so the when-to-use-vs-sibling routing 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.

studio_storyboard_submitSave a finished storyboardAInspect

Validates and saves a finished Music storyboard with one DirectedShot per fixed shot order, exact expectedRevisionId/audioAnalysisId, optional treatment and visualWorld. Creates an immutable revision while preserving server-owned timing. visualWorld is required for quoting. No model, queue, provider or credit use.

NameRequiredDescriptionDefault
shotsYesFinished direction, exactly one entry per server-owned shot order.
projectIdYesExisting music-video project id.
treatmentNo
visualWorldNoBoard-wide visual facts. Optional characters, vehicles, locations, props and never are arrays of up to 12 non-empty strings, each at most 300 characters. Combined rendered fields are limited to 2,400 characters including labels, separators and newlines after trimming. Scene-specific costume and visual direction belong to scene text.
audioAnalysisIdYesExact current song analysis id returned by the context.
targetShotCountNoOptional first-board shot count used when reading the context. Existing timing is preserved.
expectedRevisionIdYesExact current revision id, or null only for the first storyboard.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly=false, destructive=false, idempotent=false), but the description adds material context beyond them: the save creates an immutable revision, server-owned timing is preserved, validation occurs before save, and notably no model/queue/provider/credit is consumed. That last fact is genuinely useful for distinguishing this from credit-consuming generation siblings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with the action verb front-loaded and no filler. It packs several distinct facts efficiently, though the final sentence is a clipped fragment rather than flowing prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. For a non-idempotent write the description covers validation, immutability, timing preservation, and credit neutrality; it omits only the failure mode when expectedRevisionId is stale, which is largely inferable from the 'exact' framing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 86%, so the baseline is 3. Most of the description's parameter talk ('one DirectedShot per fixed shot order', 'exact expectedRevisionId/audioAnalysisId') restates schema text. The one addition is that visualWorld, though optional in the schema, is required for quoting — a useful but single new fact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('validates and saves a finished Music storyboard') and the payload shape (one DirectedShot per fixed shot order). The word 'finished' implicitly distinguishes it from the draft-write sibling studio_storyboard_write, but no sibling is named explicitly, so differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the tool is the finalization step ('finished storyboard', 'exact expectedRevisionId/audioAnalysisId') and states that visualWorld is required for quoting, but never says when to use this versus studio_storyboard_write, studio_storyboard_prepare, or studio_storyboard_approve. Usage context is inferable, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_storyboard_writeWrite the storyboard sections the customer draftedA
Idempotent
Inspect

Updates the supplied existing 30-second storyboard sections with what, type and included fields. The server owns section indexes, count, names, timing and pictures. All supplied edits succeed together or the prior board is restored with a refusal identifying the failed section. No generation or credit charge.

NameRequiredDescriptionDefault
sectionsYesThe drafted sections. Each names the index it changes and any of what, type, included.
projectIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint false, idempotentHint true, destructiveHint false), the description discloses real behavioral traits: transactional atomicity ('all supplied edits succeed together or the prior board is restored with a refusal identifying the failed section'), server ownership of index/count/name/timing/pictures, and the absence of credit cost. This is meaningful context an agent could not derive from the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the action, then atomicity, then cost. Little waste. The only slight redundancy is restating the 'what, type and included' fields that the schema already labels.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, and annotations cover the safety profile. The description adds the atomic rollback semantics and server-owned-field scope, which are the key things an agent needs. The gap is the unexplained projectId and the exact role of index.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%; the sections sub-properties are documented in the schema, and the description echoes them ('what, type and included fields'). However, projectId is undocumented in both schema and description, and the description does not clarify how 'index' identifies a section despite calling it server-owned. Baseline 3 fits given partial coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+scope ('Updates the supplied existing 30-second storyboard sections') so the agent knows this mutates existing sections rather than creating or generating them. It does not, however, explicitly differentiate from close siblings like studio_sections_update or studio_storyboard_submit, so the reader must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use statement, and no named alternative among the many storyboard/section siblings. The 'No generation or credit charge' clause hints at a boundary (this is a free edit, not a paid generation) but 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.

studio_video_exportGet a video download linkA
Read-onlyIdempotent
Inspect

Returns signed download links for existing finished Music video or Film results and selected range files, including results beside unfinished edits. No public publishing, render, payment or extra export charge.

NameRequiredDescriptionDefault
projectIdYesProject id from the Brix36 library.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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 value beyond that by disclosing there is no extra export charge and that results are returned even beside unfinished edits, which is real behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Effectively two compact sentences that are front-loaded with the core action. The trailing cost/clause sentence is dense and slightly awkward ('results beside unfinished edits', 'No public publishing, render, payment or extra export charge') but nothing is truly wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-format detail is not the description's burden, and annotations cover the safety profile. Scope is described adequately, so an agent has enough to call it correctly, with only sibling differentiation missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (projectId) with 100% schema description coverage, so the schema already carries it. The description adds no syntax, format, or constraint detail on projectId, making this the baseline 3 for a fully documented single-param tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Returns signed download links for existing finished Music video or Film results and selected range files.' An agent understands the operation, though it never names or distinguishes itself from nearby siblings like studio_video_status, studio_video_preview, or studio_creative_result, leaving overlap ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'No public publishing, render, payment or extra export charge' functions as partial when-not guidance, ruling out publishing/rendering as the tool's role. However, there is no explicit 'use this when' trigger and no routing to an alternative sibling for the cases it excludes, 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.

studio_video_planPlan a music video or film and get its price (one approval)A
DestructiveIdempotent
Inspect

Creates or updates a film or music-video project, saves its script or storyboard, and returns a price quote without charging. Film input contains the finished script, language, cast and visualWorld. Music input contains sections, visualWorld and optional songUnderstanding. start identifies a new project; projectId identifies an existing one. A music project without a song returns state needs_song and its projectId; planning can continue on that project after its song upload. The result contains the project, saved plan and quote. Identical operationId and input retries return the same project and quote. Rendering is separate and requires the customer's approval of the quoted price.

NameRequiredDescriptionDefault
filmNoFilm only: the finished script, language, cast and visualWorld (same fields as studio_film_script_write). expectedRevisionId may be omitted for a new film.
musicNoMusic only: what to save on the board once the song is on the project.
scopeYes'whole' for the whole song, 'ticked' for the sections currently ticked on the board.
startNoStart a new video (same fields as studio_video_start). Omit when continuing an existing projectId.
projectIdNoContinue this existing project instead of starting a new one.
operationIdYesStable operation identifier shared by this quote and its confirmation.
stillQualityNoPicture quality for the pictures. Default high.
stillShotIdsNoOptional customer-selected stableShotIds from studio_sections_read. Absence selects every shot without a picture. Other shots may have separate later quotes and financial approvals.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=false, so the bar is lower, yet the description adds real value: no charge occurs at this step, a music project lacking a song lands in a recoverable needs_song state, and identical operationId+input retries reuse the same project and quote. It does not spell out what an 'update' overwrites on an existing project, which is the one behavior the destructiveHint still leaves unexplained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six compact sentences, front-loaded with the core action and price-without-charge promise, then branching rules, then idempotency, then the rendering boundary. Each sentence carries information; a small amount of the input-shape sentence duplicates the schema but it establishes the union shape quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 8-parameter nested tool with an output schema, the description covers the missing pieces an agent needs: which inputs select film vs music, the new-vs-existing project switch, the needs_song recovery path, no-charge semantics, retry identity, and the hand-off to rendering. Return shape explanation is not required given the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the field-level meaning of operationId, scope, film, music, start, projectId, stillQuality and stillShotIds is already carried by the schema. The description restates the film vs music payload split and the start/projectId alternative, which the schema descriptions already assert, so it adds only modest semantic value beyond the structured data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise compound verb+resource ('creates or updates a film or music-video project, saves its script or storyboard, and returns a price quote without charging') and immediately bounds it against rendering, which is called out as a separate, approval-gated step. An agent can distinguish it from the sibling quote/write tools 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing is given for the two entry modes ('start identifies a new project; projectId identifies an existing one') and for the failure branch ('A music project without a song returns state needs_song and its projectId'). It also states that rendering is separate and needs the customer's approval of the quoted price, but it never names the sibling tools (e.g. studio_video_start, studio_storyboard_prepare, studio_generation_quote) an agent should prefer in adjacent situations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_video_previewPlay the finished videoA
Read-onlyIdempotent
Inspect

Returns current edit status and signed playback links for an existing finished master or selected range files, including finished results beside unfinished edits. Supported hosts receive players. No generation or credit charge.

NameRequiredDescriptionDefault
projectIdYesProject id from the Brix36 library.

Output Schema

NameRequiredDescription
codeNo
viewNo
issueNo
stateNo
videoNo
issuesNo
messageNo
orderedNo
artistIdNo
sectionsNo
projectIdNo
mediaOriginNo
outcomeUnknownNo
artistNeedsPhotoNo
artistPhotoReasonNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, non-open-world, so the safety bar is low. The description adds genuinely useful context beyond that: signed links imply auth-scoped URLs, 'Supported hosts receive players' discloses a host-dependent return shape, and the explicit 'No generation or credit charge' rules out cost concerns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with the return payload front-loaded and zero filler. Mild ambiguity in 'finished results beside unfinished edits' and 'selected range files' costs it a point, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be enumerated, and annotations carry the safety profile; the description still covers cost, output medium, and partial-result behavior. The main gap is the lack of routing against the status/export siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (projectId) and schema description coverage is 100%, so the schema fully documents it; the baseline of 3 applies. The description adds nothing about the id or errors when the project lacks a finished master.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Returns current edit status and signed playback links.' The 'finished master or selected range files' framing clarifies scope, but it never distinguishes this preview tool from close siblings like studio_video_status, studio_video_export, or studio_motion_preview, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the return-oriented phrasing and the title 'Play the finished video'; there is no explicit when-to-use or when-not, and no sibling is named as the alternative for status checks versus playback.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_video_startStart a music video or film for this customerA
Idempotent
Inspect

Creates a Music or Film project in the customer's catalogue. Accepts an existing artist name or a new fictional name with createArtist:true. Fictional characters require no photo or likeness consent; real-person creation retains the app consent flow. Music requires songTitle; Film requires title or songTitle and no song. Identical retries return the same project. Returns project identifiers for song upload or Film script import. No generation or charge.

NameRequiredDescriptionDefault
kindYesThe requested video kind: music is a music video for a song; film is a short film with scenes, dialogue and optional music.
titleNoWhat to call the video. Defaults to the song title. A film without a songTitle needs this.
artistIdNoExact artist ID from studio_artists_list, disambiguating artists with the same name. ID and artistName must match.
songTitleNoThe song this video is for. Required for a music video; optional for a film, which needs no song. Shown to the customer and used for the catalogue entry.
artistNameYesThe existing artist or invented character starring in it. Required: an existing name from studio_artists_list (case and spacing do not matter), or the customer's chosen new fictional name with createArtist: true.
durationMsNoThe song length in milliseconds, if the customer's AI knows it.
createArtistNoTrue creates a new fictional_character under an unmatched artistName. Fictional characters need no photo or likeness consent. Real-person creation uses the existing app consent flow. Existing names are reused either way; identical retries retain the original flag.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint, non-read-only, non-destructive and closed-world, but the description adds real behavioral context beyond them: identical retries return the same project, fictional characters bypass photo/likeness consent while real persons retain the app consent flow, and no generation or charge is incurred. Auth/permission requirements are still not spelled out.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, followed by compact clauses covering artist handling, per-kind requirements, retry semantics, return value and cost. No sentence is redundant with the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 still orients the agent on what the identifiers are for. Seven parameters at full schema coverage, plus consent, idempotency and no-charge disclosure, leaves nothing critical unstated for a creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3, but the description adds cross-parameter conditional rules that are easy to miss: songTitle is required for music and forbidden-as-song for film, and title is the film fallback. It also clarifies that artistName may be an existing name or a new fictional one, tying it to createArtist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource: 'Creates a Music or Film project in the customer's catalogue.' The closing 'No generation or charge' separates it from the many generation/quote siblings (studio_generation_*, studio_motion_create), and 'start' vs 'generate' is made unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the branching conditions for each kind ('Music requires songTitle; Film requires title or songTitle and no song') and the two artist paths (existing name vs. createArtist:true). It also implies the next step ('Returns project identifiers for song upload or Film script import'). What's missing is any explicit exclusion or named alternative tool to use instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

studio_video_statusHow this video is going, and the finished video linkA
Read-onlyIdempotent
Inspect

Waits up to 45 seconds while rendering, then returns draft, storyboard_ready, making, ready or needs_attention state, section progress counts, the studio's explanation and video.url when finished, with selected range labels, extent and original file links. Excluded sections are counted separately from failures. Provider fallback remains within the quoted price. No new work or charge.

NameRequiredDescriptionDefault
projectIdYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, closed-world, but the description adds real behavioral value beyond them: a 45-second long-poll window, the explicit 'no new work or charge' side-effect guarantee, and the billing note that provider fallback stays within the quoted price. These are traits an agent could not infer from the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the key behavior (wait window) and return states, and closes with the punchy 'No new work or charge.' Sentence one is dense with return-field detail that partly duplicates the output schema, but no sentence is pure filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only status tool with an output schema, the description supplies the wait semantics, the state vocabulary, the no-charge guarantee, and the failure-vs-excluded-section distinction, which is enough for correct invocation. The main gap is the unexplained relationship to the start/preview siblings, but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single projectId parameter is never mentioned in the description, so the description does not compensate for the documentation gap as the rubric requires for low coverage. The parameter is nonetheless self-evident from the tool name, keeping this at a baseline 3 rather than lower.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly conveys a polling/status verb for a video project and enumerates the concrete return states (draft, storyboard_ready, making, ready, needs_attention), so an agent knows what it does. It does not, however, differentiate itself from siblings such as studio_video_start, studio_video_preview, or the generational *_status/*_wait tools, so purpose is clear but unresituated against alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the 'waits up to 45 seconds while rendering' and 'no new work or charge' phrasing suggest this is the safe tool to re-poll after starting a render. There is no explicit when-to-use, when-not-to-use, or named alternative (e.g., versus a plain preview or start call), leaving routing to inference.

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.

  1. 115 tool updates
    • First observedstudio_account_links_read
    • First observedstudio_account_read
    • First observedstudio_ai_sharing_choose
    • First observedstudio_artist_actor_read
    • First observedstudio_artist_cover_set
    • First observedstudio_artist_create
    • First observedstudio_artist_delete
    • First observedstudio_artist_dna_read
    • First observedstudio_artist_dna_write
    • First observedstudio_artist_photo
    • First observedstudio_artist_read
    • First observedstudio_artist_ready_made_choose
    • First observedstudio_artist_reference_add
    • First observedstudio_artist_reference_delete
    • First observedstudio_artist_reference_pack_confirm
    • First observedstudio_artist_reference_pack_quote
    • First observedstudio_artist_update
    • First observedstudio_artist_voice_choose
    • First observedstudio_artist_voice_read
    • First observedstudio_artist_voice_record
    • First observedstudio_artist_voice_status
    • First observedstudio_artist_voices_list
    • First observedstudio_artists_list
    • First observedstudio_copy_read
    • First observedstudio_copy_save
    • First observedstudio_creative_result
    • First observedstudio_credit_usage_list
    • First observedstudio_credits_balance_read
    • First observedstudio_film_add_line
    • First observedstudio_film_assign_actor
    • First observedstudio_film_direction_set
    • First observedstudio_film_edit_line
    • First observedstudio_film_read
    • First observedstudio_film_remove_line
    • First observedstudio_film_scenes_write
    • First observedstudio_film_script_write
    • First observedstudio_film_set_duration
    • First observedstudio_film_set_lip_sync
    • First observedstudio_film_set_speech_voice
    • First observedstudio_film_toggle_camera
    • First observedstudio_film_toggle_sound
    • First observedstudio_generation_confirm
    • First observedstudio_generation_quote
    • First observedstudio_generation_status
    • First observedstudio_generation_wait
    • First observedstudio_get_skill
    • First observedstudio_image_confirm
    • First observedstudio_image_quote
    • First observedstudio_image_result
    • First observedstudio_list_skills
    • First observedstudio_media_confirm
    • First observedstudio_media_import_url
    • First observedstudio_media_upload_url
    • First observedstudio_media_upload_widget
    • First observedstudio_model_catalogue
    • First observedstudio_motion_catalogue
    • First observedstudio_motion_confirm
    • First observedstudio_motion_create
    • First observedstudio_motion_preview
    • First observedstudio_motion_quote
    • First observedstudio_motion_read
    • First observedstudio_motion_restore
    • First observedstudio_motion_result
    • First observedstudio_motion_status
    • First observedstudio_motion_update
    • First observedstudio_motion_use
    • First observedstudio_motion_wait
    • First observedstudio_picture_use_upload
    • First observedstudio_project_artist_presence_set
    • First observedstudio_project_delete
    • First observedstudio_project_dna_pin
    • First observedstudio_project_palette_write
    • First observedstudio_project_rename
    • First observedstudio_projects_list
    • First observedstudio_ready_made_stars_list
    • First observedstudio_reference_add
    • First observedstudio_reference_delete
    • First observedstudio_reference_note_add
    • First observedstudio_reference_note_update
    • First observedstudio_reference_notes_list
    • First observedstudio_reference_upload_link
    • First observedstudio_references_list
    • First observedstudio_release_create
    • First observedstudio_releases_list
    • First observedstudio_section_engine_select
    • First observedstudio_section_engines
    • First observedstudio_sections_read
    • First observedstudio_sections_set_line_sync
    • First observedstudio_sections_update
    • First observedstudio_shot_video_references_read
    • First observedstudio_shot_video_references_write
    • First observedstudio_song_attach
    • First observedstudio_song_reuse
    • First observedstudio_song_status
    • First observedstudio_song_understanding_write
    • First observedstudio_songs_list
    • First observedstudio_storyboard_approve
    • First observedstudio_storyboard_context
    • First observedstudio_storyboard_edit_prompt
    • First observedstudio_storyboard_likeness_record
    • First observedstudio_storyboard_look_accept
    • First observedstudio_storyboard_picture_changes_prepare
    • First observedstudio_storyboard_prepare
    • First observedstudio_storyboard_preview
    • First observedstudio_storyboard_readiness
    • First observedstudio_storyboard_redo_request
    • First observedstudio_storyboard_stills_confirm
    • First observedstudio_storyboard_stills_quote
    • First observedstudio_storyboard_submit
    • First observedstudio_storyboard_write
    • First observedstudio_video_export
    • First observedstudio_video_plan
    • First observedstudio_video_preview
    • First observedstudio_video_start
    • First observedstudio_video_status

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Make UGC-style video ads without filming: tell your AI assistant what to say and get a vertical clip of a realistic actor saying it, ready for TikTok, Reels or Shorts. Pick or describe an actor, choose a voice from samples, and see the price before rendering. It also makes faceless videos from a script or a short brief: narration over an opening animated clip and image scenes.
    39
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Search and license 217,000+ authentic vintage 8mm home movie clips from the 1930s-1980s. 6 tools: text search, clip details, visual similarity, rough-cut timeline builder, rights verification, and instant licensing via x402 USDC payments on Solana and Base. All footage is real archival film restored in 4K, no AI-generated content.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Turn words, images, and audio into an animated video with MP4 export.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources