Skip to main content
Glama

Veltake Studio

Generate an image, video, speech or music

generate

Make an image, a video, a spoken script or a song. This SPENDS the user's coins: pass expected_cost exactly as estimate_generation answered it — if the price changed, nothing is charged and the new price is answered. The charge is a reservation of at most that number: a failed or canceled generation is refunded in full and the settlement may return part of it. Every call is paid in coins — a Relax queue or an unlimited allowance does not apply through an agent, and nothing here buys coins. Media (images, last_frame, reference_video, reference_audio) must be hosted: a URL import_media answered, or one on Veltake's own media host — import anything else first. Answers the generation (music answers its two takes); poll get_generation for the result. Repeat idempotency_key on a retry so it answers the first generation instead of charging again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYeswhat to make: image | video | speech | music. Each argument below says which kinds take it
linesNospeech: the script, in order — each line is {speaker, text}
modelYesa model id from list_models for this kind
styleNomusic: the style — a genre, a mood, the instruments (custom songs)
titleNomusic: the song's title (custom songs)
imagesNoimage, video: hosted image URLs — references for an image model; for a video model the first frame, or with images_are_references the subject/style references (at most the model's max_images). Import a link with import_media first
lyricsNomusic: the words to be sung. With lyrics, title and style are required
promptNoimage, video: what to make. music: the description of the song (simple mode; for a song with its own lyrics use lyrics)
fundingNowho pays: personal (the person's own coins) or team (their team's pool — only when the person allowed this connection to spend team coins and the team approved this app). Omit to use the payer the person chose when connecting
durationNovideo: seconds, one of the model's durations. music: the song's length in seconds (custom songs only)
speakersNospeech: the voices, in order (list_models has the voices, accents, styles and paces). Each is {name, voice, accent, style, pace, profile}, all optional except that a script needs at least one speaker
last_frameNovideo: a hosted image URL for the LAST frame — only for models with supports_transition; then images holds exactly the first frame
resolutionNoimage, video: one of the model's resolutions — a higher tier costs more
aspect_ratioNoimage, video: the frame, one of the model's aspect_ratios (e.g. 16:9)
instrumentalNomusic: no vocals
expected_costYesthe coins estimate_generation answered for these very arguments
generate_audioNovideo (and any image model that has it): make the sound too — only for models with supports_audio, and it costs audio_cost more
idempotency_keyNooptional: repeat it on a retry so the retry answers the first generation instead of charging again
reference_audioNovideo: a hosted audio URL to take sound from — only for models with max_reference_audios above 0
reference_videoNovideo: a hosted video URL to take motion or style from — only for models with max_reference_videos above 0
images_are_referencesNovideo: read images as references to draw from, NOT as the first frame — the video does not start on them. Needs at least one image, cannot be combined with last_frame, and only models with supports_reference take it

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
vNo
idYes
kindYes
coinsYes
modelYes
takesNo
statusYes
balanceNo
replayedNo

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?

Annotations only declare readOnly=false/openWorld=true/destructive=false; the description carries far more weight by disclosing the coin-spend mechanics (exact expected_cost, nothing charged if price changed, reservation of at most that amount, full refund on failure, partial settlement), the hosting requirement for media, and the retry/idempotency behavior. These are the traits an agent genuinely cannot infer from the structured fields.

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

Conciseness4/5

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

Front-loaded with the action, then cost, then media constraints, then result handling — a logical order with no filler sentences. It is dense and a couple of points (idempotency_key retry semantics, media hosting) are stated twice across the description and schema, which slightly dilutes the otherwise tight prose.

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 21-parameter, paid, long-running generation tool with an output schema, the description covers everything an agent must know before invoking: pricing contract, payment source constraints, media provenance, and how to obtain the result. Return-value detail is correctly delegated to the output schema.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds real meaning beyond the schema: it pins expected_cost to the estimate_generation answer and explains the charge/refund consequence of a mismatch, and it states the idempotency_key retry contract rather than just describing the field. The per-kind semantics of the other 19 params are left to the schema, which already documents them well.

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

Purpose5/5

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

The description opens with a concrete verb+resource set ('Make an image, a video, a spoken script or a song') that maps directly to the kind enum, and it names the sibling tools it depends on (estimate_generation, get_generation, import_media). An agent can immediately separate it from estimate_generation (pricing only) and get_generation (polling).

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?

Explicitly routes the agent: get the price via estimate_generation and pass it as expected_cost, poll get_generation for the result, import off-host media with import_media first, and repeat idempotency_key on retries. It also states when NOT to expect an exemption ('a Relax queue or an unlimited allowance does not apply through an agent').

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