Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ZVID_API_KEYYesZvid API key for local stdio setup
ZVID_API_URLNoBase URL for the Zvid orchestrator API (default: https://api.zvid.io)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_renderA

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.

create_image_renderA

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.

get_renderA

Get a render job's state (waiting|active|completed|failed), progress (0-100), and — when completed — the output url and thumbnailUrl.

list_rendersA

List this account's render jobs, newest first. Optionally filter by type (video|image).

get_project_schemaA

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.

validate_project_jsonA

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).

list_supported_elementsA

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.

get_element_docsA

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).

get_example_payloadA

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.

plan_creative_videoA

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.

find_matching_examplesA

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.

render_from_exampleA

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.

start_from_exampleA

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.

search_creative_libraryA

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.

get_creative_assetA

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.

list_stock_providersA

List the stock providers currently available for image, video, GIF and audio searches.

search_stock_mediaB

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.

repair_project_jsonA

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.

create_bulk_renderA

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.

get_bulk_renderB

Get a bulk render batch by ID (blk_...) including its jobs' states.

list_bulk_rendersB

List this account's bulk render batches.

list_templatesA

List this account's render templates (id, name, description).

get_templateA

Get a template by ID including its full project JSON (inspect it to discover the variables it expects).

create_templateA

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 }.

update_templateA

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.

delete_templateA

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.

duplicate_templateA

Create an editable copy of an owned template, including archived templates. The copy is active and counts against the account's template quota.

preview_templateA

Resolve a template's variables and validate the result WITHOUT rendering or spending credits. Use this to check variable values before create_render.

list_projectsB

List editor draft projects saved on this account.

get_projectA

Get a draft project (prj_...) including its project JSON.

create_projectB

Save a new editor draft project. It becomes editable at https://zvid.io/editor?project=.

update_projectC

Rename a draft project and/or replace its project JSON.

delete_projectB

Permanently delete a draft project.

list_webhooksA

List webhook endpoints registered on this account, plus usage vs plan limit.

create_webhookB

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.

get_webhookA

Get a webhook endpoint (whk_...) including its signing secret and failure state.

update_webhookC

Update a webhook's url, events, description, or enable/disable it.

delete_webhookC

Delete a webhook endpoint.

test_webhookA

Queue a signed test event delivery to a webhook endpoint.

list_webhook_deliveriesB

List recent delivery attempts for a webhook endpoint (status, attempts, response codes).

get_creditsB

Get the account's credit balance (total balance, subscription credits, and add-on credit pack balance).

get_usage_statsB

Get render/credit usage statistics for a timeframe (e.g. 7d, 30d, 90d).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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