Zvid
OfficialZvid's MCP server lets you plan, create, validate, render, and manage professional video and image projects via an AI agent workflow.
Creative Planning & Library
plan_creative_video— turn a brief into a storyboard, style directions, and ranked library candidates with adapt-vs-assemble decisionsfind_matching_examples— match a brief against the published examples library with ranked candidates and thumbnailsstart_from_example— fetch a render-ready project JSON with an adaptation map (variables, text/media slots, fonts)search_creative_library/get_creative_asset— search and fetch examples, templates, canvas presets, and shapes
Stock Media
list_stock_providers/search_stock_media— discover and search Pexels, Pixabay, Unsplash, Giphy, Jamendo for render-ready image, video, GIF, and audio URLs
Schema, Validation & Docs
get_project_schema/list_supported_elements/get_element_docs— retrieve live JSON schema, supported element types, and per-element field docsvalidate_project_json— check payloads for field errors and layout warnings before rendering (free, no credits)repair_project_json— auto-fix invalid payloads with an explanation of every changeget_example_payload— retrieve starter payloads for common flows
Rendering
create_render/create_image_render— queue video or still-image (PNG/JPEG/WebP) renders from project JSON or templatesrender_from_example— one-call render from a library example with new variable valuescreate_bulk_render— queue up to 500 renders from one template with per-item variable setsget_render/list_renders/get_bulk_render/list_bulk_renders— track render job status, progress, output URLs, and thumbnails
Templates
list_templates/get_template/create_template/update_template/delete_template/duplicate_template— manage reusable templatespreview_template— dry-run variable resolution and validation without spending credits
Projects
list_projects/get_project/create_project/update_project/delete_project— manage draft projects editable in the Zvid editor
Webhooks
Create, update, delete, and test HMAC-SHA256-signed webhook endpoints for
render.completedandrender.failedeventslist_webhook_deliveries— review recent delivery attempts with status and response codes
Account & Credits
get_credits— view total, subscription, and add-on credit balancesget_usage_stats— view render and credit usage over a timeframe (e.g. 7d, 30d, 90d)
Provides an official n8n workflow that enables n8n automation to use Zvid's video and image authoring and rendering capabilities, including configurable tool profiles and credit ceilings.
@zvid/mcp
Official Zvid agent and MCP server. Creator follows a quality-first workflow: plan the brief, adapt designed examples or library assets, validate exact project JSON, save a reviewable draft, then render only after approval. Automation and Developer add trusted direct operations.
Authentication
There are exactly two ways to authenticate. Every setup below uses one of them:
# | Method | Works with | What you need |
1 | OAuth — sign in with your Zvid account (recommended) | Hosted endpoint | A Zvid account and any OAuth-capable Streamable HTTP MCP client. No API key to create or paste. |
2 | API key ( | Hosted endpoint via the | A key from app.zvid.io/api-keys; Node.js ≥ 18 for stdio |
Method 1 — OAuth sign-in. Add https://mcp.zvid.io/mcp to your MCP client
and sign in when prompted. The endpoint publishes OAuth discovery metadata,
uses authorization code + PKCE with the single scope zvid:mcp, and issues
short-lived access tokens with rotating refresh tokens (revocable per
RFC 7009). This is what the client-specific instructions below use.
Method 2 — API key. Create a key at app.zvid.io/api-keys, then either:
Hosted: send it in the
X-Api-Keyheader onhttps://mcp.zvid.io/mcp— for programmatic clients that cannot run an OAuth flow, or legacy access.Local stdio / self-hosted: pass it via
ZVID_API_KEY/--api-keyas shown in Local stdio / self-hosted setup. The stdio transport is API-key only, because MCP OAuth is defined for HTTP transports.
Related MCP server: z_ai_image_gen_mcp
Hosted setup (recommended)
The hosted endpoint is https://mcp.zvid.io/mcp. It accepts both
authentication methods: OAuth sign-in (method 1 — used by the client
instructions below) and an API key in the X-Api-Key header (method 2).
Claude Code
claude mcp add --transport http zvid https://mcp.zvid.io/mcp
claude mcp login zvidYou can also open /mcp inside Claude Code and authenticate there.
OpenAI Codex
Add this to ~/.codex/config.toml, then authenticate from MCP settings or run
codex mcp login zvid:
[mcp_servers.zvid]
url = "https://mcp.zvid.io/mcp"
auth = "oauth"
scopes = ["zvid:mcp"]
oauth_resource = "https://mcp.zvid.io/mcp"The dashboard stores the default tool profile
and maximum credits per render for MCP clients. A client may connect with
concrete values in the endpoint, for example
https://mcp.zvid.io/mcp?profile=creator&maxRenderCredits=60; this is connection
configuration and cannot be changed by the model during a conversation. The
default per-render credit limit is 120, and the dashboard limit, when set, is a
hard ceiling: the effective limit is the lower of the dashboard value and the
value requested in the endpoint.
The official n8n workflow copies both dashboard defaults into its workflow JSON when downloaded. Each workflow can then choose another concrete profile and credit ceiling locally without updating the dashboard or any other workflow.
Local stdio / self-hosted setup
The npm/stdio entry point uses an API key (authentication method 2).
Configuration resolution is CLI flags, then environment, then
~/.zvid-mcp.json:
npx -y @zvid/mcp --api-key zvid_your_key_here --api-url http://localhost:4000Env var | CLI flag | Required | Default | Purpose |
|
| stdio only | — | Zvid API key |
|
| no |
| Orchestrator base URL |
|
| no |
| Tool profile |
| — | no |
| Legacy/fallback hosted limit; dashboard and explicit n8n values take precedence |
| — | no |
| Automation/developer bulk-call item ceiling |
| — | hosted | process-random | Shared HMAC secret for multi-instance quotes |
For a self-hosted OAuth deployment, keep the resource and issuer identical on both services:
Service | Variable | Production default |
Orchestrator |
|
|
Orchestrator |
|
|
Orchestrator |
|
|
MCP |
|
|
MCP |
|
|
The orchestrator also accepts OAUTH_ACCESS_TOKEN_TTL_SECONDS and
OAUTH_REFRESH_TOKEN_TTL_SECONDS; their defaults are one hour and 30 days.
From a checkout:
cd mcp && npm install && npm run build
claude mcp add zvid --env ZVID_API_KEY=zvid_your_key_here -- node /absolute/path/to/mcp/dist/index.jsDefault Creator workflow
The default creator profile is the former Advanced authoring surface. It exposes
planning, designed examples, creative-library search, stock media, schema/docs,
repair, validation, projects and templates alongside approval-aware draft tools.
Creator deliberately rejects create_media and revise_media calls that omit the
complete project payload. This prevents a weak model from improvising a poor
layout from a brief. The agent must plan, adapt or assemble an exact payload,
validate it remotely, fix every error and layout warning, and only then save the
draft. create_media remains non-spending; render_media still requires the
user-approved signed quote.
When the user asks for a reusable template rather than a one-off video or
image, create_media_template saves a parameterized project — a top-level
variables object of safe defaults referenced via {{name}} placeholders —
as a persistent tpl_… template. It returns the declared variables, a credit
estimate for rendering the untouched defaults, and an editor deep link
(https://editor.zvid.io/?template=<id>). create_media_from_template then
instantiates the template with new variable values as an approval-gated draft
with a signed quote. Neither call spends credits. In the creator profile
create_media_template requires the complete parameterized payload, mirroring
create_media.
Rendering is deliberately separate from drafting. Quote tokens are HMAC-signed, expire after 15 minutes, bind the draft ID, project version, canonical payload hash, media type and estimated credits, and are revalidated immediately before submission. An idempotency UUID prevents retry duplication.
Capability profiles
Profile | Intended use | Surface |
| Inspection |
|
| Most users | Quality authoring, libraries, validation, projects/templates and approved renders |
| Trusted workflows | Creator tools plus direct renders, capped bulk rendering and webhook operations |
| Full API development | Every registered non-destructive/raw tool |
Update and delete tools remain disabled in every profile. Stored webhook
secrets are redacted by get_webhook; only create_webhook returns a new
secret. Bulk calls default to 25 items even though the underlying API can
accept more.
The server also publishes four user-invoked workflow prompts (product promo,
social reel, thumbnail and square post) and safe MCP resources at
zvid://authoring/guidelines and zvid://account/summary.
Creator, Automation and Developer tools
The following low-level capabilities are available only in the profiles described above:
Tool | Description |
| Plan-aware storyboard and art direction from a brief — plus |
| Rank the entire published examples library against a brief (category synonyms, aspect/duration fit) and return candidates with thumbnails plus a decision: |
| Fetch an example's render-ready project JSON plus an adaptation map (variables, text/media slots, scene summary, fonts) and the adaptation contract — the premium path: keep the layout, swap copy/media/brand. Suggests free alternatives when a premium example is plan-locked |
| One-call premium render: example slug + new variable values → the server saves it as a template, dry-runs the variables, and queues the render with the designed layout fully intact. The most reliable path for smaller models |
| Search complete examples, animated Design Studio templates, canvas presets, or shapes; results include preview/thumbnail metadata when published |
| Fetch metadata and full JSON content for one creative-library item |
| Discover configured image/video/GIF/audio providers and search normalized render-ready media URLs |
| Live caller-plan-aware JSON Schema (draft 2020-12) for a project payload or full render request, plus validation notes, professional authoring guidelines, and required workflow; falls back to the bundled default schema when the endpoint is unavailable |
| Validate a payload before rendering — field-level errors, free. Also lints layout: overlapping texts, x/y ignored by presets, off-canvas boxes, padding cut-offs, low contrast. |
| All element types (IMAGE, VIDEO, GIF, SVG, TEXT, AUDIO, SUBTITLE, SCENE) with required fields |
| Per-element docs: every field, constraints, gotchas, and a valid example |
| Validated example payloads: promo video, template render, still image, subtitles, webhook flow |
| Conservative auto-fix for invalid payloads with an explanation of every change |
| Queue a video render from a project JSON ( |
| Queue a still-image render (PNG/JPEG/WebP; supports |
| Job state ( |
| List render jobs (filter by |
| One template/payload × N variable sets → N jobs (max 500) |
| Inspect bulk batches |
| Browse owned templates; |
| Create a plan-validated reusable template or make an active editable copy |
| Dry-run variable resolution + validation — costs no credits |
| Editor draft projects (open at |
| Webhook endpoints for |
| Credit balance and usage |
Schema-aware authoring
The server doesn't just forward payloads — it knows the Zvid project schema. The schema tools are backed by a shared module (../schema, vendored as src/zvidSchema.ts) that is derived from the live backend validation (orch/middleware/validation.js) and parity-tested against it, so tool answers never drift from what the API actually accepts. When public docs and these tools disagree, the tools (backend) win.
The server also advertises this workflow as MCP instructions, so compliant clients receive it at initialize time. The example-first flow for an AI client authoring a video:
plan_creative_videowith the brief, format, duration, brand and variation mode. The response includes rankedlibraryCandidatesand a decision.Decision
adapt-example:start_from_examplewith the top slug to see its variables and adaptation map, then the easiest premium path — pick new variable VALUES (copy, media URLs, brand colors) and callrender_from_example { slug, variables }; the server keeps the designed layout/animations intact. Edit the payload manually only when variables cannot express the change (keep the layout skeleton; never simplify a complex example into plain text). Manual template route:create_template→preview_template→create_render { template, variables }— variables are inert on direct payload renders.Decision
assemble-similar(or nothing close on inspection): assemble the planned scene recipes from the returneddesign-templates,canvas-presetsandshapesmodules (orsearch_creative_library). Never force an unrelated full-video template.Use
search_stock_mediafor topic-specific visuals and music for each scene — full-qualitysrcURLs, natural size ≥ the canvas.When composing, call
get_project_schema/list_supported_elements/get_element_docsfor the exact shape.Run
validate_project_json(addremote: trueto check against the caller's real plan) and fix every error and layout warning. Userepair_project_jsononly for mechanical mistakes.create_render/create_image_render, inspect a draft, revise if needed, then pollget_renderfor the final output.
For stills or quick "make something like X" requests without a full plan, start at find_matching_examples (type: "image" for stills).
Variation behavior:
consistentderives a stable seed from the brief (or acceptsvariationSeed) for reproducible automations.freshproduces one new direction and expects recent library assets to be excluded.explorereturns 2-5 materially different style/layout/storyboard directions, not recolors of one payload.
For a reusable template, replace the final render with create_template. Later use get_template to inspect it, preview_template before rendering, and duplicate_template for a safe editable copy. Update and delete mutations are intentionally not exposed as MCP tools.
Example prompts
"Create a valid Zvid JSON payload for a 10-second promo video with a headline and background music."
"Plan three genuinely different 9:16 creative directions for this product launch, avoid these recently used example slugs, then build the strongest one."
"Validate this payload before rendering and explain anything that's wrong."
"Show me the required fields for a TEXT visual."
"What subtitle animation modes does Zvid support?"
"This payload fails — repair it and tell me what you changed."
"Render a 1080p video from template tpl_… with title 'Summer Sale' and give me the link when it's done."
"Preview template tpl_… with these variables and tell me if anything fails validation."
"Create a webhook pointing at https://example.com/hooks/zvid for completed and failed renders."
"How many credits do I have left, and what did I spend this month?"
Webhook signature verification
Deliveries are signed: X-Zvid-Signature: sha256=HMAC_SHA256(secret, "<X-Zvid-Timestamp>.<raw body>"). The secret (whsec_…) is returned once by create_webhook; get_webhook redacts it.
Development
npm install
npm run build # tsc → dist/
npm test # unit + in-memory MCP round-trip tests
# real E2E against a local orchestrator:
ZVID_API_KEY=zvid_… ZVID_API_URL=http://localhost:4000 node scripts/e2e-local.mjsPublishing (manual)
Not published yet.
npm. Bump version in package.json, then npm publish from mcp/ (public access is set via publishConfig). The prepublishOnly hook builds dist/.
Official MCP Registry (registry.modelcontextprotocol.io) — lists the server for discovery in MCP-aware clients. It reads server.json; ownership of the io.zvid/* namespace is proven with a DNS TXT record on zvid.io (or switch the mcpName/server.json name to io.github.Zvid-io/zvid-mcp to verify via GitHub instead). After npm publish:
# one-time: install the publisher CLI, then log in (DNS or GitHub)
mcp-publisher login dns --domain zvid.io # or: mcp-publisher login github
mcp-publisher publish # reads ./server.jsonKeep versions in sync on every release — a mismatch blocks the registry publish. Update all three together: package.json version, server.json version, and server.json packages[0].version. The server name must match in both files: package.json mcpName == server.json name.
Available Tools
42 toolscreate_bulk_renderCreate bulk renderAInspect
Queue N renders from one template/payload and a list of per-item variable sets (max 500 items, plan-limited). Validation is best-effort per item: valid items queue, invalid ones are reported in itemErrors. Returns bulkId + jobIds.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | What the payload/template renders | video |
| name | No | Name for the bulk batch | |
| items | Yes | One entry per render; each item's variables merge over the base variables. | |
| payload | No | Full Zvid project JSON (scenes, elements, output settings). Call get_project_schema for the JSON Schema, list_supported_elements / get_element_docs for element docs, and validate_project_json BEFORE rendering. | |
| template | No | Template ID, e.g. "tpl_AbC123..." (20 chars after the prefix) | |
| overrides | No | Optional output overrides applied on top of the payload/template. | |
| variables | No | Base variables applied to every item | |
| webhookUrl | No | Optional per-job webhook URL notified on render.completed / render.failed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses validation is best-effort, max 500 items, plan-limited, and returns bulkId+jobIds. However, does not clarify async behavior or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with key action and limits, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core behavior and returns but does not explain template/payload choice or link to sibling tools. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds limited value. Mentions items are per-item variable sets and validation behavior, but these are covered by schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool queues multiple renders from a template/payload with per-item variable sets. Distinguishes from sibling create_render by focusing on bulk operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for multiple renders (bulk) but does not explicitly contrast with create_render or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_image_renderCreate image renderAInspect
Queue a still-image render (PNG/JPEG) from a project JSON or an image-type template. Overrides support snapshotTime, quality and transparent. Returns a jobId to poll with get_render. For NEW creative stills, first run find_matching_examples with type: "image" and adapt a library example via start_from_example instead of composing from scratch.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | No | Full Zvid project JSON (scenes, elements, output settings). Call get_project_schema for the JSON Schema, list_supported_elements / get_element_docs for element docs, and validate_project_json BEFORE rendering. | |
| template | No | Template ID, e.g. "tpl_AbC123..." (20 chars after the prefix) | |
| overrides | No | Optional output overrides applied on top of the payload/template. | |
| variables | No | Template variable values, keyed by variable name. | |
| webhookUrl | No | Optional per-job webhook URL notified on render.completed / render.failed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries behavioral burden. It states it queues an async job and returns a jobId, but doesn't disclose side effects (e.g., no resource modification), rate limits, or auth requirements. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each earning its place: main action, overrides, return value, usage alternative. Front-loaded with key verb and resource. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, return, and a usage scenario. Lacks mention that at least one of payload or template should likely be provided (no required params in schema). No output schema, but return described as jobId. Good for a 5-param tool with full schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds value by summarizing key overrides (snapshotTime, quality, transparent) and clarifying the two modes (payload vs template) beyond schema descriptions. Doesn't explain interaction between payload and template when both provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it queues a still-image render (PNG/JPEG) from a project JSON or image-type template, distinguishing it from sibling tools like create_render (likely video) and create_bulk_render. The verb 'queue' and resource 'still-image render' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: for new creative stills, first use find_matching_examples and start_from_example instead of composing from scratch. Also mentions polling with get_render. Lacks explicit when-not-to-use (e.g., video renders), but the name implies image-only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectCreate projectBInspect
Save a new editor draft project. It becomes editable at https://zvid.io/editor?project=.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| payload | Yes | Full Zvid project JSON (scenes, elements, output settings). Call get_project_schema for the JSON Schema, list_supported_elements / get_element_docs for element docs, and validate_project_json BEFORE rendering. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits but only mentions saving a draft and yielding an editable URL. It omits effects of duplicate names, authentication needs, rate limits, and whether the operation is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff, front-loaded with key action. Could benefit from additional context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return value specification (e.g., does it return the project ID or URL?). Given no output schema and complex payload, more detail is needed for agent to fully understand the tool's behavior and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already documents both parameters (name with constraints, payload with detailed description). The tool description adds no new parameter information, so baseline 3 is appropriate despite 50% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'save' and specific resource 'new editor draft project', distinguishing it from siblings like create_template or create_render. The URL further clarifies the output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs. alternatives like update_project or create_template. The description implies usage for new drafts but does not exclude or compare.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_renderCreate video renderAInspect
Queue a video render. Provide either a full project JSON as payload or a template ID (optionally with variables). Returns a jobId to poll with get_render. Credits are reserved up front. For NEW creative content do not hand-compose the payload: run plan_creative_video (or find_matching_examples) first and adapt a library example via start_from_example, then validate_project_json before rendering.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | No | Full Zvid project JSON (scenes, elements, output settings). Call get_project_schema for the JSON Schema, list_supported_elements / get_element_docs for element docs, and validate_project_json BEFORE rendering. | |
| template | No | Template ID, e.g. "tpl_AbC123..." (20 chars after the prefix) | |
| overrides | No | Optional output overrides applied on top of the payload/template. | |
| variables | No | Template variable values, keyed by variable name. | |
| webhookUrl | No | Optional per-job webhook URL notified on render.completed / render.failed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that credits are reserved up front and returns a jobId for polling, beyond what annotations (none) provide. Good behavioral context without contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three information-dense sentences, front-loaded with the core action. Efficient but could be slightly more concise by avoiding repetition of parameter names already in schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all critical aspects: input options, return value, polling mechanism, credit reservation, and prerequisites (plan_creative_video, validate_project_json). Complete for a queueing tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds value by explaining the exclusive use of payload vs template, referencing validation functions, and detailing the template pattern. Slightly above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Queue a video render' and specifies two distinct input methods (payload or template), distinguishing from siblings like create_image_render and create_bulk_render.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises not to hand-compose payload for new creative content, and directs to use plan_creative_video, start_from_example, and validate_project_json. Provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_templateCreate templateAInspect
Create a reusable template from complete project JSON. Read get_project_schema first; every placeholder must have a safe default and video-template scenes need explicit durations. The backend validates the template against this account's plan before saving it. This is also the render path for adapted library examples that use variables/condition/iterate: create_template -> preview_template -> create_render { template, variables }.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| payload | Yes | Full Zvid project JSON (scenes, elements, output settings). Call get_project_schema for the JSON Schema, list_supported_elements / get_element_docs for element docs, and validate_project_json BEFORE rendering. | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description adds useful behavioral context: backend validation against account plan and constraints on placeholders. This exceeds a basic description without contradicting any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with three sentences that front-load the purpose and then provide guidelines. It is efficient but could be improved with better structure (e.g., bullet points) for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 parameters, nested object, no output schema), the description covers prerequisites, validation, and the broader workflow. It is sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, but the payload parameter has a detailed description with instructions to call other tools for schema and validation. Name and description lack descriptions, but the payload description adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a reusable template from complete project JSON', specifying the verb 'create', resource 'template', and input source. This distinguishes it from sibling tools like create_render and create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Read get_project_schema first; every placeholder must have a safe default' and outlines the render path for library examples. However, it does not explicitly differentiate from the sibling create_project tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webhookCreate webhookBInspect
Register a webhook endpoint for render events. The response includes the signing secret (whsec_...) shown in full only here and on get_webhook — deliveries are signed with HMAC-SHA256 in the X-Zvid-Signature header.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | HTTPS endpoint to deliver events to | |
| events | Yes | Events to subscribe to | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the response includes the signing secret (shown only here and on get_webhook) and that deliveries are HMAC-SHA256 signed. However, it omits other behaviors like validation, rate limits, or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Purpose is front-loaded, and additional behavioral context is appended. Could be slightly more concise but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return value details (beyond signing secret) and error handling. The 'description' parameter is undocumented in both schema and description. No guidance on when to use versus other webhook tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 2 of 3 parameters with descriptions (url, events), so baseline is 3. The description does not add new semantic detail about parameters beyond what schema provides; the third parameter 'description' lacks schema description and is not addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action 'Register a webhook endpoint' and the resource 'render events'. The verb 'register' is distinct from sibling update/delete/test tools, making purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'update_webhook' or 'test_webhook'. Does not mention prerequisites or context for using webhooks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_projectDelete projectBInspect
Permanently delete a draft project.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID, e.g. "prj_..." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'permanently delete', indicating irreversibility, but does not disclose permissions, side effects, or conditions like whether only draft projects can be deleted. With no annotations, the description carries the burden but provides minimal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is extremely concise while conveying the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter delete tool, the description is adequate. It specifies the action is permanent and applies to draft projects, but could be improved by noting what happens if the project is not in draft status or the result of successful deletion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema description is adequate. The tool description adds no additional meaning beyond the schema, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('permanently delete') and the resource ('draft project'), distinguishing it from other tools like create_project or update_project. However, it does not explain why 'draft' is emphasized, which could be a constraint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives (e.g., update_project to change status). For a destructive action, the lack of usage context is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_templateArchive templateAInspect
Archive an active template owned by this account. Archived templates cannot be rendered or updated, so call this only when the user explicitly asks to remove it.
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | Template ID, e.g. "tpl_AbC123..." (20 chars after the prefix) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that archived templates 'cannot be rendered or updated', but does not specify if the action is reversible or what happens to associated data. While it warns about consequences, it lacks completeness on the tool's safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences with no superfluous words. Every clause serves a purpose: stating the action, defining the target, explaining consequences, and setting usage constraints. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 parameter, no nested objects, no output schema), the description covers purpose and usage but omits expected return value or error cases. With no output schema, the description could have described the result of archiving (e.g., confirmation) to improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter, including pattern and description. The description adds no additional semantics beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses 'Archive' as a specific verb and identifies the resource as 'an active template owned by this account', clearly distinguishing it from sibling tools like update_template or delete_project. It also states the behavior of archived templates (cannot be rendered or updated), reinforcing purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'only when the user explicitly asks to remove it'. This provides a clear usage condition. However, it does not mention alternatives or when not to use it beyond that condition, which would improve guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webhookDelete webhookCInspect
Delete a webhook endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | Webhook ID, e.g. "whk_..." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. Only states 'delete', but doesn't disclose irreversible nature, cascading effects, or authorization needs. Agent lacks critical 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, front-loaded. However, under-specification limits value; longer description with key details would be better.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter and no output schema. Description is minimal but functional. However, lacks contextual completeness for a deletion operation (e.g., effects, confirmation).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with pattern and description for webhookId, so description adds no extra meaning beyond what's already in input schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action and resource with 'Delete a webhook endpoint.' This is specific and distinguishes from other webhook operations, though it could be more explicit about the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or avoid this tool. Lacks alternatives or context on prerequisites, such as whether the webhook must exist or be inactive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_templateDuplicate templateAInspect
Create an editable copy of an owned template, including archived templates. The copy is active and counts against the account's template quota.
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | Template ID, e.g. "tpl_AbC123..." (20 chars after the prefix) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behaviors. It reveals that the copy is active and counts against template quota, which is key for an agent to understand side effects. Could be improved by mentioning if the original remains unchanged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundant information. Every word contributes to understanding the tool's purpose and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema, no annotations), the description fully covers purpose, scope, and side effects (quota impact). Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (templateId) with schema coverage 100%. Schema already provides pattern and example; description adds no additional meaning to the parameter itself, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Create an editable copy' and resource 'template', specifies scope 'owned template, including archived templates', which distinguishes it from sibling like create_template that creates new templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies when to use (need editable copy of owned/archived template) and mentions quota impact, but does not explicitly state when not to use or compare to alternatives like create_template.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_matching_examplesFind matching library examplesAInspect
Match a brief against the ENTIRE published examples library (hundreds of professionally designed, render-ready projects) and return ranked candidates with thumbnails/previews plus a decision: "adapt-example" (strong match — call start_from_example), "adapt-or-assemble", or "assemble-similar" (compose from the returned design-template/canvas-preset/shape modules). Use this before authoring any project JSON by hand; matching runs over full metadata with category synonyms, so it finds examples the plain search_creative_library query cannot.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Restrict to video examples, still-image examples, or both. | any |
| brief | Yes | What to create, for whom, and the goal — same brief you would give plan_creative_video. | |
| limit | No | ||
| duration | No | Target video duration in seconds (soft signal). | |
| aspectRatio | No | ||
| excludeSlugs | No | Recently used example slugs to exclude (anti-repetition). | |
| includeParts | No | Include design-template/canvas-preset/shape modules for assembly. Default: automatic (included unless a strong example match exists). | |
| variationMode | No | fresh (default) rotates which comparable top candidate leads, so repeated identical briefs vary; "consistent" keeps ranking deterministic. | fresh |
| variationSeed | No | Optional reproducible seed for the rotation; omit for a new pick per request. | |
| excludePremium | No | Set true on free-plan accounts to skip premium examples (their content is plan-gated). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It discloses that matching runs over full metadata with category synonyms, the library size (hundreds), and the output includes a decision. It does not mention any destructive implications or authentication needs, but the tool appears to be a read-only search operation. Some detail on return value structure could improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first covers purpose and output, the second provides usage guidance and comparison. It is front-loaded, concise, and every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers main purpose and usage context but lacks details on the exact output structure (e.g., format of ranked candidates, fields in thumbnails/previews). Without an output schema, more information about the returned data would improve completeness for a tool with 10 parameters and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80% (8 of 10 parameters have descriptions). The tool description does not add extra meaning beyond what the schema already provides for parameters. Baseline is 3 due to high schema coverage, and the description does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'match', the resource 'ENTIRE published examples library', and the specific output of ranked candidates with thumbnails/previews plus a decision. It distinguishes from the sibling 'search_creative_library' by noting that this tool runs over full metadata with category synonyms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to use this tool before authoring any project JSON by hand and explains that it finds examples beyond plain search. It also links the decision values to subsequent actions (start_from_example or compose from modules). However, it does not provide explicit when-not-to-use or list alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bulk_renderGet bulk renderBInspect
Get a bulk render batch by ID (blk_...) including its jobs' states.
| Name | Required | Description | Default |
|---|---|---|---|
| bulkId | Yes | Bulk render ID, e.g. "blk_..." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only states basic retrieval behavior without disclosing permissions, rate limits, or side effects. It is implied to be read-only but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is clear and to the point, containing no unnecessary words. All information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately explains what is returned (the batch with jobs' states). It is complete enough for the agent to understand the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the single parameter with a clear description. The tool description adds no further semantics beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', resource 'bulk render batch by ID', and includes the output detail 'including its jobs' states'. It distinguishes from sibling tools like list_bulk_renders (list all) and get_render (single render).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., list_bulk_renders, get_render). The description does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creative_assetGet a creative-library assetAInspect
Get metadata and, by default, the full JSON content for one creative-library item. Examples are complete projects — when you intend to ADAPT one, prefer start_from_example (it also returns an adaptation map and contract). Design templates/canvas presets/shapes are reusable modules and must be composed into a project.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| slug | Yes | ||
| includeContent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states the tool returns metadata and JSON content by default, implying read-only behavior, but does not disclose error handling, authentication requirements, or what 'metadata' includes. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. The main action is front-loaded, and additional context is provided efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description leaves the return format ambiguous (what does 'metadata' include?). It covers the main use case and differentiates from a key sibling, but lacks details on error handling and output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must explain parameters. It hints at 'includeContent' by mentioning 'by default, the full JSON content' and explains the 'kind' values by detailing examples vs. design templates/canvas presets/shapes. However, 'slug' is not explained, and the relationship between parameters could be clearer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves metadata and full JSON content for one creative-library item. It distinguishes from the sibling tool 'start_from_example' by specifying when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: use this tool to fetch an asset, but when adapting an example, prefer 'start_from_example' which returns additional adaptation information. Also explains that design templates, canvas presets, and shapes are reusable modules that must be composed into a project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsGet credit balanceBInspect
Get the account's credit balance (total balance, subscription credits, and add-on credit pack balance).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a read operation but does not explicitly state it is read-only, safe, or disclose any behavioral traits like rate limits or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise 20-word sentence that front-loads the verb 'Get' and the resource 'credit balance'. Every phrase is informative with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description provides the key components of the balance but does not specify the return format (e.g., number, object, units). This leaves some ambiguity for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so baseline is 4. The description adds meaning beyond the empty schema by detailing what the balance includes (total, subscription, add-on credits), which helps the agent understand the return value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the account's credit balance and specifies the components included (total, subscription credits, add-on packs). It is specific and distinct from sibling tools, though it does not explicitly differentiate from any related tool like get_usage_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. It simply describes what it does without context of when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_element_docsGet element docsAInspect
Get concise docs for one element type — required fields, every supported field with constraints, gotchas, and a valid example. Types: IMAGE, VIDEO, GIF, SVG, TEXT, AUDIO, SUBTITLE, SCENE (case-insensitive).
| Name | Required | Description | Default |
|---|---|---|---|
| element | Yes | Element type, e.g. "TEXT", "IMAGE", "VIDEO", "GIF", "SVG", "AUDIO", "SUBTITLE", "SCENE" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Describes a read-only retrieval of documentation without any destructive side effects. Adds detail on content (required fields, constraints, gotchas, example), though doesn't mention auth or rate limits—acceptable for a simple get tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with a following list of types. No wasted words; every part contributes to understanding the tool's purpose and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema or annotations, the description fully covers what the tool does, its single parameter, and what to expect in the response. Sufficient for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for the 'element' parameter listing examples. The tool description adds value by specifying case-insensitivity and listing all valid types, which is not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'concise docs for one element type', listing the supported types and what the docs include (required fields, constraints, gotchas, example). It distinguishes from sibling 'list_supported_elements' by focusing on documentation for a specific type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing docs for a specific element type, but does not explicitly state when not to use or mention alternatives like 'list_supported_elements' for browsing types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_example_payloadGet example payloadAInspect
Get one of five GENERIC starter payloads for a common flow: promo-video (10s scene-based hook/value/CTA with scrim + flex-centered card), template-render (variables), still-image (transparent PNG, single html card), subtitles (karaoke captions), webhook-flow (per-job webhookUrl). These are schema scaffolds, NOT the designed library — for premium creative work use find_matching_examples / start_from_example first and fall back here only when no library example fits. Omit name to list all examples.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Example name; omit to get every example |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It describes the payloads as schema scaffolds, not designed library, and lists the five types. However, it doesn't mention permissions, rate limits, or side effects, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but efficient; every sentence adds value. Slightly long due to inline examples, but well-structured with front-loaded purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given single optional param, no output schema, and sibling tools, the description is complete: explains what, when, and alternatives. No missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% with enum and description; description adds value by listing the five specific names and explaining the 'omit name' behavior, beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States explicitly it gets one of five generic starter payloads for common flows, listing them by name. Distinguishes from siblings like find_matching_examples and start_from_example.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear guidance: use find_matching_examples/start_from_example for premium work, fall back here only when no library example fits. Also explains omitting name lists all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectGet projectAInspect
Get a draft project (prj_...) including its project JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project ID, e.g. "prj_..." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only mentions 'draft project' without clarifying if it works for non-draft projects or describing any side effects, auth requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence conveying essential information efficiently, with no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only one simple parameter and no output schema, the description is adequate but lacks information about return format, error cases, or what 'project JSON' includes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema fully describes the single parameter with a pattern and description. The description adds the 'draft' qualifier, adding slight semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves a specific draft project by ID and includes its project JSON, distinguishing it from sibling tools like list_projects or create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_project_schema or list_projects, nor any context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_schemaGet project JSON SchemaAInspect
Get the JSON Schema (draft 2020-12) for a Zvid render payload — element types, required fields, enums, defaults, min/max bounds and URL restrictions — plus notes for cross-field rules the schema cannot express (timing checks, plan limits, sanitizer rules). Use target: "render-request" for the full request envelope (payload XOR template + variables/overrides/webhookUrl). Derived from the backend validation code, which always wins over docs.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | What to describe: "project" (the payload object, default) or "render-request" (the full POST body) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries burden. It discloses that the tool provides schema plus notes on cross-field rules not expressible in schema, and indicates the data source (backend validation code) which 'always wins over docs'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with no redundancy. Front-loaded with purpose, then details. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a simple read-only tool with one optional parameter. No output schema but description adequately describes what is returned (schema + notes). No missing details given tool complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers parameter with enum and description (100% coverage). Description adds context on what each target value returns, e.g., 'full request envelope (payload XOR template + variables/overrides/webhookUrl)', beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get the JSON Schema (draft 2020-12) for a Zvid render payload' with specific verb and resource. It distinguishes from sibling get_* tools by focusing on schema retrieval and cross-field rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on using the 'target' parameter for different use cases (project vs render-request) and notes that schema is derived from backend validation code. Lacks explicit when-not-to-use or comparison with other tools like get_element_docs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_renderGet render statusAInspect
Get a render job's state (waiting|active|completed|failed), progress (0-100), and — when completed — the output url and thumbnailUrl.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | Render job ID (UUID) returned when the render was created |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description discloses return fields and conditional output url/thumbnailUrl, but does not mention error handling, authorization needs, or what happens if jobId is invalid. Adequate for a simple read operation but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose, lists fields and values efficiently. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple single-parameter input and no output schema, description is quite complete. It specifies expected fields and conditional behavior. Could mention return format as object but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description already covers jobId meaning ('Render job ID (UUID) returned when the render was created'). Description adds no additional parameter information. Schema coverage is 100%, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get', resource 'render job's state', and specific fields (state, progress, output url, thumbnailUrl). Lists possible state values and conditional fields. Distinguishes from siblings like create_render and list_renders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for checking a single render job's status after creation, but no explicit when-to-use or when-not-to-use compared to alternatives like list_renders. Lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templateGet templateAInspect
Get a template by ID including its full project JSON (inspect it to discover the variables it expects).
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | Template ID, e.g. "tpl_AbC123..." (20 chars after the prefix) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It mentions returning the project JSON, but does not explicitly state that it is a read-only operation or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words; the purpose and key additional detail (inspecting variables) are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description sufficiently covers purpose and return value. However, it could mention that it returns the full template object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (only templateId with pattern). The description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action (get), the resource (template by ID), and the content (full project JSON). It distinguishes from sibling tools like get_project or get_render.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description hints at usage ('inspect it to discover the variables it expects') but does not explicitly state when to use this tool vs. alternatives like preview_template or get_project_schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usage_statsGet usage statsBInspect
Get render/credit usage statistics for a timeframe (e.g. 7d, 30d, 90d).
| Name | Required | Description | Default |
|---|---|---|---|
| timeframe | No | Timeframe like "30d" (default) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states basic action; lacks details on read-only nature, permissions, rate limits, or response format. Full burden on description but insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, clear sentence with no extraneous content. Efficiently states purpose and parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool with one optional param and no output schema. However, lacking output description reduces completeness; returns 'usage statistics' are vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description for timeframe. The tool description adds example values ('7d, 30d, 90d') beyond schema's '30d', but this is marginal. Baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('Get') and resource ('usage statistics') with specific timeframe example. Distinguishes from siblings like get_credits or list_renders by focusing on aggregated usage metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage: for retrieving aggregated usage over a timeframe. No explicit mention of when to use vs alternatives (e.g., get_credits for credit balance), leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webhookGet webhookAInspect
Get a webhook endpoint (whk_...) including its signing secret and failure state.
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | Webhook ID, e.g. "whk_..." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It indicates the tool returns sensitive data (signing secret) and failure state, implying a read-only operation. However, it does not explicitly state safety, idempotency, or authorization requirements. It meets minimal transparency but lacks additional 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. It efficiently communicates the tool's purpose and key details without excess. However, it could be slightly improved by separating the key details from the ID format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with one parameter and no output schema, the description is complete. It specifies the returned information (signing secret, failure state) and the ID format. No critical information is missing for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter already described by pattern and description. The description adds minor context (e.g., 'whk_...') but does not provide significant additional meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('webhook endpoint'), and specifies what is returned (signing secret, failure state). It distinguishes from siblings like create_webhook, delete_webhook, and list_webhooks by focusing on retrieving a single endpoint with details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly provide when to use this tool versus alternatives. While the name implies it is for retrieving a specific webhook, no guidance is given on exclusions or when to prefer list_webhooks or other tools. Implicit context from sibling tools is not sufficient for a higher score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bulk_rendersList bulk rendersBInspect
List this account's bulk render batches.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| limit | No | Items per page (default 20, max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It does not disclose behavioral traits such as authentication requirements, rate limits, or the nature of the output. The description is too minimal for a tool that might involve pagination or account-level scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is appropriately brief for a straightforward list operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description provides the bare minimum. It does not explain what a 'bulk render batch' is or what fields appear in the response, but for a simple list tool with well-documented parameters, it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for 'page' and 'limit'. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'this account's bulk render batches', distinguishing it from sibling 'list_renders' which likely lists regular renders. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'list_renders' or 'get_bulk_render'. There is no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList projectsBInspect
List editor draft projects saved on this account.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| limit | No | Items per page (default 20, max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavioral traits like pagination behavior, result format, or account-scoping beyond the minimal 'saved on this account'. It lacks detail on how the tool operates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no extraneous words. Highly efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with no output schema. Description provides basic purpose but lacks details on return structure, sorting, or limitations. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters (page, limit) with descriptions. Description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (list), resource (editor draft projects), and scope (saved on this account), distinguishing it from sibling list tools like list_templates and list_renders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., list_templates, list_renders). Missing context about filtering or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rendersList rendersAInspect
List this account's render jobs, newest first. Optionally filter by type (video|image).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| type | No | ||
| limit | No | Items per page (default 20, max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses ordering (newest first) and optional type filter, but does not mention whether the operation is read-only, what happens with deleted renders, or any rate limits. The behavior is partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. Front-loaded with the main action and ordering. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema. The description lacks details on response format, pagination behavior (beyond knowing page/limit exist), or any edge cases. For a list tool, it could be more complete but is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (page and limit have descriptions, type only enum). The description adds that type can filter by video/image, but this is already in the schema's enum. No new meaning is added beyond what the schema provides, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists render jobs for the account, sorted newest first, with an optional type filter. It uses specific verb and resource, and because sibling tools include list_bulk_renders, this description distinguishes itself by focusing on standard renders vs. bulk renders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives the core purpose and the optional filter but does not provide guidance on when to use this tool vs. alternatives like get_render, list_bulk_renders, or how to handle pagination. No explicit when-not-to-use or alternative naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_stock_providersList configured stock-media providersAInspect
List the stock providers currently available for image, video, GIF and audio searches.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It lacks disclosure of behavior such as authentication requirements, rate limits, or that it is read-only. The description only repeats the purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 16 words. Front-loaded with verb and resource. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is adequate. It could mention that the output lists provider names or ids, but the context is sufficient for a simple listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters, so baseline is 4. The description does not add parameter-specific detail, but none is needed. It implicitly covers the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'stock providers', specifying the media types (image, video, GIF, audio). It distinguishes from siblings like search_stock_media by focusing on listing providers rather than searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as search_stock_media or list_supported_elements. The description does not provide context for usage or exclude any cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_supported_elementsList supported elementsAInspect
List every element type a Zvid project supports (visuals: IMAGE, VIDEO, GIF, SVG, TEXT; plus AUDIO items, SUBTITLE and SCENE) with a summary and required fields. Use get_element_docs for full per-type docs and examples.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully describes the behavior: it lists supported element types with a summary and required fields. For a read-only, parameterless tool, this is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two sentences that immediately state the purpose and then provide an alternative. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with no parameters, the description covers the purpose and output. It doesn't mention return format specifics, but the output is likely a list; the description states 'with a summary and required fields' which is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters (schema coverage 100%), so the baseline is 4. The description adds value by explaining what the output contains (summary and required fields).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies exactly what the tool does ('list every element type') and provides concrete examples (IMAGE, VIDEO, etc.), clearly distinguishing it from the sibling get_element_docs tool for detailed documentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description suggests using get_element_docs for full docs, implying this tool is for a high-level overview. It provides an alternative but does not explicitly state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_templatesList templatesAInspect
List this account's render templates (id, name, description).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| limit | No | Items per page (default 20, max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It implies a read-only operation ('List'), but does not disclose authentication requirements, rate limits, or any side effects. It is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately states the action and resource. Every word is necessary, with no extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose and returned fields, but lacks information about default sorting, filtering, or whether pagination is implied. Given the simplicity of the tool and schema coverage, it is minimally adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both 'page' and 'limit' described in the schema. The description adds no additional parameter information beyond what is already in the schema, meeting the baseline but providing no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'this account's render templates', and specifies the returned fields (id, name, description). This distinguishes it from sibling tools like 'list_projects' and 'get_template'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'get_template' for a single template or 'list_projects' for projects). The description only states what it does, without exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhook_deliveriesList webhook deliveriesBInspect
List recent delivery attempts for a webhook endpoint (status, attempts, response codes).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| limit | No | Items per page (default 20, max 100) | |
| webhookId | Yes | Webhook ID, e.g. "whk_..." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions 'recent' but does not define the time window. Lacks details on authorization, rate limiting, pagination behavior, or ordering of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste, front-loads the key purpose and output highlights. Efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list operation with well-documented parameters. However, lacks definition of 'recent', ordering, and return structure details due to no output schema. Leaves significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters (webhookId, page, limit) are fully documented. The description adds no extra meaning beyond the schema, meeting baseline but not exceeding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'webhook deliveries' with specific output fields (status, attempts, response codes). It differentiates from siblings like 'list_webhooks' which lists webhooks themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as 'test_webhook' or when not to use it. The description only implies usage for checking deliveries but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhooksList webhooksAInspect
List webhook endpoints registered on this account, plus usage vs plan limit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not disclose side effects (likely read-only), permissions, rate limits, or response characteristics. More behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Every word adds value: action, resource, account scope, and additional info (usage vs limit). Highly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no params, no output schema, no annotations. Description gives basic purpose but lacks details like response structure, pagination behavior, or what 'usage vs plan limit' entails. Adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has no parameters, so coverage is 100%. Description adds no parameter information beyond the schema. Baseline 3 is appropriate as it does not detract or add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action (list), resource (webhook endpoints), and additional context (usage vs plan limit). It distinguishes from siblings like 'get_webhook' (single) and 'list_webhook_deliveries' (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives (e.g., 'get_webhook'). The description implies it's for listing all webhooks and checking usage, but lacks when-not-to-use or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_creative_videoPlan a professional creative videoAInspect
Turn a brief into a plan-aware storyboard, style/layout direction, scene recipes and anti-repetition rules BEFORE authoring JSON — plus libraryCandidates: concrete published examples ranked against the brief with an adapt-vs-assemble decision. Follow that decision: adapt the top example via start_from_example, or assemble from the returned design-template/canvas-preset/shape modules. Modes: consistent reuses a stable seed; fresh produces a new direction; explore returns 2-5 materially different directions.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Optional brand tokens that remain stable across creative variations. | |
| brief | Yes | What the video should communicate, for whom, and the desired outcome. | |
| style | No | Style pack id or auto. Built-ins: adaptive-modern, modern-saas, bold-commerce, editorial-data, social-kinetic, luxury-minimal. | auto |
| duration | No | ||
| aspectRatio | No | 16:9 | |
| exploreCount | No | ||
| variationMode | No | fresh | |
| variationSeed | No | Optional reproducible seed. Reuse it for the same composition; change or omit it for a fresh direction. | |
| preferredMedia | No | mixed | |
| motionIntensity | No | ||
| recentAssetSlugs | No | Recently used creative-library slugs to exclude from fresh/explore results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the output structure (storyboard, style direction, recipes, libraryCandidates, adapt/assemble decision) and mode behaviors (seed reuse for consistent, new directions for fresh, multiple directions for explore). It does not mention side effects, but as a planning tool, destructive actions are unlikely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of four sentences, front-loading the core purpose. Every sentence provides unique value—no fluff or repetition. It efficiently packs critical guidance on usage, output, and workflow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 params, nested objects, no output schema, no annotations), the description is fairly complete. It explains the overall workflow, output expectations, and how to proceed with sibling tools. It could be improved by explicitly listing all output components or adding constraints, but it covers the essentials well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (45%), so the description must compensate. It adds meaning to variationMode (explaining each mode), mentions style pack options, and describes brief purpose. However, it does not cover all 11 parameters in detail, relying on schema for some. The contextual descriptions add significant value beyond enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: turning a brief into a plan-aware storyboard, style/layout direction, scene recipes, and anti-repetition rules before authoring JSON. It also differentiates from siblings like start_from_example and find_matching_examples by explaining the adapt-vs-assemble decision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'BEFORE authoring JSON' and instructs to follow the adapt-vs-assemble decision by using start_from_example or assembling from returned modules. It also explains the three modes (consistent, fresh, explore) and their effects, providing clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_templatePreview template (dry run)AInspect
Resolve a template's variables and validate the result WITHOUT rendering or spending credits. Use this to check variable values before create_render.
| Name | Required | Description | Default |
|---|---|---|---|
| overrides | No | Optional output overrides applied on top of the payload/template. | |
| variables | No | Template variable values, keyed by variable name. | |
| templateId | Yes | Template ID, e.g. "tpl_AbC123..." (20 chars after the prefix) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses key behaviors: no rendering and no credit spending. It does not mention side effects or error handling, but adequately covers the main safety aspect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences with no unnecessary words. The key constraint (without rendering/credits) is front-loaded, and the usage guidance is immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is brief and does not explain the return value or what 'validate the result' entails. With no output schema, the agent lacks information on what to expect, leaving a gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters described in the schema. The description adds minimal value beyond the schema, merely reinforcing the idea of variable resolution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resolves template variables and validates without rendering or spending credits, distinguishing it from create_render. It uses specific verb+resource and explicitly mentions the dry-run nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using it before create_render to check variable values. Does not discuss when to avoid it or alternatives, but provides clear context for its intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_from_exampleRender an adapted library exampleAInspect
The EASIEST premium render path: pick a library example and supply new VARIABLE VALUES (copy, media URLs, colors) — the server fetches the example, saves it as a template, dry-runs your variables, and queues the render, keeping the example's designed layout/animations fully intact. Use start_from_example first to see the variable names and defaults. Provide only declared variables; unknown names are reported. Spends credits like create_render; returns jobId + the created templateId for reuse.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Output/job name (letters, digits, spaces, _ and - only) | |
| slug | Yes | Library example slug to render | |
| overrides | No | Optional output overrides applied on top of the payload/template. | |
| variables | No | New values for the example's declared variables (see start_from_example adaptationMap.variables). Omitted variables keep their defaults. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the full burden. It details the behavioral chain: fetches example, saves as template, dry-runs variables, queues render, and returns jobId and templateId. It also notes credit spending and layout preservation. Missing explicit error handling, but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences front-load the value proposition ('EASIEST premium render path') and cover all critical behavioral and usage details. Every sentence earns its place with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes return values (jobId + templateId) and process steps. References sibling tool for variable discovery. No output schema exists, but description compensates. Could mention async nature more explicitly, but still thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds meaning beyond the 100% schema coverage by explaining that variables should come from start_from_example's adaptationMap.variables and that overrides are optional. It also warns about unknown variable names, providing extra context not in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is the 'EASIEST premium render path' for adapting library examples with new variable values. It explains the process (fetch example, save as template, dry-run variables, queue render) and distinguishes itself as a premium path, but does not explicitly differentiate from sibling tools like create_render.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to 'Use start_from_example first to see the variable names and defaults' and to 'Provide only declared variables; unknown names are reported.' This provides clear contextual guidance, though it lacks when-not-to-use cases or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repair_project_jsonRepair project JSONAInspect
Attempt conservative auto-fixes on an invalid project payload (wrong-case type, clamped numbers, format conflicts like transparent+jpg, swapped begin/end timings, unknown fields, empty/impossible elements) and explain every change. Returns the repaired payload plus its validation result — problems that need real input (e.g. missing media URLs) are left as errors.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | The (possibly invalid) project JSON to repair |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides key behavioral traits: conservative fixes, explanation of changes, and leaving missing media URLs as errors. This goes beyond the input schema and helps the agent understand behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences covering purpose, scope, and return value. No redundant words; every sentence earns its place. Front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains what is returned (repaired payload plus validation result) and the types of fixes. For a single-parameter tool, this is sufficient, though specific error format could be elaborated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'payload' is described in the schema as 'The (possibly invalid) project JSON to repair'. The description adds context about autofixes and return format, adding value beyond the schema's coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Attempt conservative auto-fixes on an invalid project payload' and lists specific fix types. It distinguishes from siblings like validate_project_json by focusing on repair rather than validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after validation fails by mentioning 'invalid project payload' and listing auto-fixes. It does not explicitly state when to avoid using or name alternatives, but the context from sibling tools suggests appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_creative_librarySearch the creative libraryAInspect
Search curated complete project examples, animated Design Studio templates, canvas motion presets, or shapes. NOTE: the server search is a plain AND-of-substrings over title/slug/description — use short single-word queries here, and prefer find_matching_examples when matching a brief to examples (it ranks the whole library with category synonyms). Inspect preview/thumbnail metadata before choosing. For fresh/explore work, exclude recent slugs returned by plan_creative_video.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| limit | No | ||
| query | No | Short search text (server max 80 chars; only the first 4 whitespace-separated terms are ANDed) | |
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully shoulders behavioral disclosure. It explains the AND-of-substrings search, query length/term limits, and advises inspecting preview metadata. Lacks explicit read-only statement but search behavior is clearly non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with purpose first, then algorithm details, then usage hints. Every sentence adds value; slightly lengthy but all content earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, search behavior, interaction with two sibling tools, and parameter constraints. Lacks output format and error handling, but for a search tool without output schema this is acceptable given the guidance provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (25%), but description adds crucial detail: query should be short single-word, max 80 chars, first 4 terms ANDed. Kind parameter enumeration is clear from context. Limit and offset are standard and not elaborated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches curated creative library items (examples, templates, presets, shapes) and distinguishes itself from sibling 'find_matching_examples' by explicitly contrasting the search algorithm.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use short single-word queries, prefer find_matching_examples for brief matching, and exclude recent slugs from plan_creative_video for fresh work.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_stock_mediaSearch stock mediaBInspect
Search server-configured stock image, video, GIF or music providers. Results contain preview and full-quality src URLs suitable for Zvid payloads plus dimensions/duration and attribution metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| type | Yes | ||
| query | No | ||
| perPage | No | ||
| provider | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden. Discloses return content (URLs, metadata) but omits crucial behavioral details: read-only status, authentication requirements, rate limits, pagination behavior, or error scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and key output details. No redundant or off-topic content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no annotations, the description is too brief. Lacks explanation of pagination, required parameters, defaults, and domain-specific terms like 'Zvid payloads'. Users need additional context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%. Description adds meaning only for 'type' parameter (image/video/GIF/music) and mentions providers generally, but fails to explain 'query', 'page', 'perPage', or the 'provider' enum values beyond listing them. Leaves significant gaps for effective usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool searches stock media (image, video, GIF, music) and specifies what results contain (preview/full-quality URLs, dimensions/duration, attribution). Distinct from sibling tools like list_stock_providers or search_creative_library.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., search_creative_library). Implies usage for stock media in Zvid payloads but lacks exclusions or context for choosing among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_from_exampleStart from a library exampleAInspect
Fetch a library example's complete render-ready project JSON plus an ADAPTATION MAP (declared variables with defaults, text slots with current copy, media slots, scene/timing summary, fonts) and the adaptation contract. This is the premium-quality path: keep the example's layout and animations, swap copy/media/brand. When adaptationMap.recommendedWorkflow is "template-render" (variables/condition/iterate present), save the payload with create_template and render with variables instead of editing placeholders inline. Premium examples need a paid plan — if locked, free alternatives are suggested.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Example slug from find_matching_examples, plan_creative_video libraryCandidates, or search_creative_library |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description fully discloses the return payload (project JSON, adaptation map, contract) and describes behavioral traits like recommending template-render workflow and suggesting alternatives for locked examples. Lacks details on auth or rate limits but adequately transparent for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with front-loaded purpose and subsequent behavioral details. Each sentence adds value, though it could be slightly more concise; still efficient for the amount of information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description explains return components (project JSON, adaptation map, contract) sufficiently. It covers key workflow implications but could detail the exact structure of the adaptation map or contract. Overall complete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'slug' parameter has 100% schema coverage with a description referencing sibling tools. The tool description does not add additional meaning beyond the schema, so baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool fetches a library example's complete render-ready project JSON plus adaptation map and contract. It distinguishes itself by specifying the premium-quality path and contrasting with alternative workflows, effectively differentiating from sibling tools like get_example_payload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use this premium-quality path versus inline editing or template-render workflow. Mentions that premium examples require a paid plan and that free alternatives are suggested if locked, offering clear context but not naming specific sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_webhookSend test webhookAInspect
Queue a signed test event delivery to a webhook endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | Webhook ID, e.g. "whk_..." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only mentions the event is 'signed' and 'queued', but does not explain side effects, authentication requirements, error cases, or whether the webhook must exist first.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, directly stating the purpose with no unnecessary information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one parameter, no output schema), the description is adequate but lacks details about what 'queued' means, the response format, and error handling. Could be more complete for a test operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the parameter fully with a pattern and description, so the description adds no additional meaning. The baseline of 3 is appropriate since schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Queue') and the resource ('signed test event delivery to a webhook endpoint'). It is specific and distinguishes this tool from sibling tools like create_webhook or get_webhook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for testing a webhook, but it does not explicitly state when to use it versus alternatives (e.g., creating a webhook, listing deliveries). No guidance on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_projectUpdate projectCInspect
Rename a draft project and/or replace its project JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| payload | No | Full Zvid project JSON (scenes, elements, output settings). Call get_project_schema for the JSON Schema, list_supported_elements / get_element_docs for element docs, and validate_project_json BEFORE rendering. | |
| projectId | Yes | Project ID, e.g. "prj_..." |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavioral traits. It mentions renaming and replacing but does not explain side effects (e.g., overwriting fields, invalidating renders, required project state). For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear verb and resource, front-loaded, no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a complex nested payload parameter and no output schema, the description is too terse. It omits return values, error conditions, and prerequisite steps (like prior validation), though the schema's payload description provides some compensating guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds 'rename' and 'replace' semantics linking to the 'name' and 'payload' parameters. With 67% schema coverage, the schema already describes payload thoroughly; the tool description provides marginal added value but does not fully compensate for coverage gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool renames a draft project and/or replaces its project JSON. It identifies the resource (draft project) and the actions (rename, replace), distinguishing it from create and delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like create_project, update_template, or repair_project_json. It does not mention prerequisites (e.g., call validate_project_json first) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_templateUpdate templateAInspect
Rename a template, change its description, and/or replace its project JSON. Get the current template first so fields are not accidentally lost; replacement JSON is fully validated before saving.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| payload | No | Full Zvid project JSON (scenes, elements, output settings). Call get_project_schema for the JSON Schema, list_supported_elements / get_element_docs for element docs, and validate_project_json BEFORE rendering. | |
| templateId | Yes | Template ID, e.g. "tpl_AbC123..." (20 chars after the prefix) | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It clearly indicates mutation and mentions validation, but it lacks details on error handling, idempotency, permissions, or side effects beyond the warning about losing fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the core actions and then add important caveats. No wasted words, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters including a nested object, the description covers key actions and validation but omits what the tool returns (e.g., updated template object) and error conditions. It is adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema description coverage, the description adds context by linking parameters to actions (rename, change description, replace JSON). However, for the templateId and payload parameters, the schema already provides descriptions, and the main text adds little beyond what is stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: renaming, changing description, and replacing project JSON. The verb 'update' combined with the specific resources (template, description, JSON) distinguishes it from sibling tools like create_template, delete_template, and duplicate_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance to fetch the current template first to avoid data loss, and notes that replacement JSON is validated before saving. It implies a precondition but does not contrast with sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webhookUpdate webhookCInspect
Update a webhook's url, events, description, or enable/disable it.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| events | No | ||
| status | No | ||
| webhookId | Yes | Webhook ID, e.g. "whk_..." | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only states 'Update' implying mutation, but fails to disclose side effects, authorization needs, or state requirements. The description is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence. It front-loads the action and resource, and lists key fields concisely. No unnecessary words, but could be more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and low schema coverage, the description lacks completion. It omits required parameter (webhookId), return values, error conditions, and additional behavioral context needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (webhookId described). The description lists some parameters (url, events, description, status) but adds no semantic detail beyond the schema (e.g., format, constraints). For a low-coverage schema, this is inadequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'webhook', listing specific fields (url, events, description, enable/disable). This distinguishes it from create, delete, get, or test siblings, though not explicitly contrasting them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool vs alternatives, nor any prerequisites or exclusions. The context is merely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_project_jsonValidate project JSONAInspect
Validate a Zvid project payload BEFORE rendering (free, no credits). Returns { valid, errors: [{field, message}], warnings }. Warnings include LAYOUT LINT — overlapping texts, x/y ignored by position presets, boxes extending off-canvas, padding that will get cut off, low text contrast — treat every layout warning as a fix-before-render item. Local validation mirrors the backend rules; set remote: true to ALSO run the payload through the live API validator (POST /api/render/validate/api-key — resolves templates and applies your plan's real limits).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Validate as a bare "project" payload (default) or as a full "render-request" body | |
| remote | No | Also validate server-side against your account's actual plan limits (default true; set false only for offline diagnostics) | |
| payload | Yes | The project JSON to validate (the `payload` you would pass to create_render) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully discloses behavior: returns valid, errors, warnings; details lint checks; explains local vs remote validation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is information-dense but efficient. Starts with main action, then return structure, then warnings detail, then remote option. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, description adequately explains return shape and provides example warning types. Covers all 3 parameters and required field. Suitable for validation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds value: explains kind enum (project vs render-request), remote default behavior and when to set false, and payload usage. Minor overlap with schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'validate', names resource 'Zvid project payload', clarifies 'before rendering', and distinguishes from other tools by noting it's free and no credits. Return format is clearly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (before rendering) and explains remote vs local validation with concrete use cases. Does not list sibling tools, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
42 tool updates
v0.1.0- First observed
create_bulk_render - First observed
create_image_render - First observed
create_project - First observed
create_render - First observed
create_template - First observed
create_webhook - First observed
delete_project - First observed
delete_template - First observed
delete_webhook - First observed
duplicate_template - First observed
find_matching_examples - First observed
get_bulk_render - First observed
get_creative_asset - First observed
get_credits - First observed
get_element_docs - First observed
get_example_payload - First observed
get_project - First observed
get_project_schema - First observed
get_render - First observed
get_template - First observed
get_usage_stats - First observed
get_webhook - First observed
list_bulk_renders - First observed
list_projects - First observed
list_renders - First observed
list_stock_providers - First observed
list_supported_elements - First observed
list_templates - First observed
list_webhook_deliveries - First observed
list_webhooks - First observed
plan_creative_video - First observed
preview_template - First observed
render_from_example - First observed
repair_project_json - First observed
search_creative_library - First observed
search_stock_media - First observed
start_from_example - First observed
test_webhook - First observed
update_project - First observed
update_template - First observed
update_webhook - First observed
validate_project_json
TDQS
Most tools have distinct purposes (render, template, webhook, search), but overlap exists between create_render, create_image_render, render_from_example, and create_bulk_render. However, detailed descriptions differentiate them by type and workflow.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_render, get_render, list_templates). No mixing of conventions.
42 tools is high but justified by the broad feature set (rendering, templates, projects, webhooks, search, validation, credits). Slightly heavy but each tool serves a specific purpose.
Covers rendering, management, search, validation, and webhooks thoroughly. Minor gap: no tool to delete renders (though jobs are transient). Otherwise comprehensive.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Plan, compare, price, generate, and recover AI video from compatible MCP clients.
Create images & video from any MCP agent — 17 models, spend limits, one URL.
MCP server for Google Veo AI video generation
Related MCP Servers
AlicenseNot gradedqualityFmaintenanceEnables video generation from text, images, and more through MCP-compatible apps like Claude and Cursor.52MIT- AlicenseAqualityBmaintenanceMCP server for generating images and videos using Z.AI models (GLM-Image, CogView-4, CogVideoX-3, Vidu Q1, etc.) with support for synchronous and asynchronous generation, downloads, and multiple input modes.10372MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that turns a script into a Hyperplexed-style motion-graphics MP4. Plug the URL into Claude Desktop, Cursor, or any MCP-compatible agent and it gains a render_video tool.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server providing 13 agent-friendly tools for video creation and management via the Vivideo API, with built-in rate limiting, retries, and secret redaction.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zvid-io/zvid-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server