Skip to main content
Glama

MakeViral

Make an AI video

create_video
Destructive

Make an AI video from the user's prompt with a chosen MakeViral Create model (Seedance, Kling, Veo, Wan, Grok Imagine, MiniMax...): from text, from a start frame photo (and an end frame on some models), or from references (photos, clips and sounds), with Kling multi-shot and elements. It spends credits from the user's MakeViral account (a failed video gives them back). A video takes a few minutes: this call returns at once, then call get_creation with wait true until it is ready and give the user the link. Before calling: 1) pick the model and check what it takes with get_model, 2) tell the user the price in credits, 3) with photos or clips, ask the user to confirm the people in them are them or agreed, and that no one is a child. Files: pass files the user attached in this chat (startFrame, endFrame, referencePhotos, referenceSounds), or public https links in the *Url fields. Clips must be links (MP4 or MOV). Never use photos of a public figure or of someone who did not agree. Calling again with the same input within 10 minutes returns the first video; pass a new requestId to make another.

Input Schema

NameRequiredDescriptionDefault
seedNoWan only: repeat a result
countNoHow many videos (each one is charged). Default 1.
modelYesVideo model id (list_models). seedance-2-5 is a good default.
shotsNoKling multi-shot: each shot's prompt and length; they add up to the video length
soundNoSound on or off where the model has the choice. Default on.
aspectNoShape. Default 9:16 (vertical). With a start frame most models follow the photo's shape.
motionNoGrok Imagine only
promptNoWhat happens in the video. With references, name them as get_model says (e.g. [Image 1]).
clipModeNoKling Omni with a clip: 'edit' changes the clip itself (default), 'reference' makes a new video from it
elementsNoKling 3.0 elements: people or things from 2-4 photos each
endFrameNoThe last frame (models with an end frame), with a start frame
autoShotsNoKling Omni: the model plans the shots itself
requestIdNoOptional id (8-64 letters, digits, - or _). The same id never charges twice.
webSearchNoSeedance, text to video only: look things up online
resolutionNoSize. Default: the model's smallest.
startFrameNoThe first frame: a photo the user attached in the chat
durationSecNoLength in seconds (get_model lists them). Default: the model's default.
endFrameUrlNoThe last frame as a public https photo link
elementPhotosNoThe element photos attached in the chat, element by element in order
keepClipSoundNoWith a clip: put the clip's own sound on the result
photosConsentNoNeeded with photos or clips: true only after the user confirmed everyone in them is the user or agreed, and no one is a child
startFrameUrlNoThe first frame as a public https photo link
referenceClipsNoReference clips (MP4 or MOV) as files, where the chat can attach them
referencePhotosNoReference photos attached in the chat (people, products, a style). Never with frames.
referenceSoundsNoReference sounds (MP3 or WAV) attached in the chat
referenceClipUrlsNoReference clips as public https links to an MP4 or MOV file
referencePhotoUrlsNoReference photos as public https links
referenceSoundUrlsNoReference sounds as public https links

Output Schema

NameRequiredDescriptionDefault
creationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well past the annotations (destructive/openWorld): it discloses credit spend, refund on failure, asynchronous fire-and-return with a multi-minute completion time, the 10-minute dedup window, and the consent/child/public-figure policy. The requestId note explains the dedup contract that the idempotentHint=false annotation alone would not.

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

Conciseness4/5

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

Front-loaded with the core action, then a numbered pre-call checklist and a files paragraph — good structure for a dense tool. It is long and somewhat run-on (the model list and the mode list in one sentence), but nearly every clause carries operational content.

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

Completeness5/5

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

For a 28-parameter, nested, asynchronous, credit-spending tool with an output schema and full annotation coverage, the description covers the full lifecycle: preparation, invocation, polling, and delivery of the link. Nothing an agent needs to call it correctly and safely is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds a useful synthesis by grouping the two input paths (files attached in chat vs. public https *Url fields) and the prompt-reference convention. Slight deduction because "Clips must be links (MP4 or MOV)" sits at odds with the referenceClips file-object parameter in the schema, leaving an ambiguity the agent must resolve itself.

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

Purpose5/5

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

States a specific verb and resource ("Make an AI video from the user's prompt") plus the supported input modes (text, start/end frame, references) and the model family. It is unambiguously distinct from sibling create_image and from get_model/get_creation, which it names as downstream steps.

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

Usage Guidelines5/5

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

Gives an explicit pre-flight sequence (pick model via get_model, quote the credit price, obtain consent) and an explicit post-call loop (call get_creation with wait true until ready, then give the link). It also states exactly when to reuse vs. generate anew via requestId within the 10-minute window.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources