Skip to main content
Glama
hedging8563

TokenLab MCP Server

by hedging8563

Create video generation task

create_video

Start an asynchronous video generation task using a prompt, image, or reference inputs. Poll the returned URL for the completed video.

Instructions

Create video generation task Creates an asynchronous video generation task. The response returns a canonical task ID and usually a preferred poll_url; clients should poll poll_url first, or use /v1/tasks/{id} as the fixed status endpoint.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fpsNoFrames per second
seedNoSeed for reproducibility. Seedance uses -1 for random seed when omitted.
sizeNoModel-specific size tier for compatible video models.
userNoEnd-user identifier
draftNoSeedance 1.5 Pro draft workflow flag. Only supported by draft-capable Seedance routes; draft=true creates a low-cost draft task.
imageNoInline image as a data URL (for example, data:image/png;base64,...). Prefer image_url for broader production compatibility. When the selected Seedance model can use the TokenLab material library, TokenLab prepares this image input as a reusable material before generation; if it is not ACTIVE within 60 seconds, the API returns 409 seedance_material_preparing with auto_material_asset_ids. If the selected model cannot use the material library, ordinary image inputs continue on the regular image pa…
modelNoModel to use (e.g., veo3.1, kling-v1)
ratioNoCompatibility alias for aspect_ratio. If both ratio and aspect_ratio are provided, they must match.
framesNoOptional frame count for compatible video models. Seedance 2.0 models and Seedance 1.5 Pro do not support this field.
promptNoVideo description
secondsNoAlias of duration used by compatible request shapes. Seedance models also accept -1 to let the model choose within its supported duration range; duration and seconds must match when both are provided.
task_idNoTask identifier used by some continuation, extension, or derivative flows.
durationNoVideo duration in seconds. Seedance models also accept -1 to let the model choose within its supported duration range; TokenLab estimates billing conservatively for that mode.
priorityNoOptional task priority for compatible video models. Do not combine priority with service_tier=flex.
audio_urlNoPublicly reachable audio URL for model-specific audio-conditioned video flows.
cfg_scaleNoPrompt adherence strength (0-20) for models that expose CFG-style control.
end_imageNoLast frame image input for start-end-to-video flows. Seedance accepts a public image reference or asset://asset-YYYYMMDDHHMMSS-xxxxx for an ACTIVE TokenLab material owned by the requesting organization. When the selected Seedance model can use the TokenLab material library, TokenLab prepares ordinary image input as a reusable material before generation; if it is not ACTIVE within 60 seconds, the API returns 409 seedance_material_preparing with auto_material_asset_ids. If the selected model cann…
extend_atNoModel-specific extension start offset used by some video-extension flows.
image_urlNoPublicly reachable image URL for image-to-video generation, or asset://asset-YYYYMMDDHHMMSS-xxxxx for an ACTIVE TokenLab Seedance material used as the first frame. Preferred over inline base64 in production. TokenLab verifies material ownership. When the selected Seedance model can use the TokenLab material library, TokenLab prepares ordinary image input as a reusable material before generation; if it is not ACTIVE within 60 seconds, the API returns 409 seedance_material_preparing with auto_mat…
operationNoRequested video operation. If omitted, TokenLab infers the operation from the provided inputs. Explicit operation is recommended for production reliability.
video_urlNoPublicly reachable video URL for video-to-video style flows and motion-control models.
watermarkNoOptional watermark toggle for models that expose it. Seedance defaults to false when omitted.
audio_urlsNoCompatibility array for audio-conditioned flows when multiple audio references are supported by the routed model family. TokenLab currently accepts up to 3 reference audios.
image_urlsNoImage URL array for compatible image-conditioned video flows. This endpoint currently allows up to 9 entries. When the selected Seedance model can use the TokenLab material library, TokenLab prepares this image input as reusable material before generation; if it is not ACTIVE within 60 seconds, the API returns 409 seedance_material_preparing with auto_material_asset_ids. If the selected model cannot use the material library, ordinary image inputs continue on the regular image path.
resolutionNoVideo resolution. Seedance defaults to 720p when omitted; available values are model-dependent.
video_urlsNoCompatibility array for video-conditioned flows when multiple input videos are supported by the routed model family. TokenLab currently accepts up to 3 reference videos.
effect_typeNoModel-specific effect selector for specialized editing flows.
outputAudioNoCompatibility alias for output_audio. If both are provided, they must match.
start_imageNoFirst frame image input for start-end-to-video flows. Seedance accepts a public image reference or asset://asset-YYYYMMDDHHMMSS-xxxxx for an ACTIVE TokenLab material owned by the requesting organization. When the selected Seedance model can use the TokenLab material library, TokenLab prepares ordinary image input as a reusable material before generation; if it is not ACTIVE within 60 seconds, the API returns 409 seedance_material_preparing with auto_material_asset_ids. If the selected model can…
aspect_ratioNoCanonical video aspect ratio. Seedance defaults to adaptive when omitted. The ratio alias is accepted for compatibility.
camera_fixedNoOptional fixed-camera selector for compatible video models. Seedance 2.0 models do not support this field.
extend_timesNoModel-specific extension multiplier or repeat count used by some video-extension flows.
output_audioNoCanonical model-dependent audio output toggle. Veo 3 and Seedance requests default to true when omitted. Kling 3.0 Video accepts this selector for non-element-reference requests and maps it to the compatible sound control; omitted Kling requests default to silent output. Do not combine output_audio=true with kling_elements. The aliases outputAudio and generate_audio are accepted for compatibility and must match when provided together.
service_tierNoOptional service tier for compatible video models. service_tier=default is accepted as a no-op for Seedance 2.0 models; service_tier=flex is rejected where the selected model does not support it.
draft_task_idNoSeedance 1.5 Pro draft promotion task ID. Provide this instead of draft=true to create the final video from a previous draft task.
generate_audioNoCompatibility alias for output_audio. If more than one audio toggle is provided, all values must match.
kling_elementsNoKling 3.0 element references for kling-3.0-video image-conditioned requests. Define 1-3 elements and reference them in the prompt with @name. Each element requires 2-4 image URLs in element_input_urls. Do not combine kling_elements with output_audio=true; omit output_audio or set it to false for element-reference requests.
motion_strengthNoMotion intensity (0-1) for models that expose it.
negative_promptNoWhat to avoid in the video
reference_imagesNoCanonical public reference-image field for reference-to-video conditioning. This endpoint currently allows up to 9 URLs, compatible data URLs, or for Seedance, asset://asset-YYYYMMDDHHMMSS-xxxxx URIs for ACTIVE TokenLab materials owned by the requesting organization; model-specific limits can be lower. xAI grok-imagine-video accepts up to 7 image references with duration capped at 10 seconds; grok-imagine-video-1.5 and grok-imagine-video-1.5-preview are image-to-video only and do not accept ref…
material_asset_idNoTokenLab Seedance material asset ID returned by /v1/videos/assets, by automatic image preparation, or from a real-person group returned by GetVisualValidateResult. Use it after the asset is ACTIVE with Seedance models that can use the TokenLab material library. The asset must belong to the current account. This field is a generic reference input; to assign first-frame, last-frame, or reference-image semantics explicitly, put asset://<material_asset_id> in start_image, end_image, or reference_im…
return_last_frameNoReturn the last generated frame when the selected model supports it. Seedance defaults to false when omitted.
safety_identifierNoOptional safety/user trace identifier for compatible video models. If omitted for Seedance, TokenLab uses user when provided.
material_asset_idsNoTokenLab Seedance material asset IDs returned by /v1/videos/assets or by automatic image preparation. They share the Seedance image-reference limit; the selected model must be able to use the TokenLab material library and all assets must belong to the current account and be ACTIVE.
reference_image_typeNoOptional reference image role for models that distinguish between asset and style references. The camelCase alias referenceImageType is accepted for compatibility.
execution_expires_afterNoOptional execution expiry window in seconds for compatible video models. Seedance defaults to 172800 seconds when omitted.
Behavior4/5

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

The description reveals that the task is asynchronous and instructs clients to poll the poll_url first or use the fixed status endpoint. This adds behavioral context beyond the annotations (which only indicate readOnlyHint=false and not destructive). No contradictions with annotations.

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

Conciseness3/5

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

The description is short (two sentences) but contains a redundant phrase at the beginning ('Create video generation task Creates'). It is not perfectly concise and could be streamlined.

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

Completeness2/5

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

Given the tool has 46 parameters, 0 required, and no output schema, the description is too minimal. It does not explain the complex parameter interactions, operation types, or provide high-level context for how to construct a valid request. The parameter descriptions in the schema are detailed, but the tool description itself lacks completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The tool description adds no additional parameter-level details beyond what is in the schema, earning the baseline score of 3.

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

Purpose4/5

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

The description clearly states the tool creates an asynchronous video generation task, uses the verb 'create', and specifies the resource (video generation task). However, it starts with a redundant phrase 'Create video generation task' that restates the title, and does not distinguish from sibling creation tools like create_image or create_3d_model.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention when not to use it or what context is appropriate for video generation versus other creation tasks.

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

Install Server

Other Tools

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/hedging8563/tokenlab-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server