Skip to main content
Glama

Prompt to video

prompt_to_video_clip

Use for text to video when the user wants one short AI-generated shot in a new editable project, such as a product teaser or background clip. Use storyboard_to_video for a sequence of planned shots, or generate_video_clip for a standalone media file without a project. Creates a new project and uses team credits. Returns workflowRunId, projectId, and projectUrl; poll get_workflow_run for status and downloadUrl after auto-export.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "prompt": "<prompt>"
    },
    "name": "prompt_to_video_clip"
  }
}

Input Schema

NameRequiredDescriptionDefault
promptYesDescription of the short video clip.
qualityNoVideo generation quality. Omit to use workspace settings.
autoExportNoWhen true (the default), the run stays in progress until an MP4 is ready. Use downloadUrl from the result. Set false only if you will call remix_project and then export_project yourself.
aspectRatioNoOutput aspect ratio as width:height units (not pixels). Example: { width: 16, height: 9 }.
imageFileIdsNoReference images to guide the generated appearance. Use fileId values from upload_file, get_file, or list_files.
durationSecondsNoRequested clip playback duration in seconds.

Output Schema

NameRequiredDescriptionDefault
errorNoError details when status is failed; otherwise null.
statusNoJob status: pending, running, succeeded, failed, or cancelled.
exportIdNoExport id when autoExport succeeded (vg_expo_...).
projectIdYesProject created for this exact workflow attempt (vg_proj_...). A retry creates a different project.
projectUrlYesDeep link to the project created for this exact workflow attempt. Keep it paired with workflowRunId; a retry returns a new URL.
downloadUrlNoSigned MP4 download URL when autoExport succeeded. Give this to the user.
attemptIndexNoCurrent or latest attempt index.
exportFileIdNoFile id of the rendered MP4 when autoExport succeeded.
workflowTypeNoWorkflow type (present after polling).
workflowRunIdYesWorkflow run id (vg_work_...). Keep it paired with this response's projectId and projectUrl; a retry returns a new tuple.
remixActionIdsNoRemix action ids from the start response (empty when none requested).
progressPercentageNoCompletion progress 0-100 (present after polling).
downloadUrlExpiresAtNoUnix expiry for downloadUrl.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • removedOutput schema / properties / downloadUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / downloadUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / downloadUrlExpiresAt / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / downloadUrlExpiresAt / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / error / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "code": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Machine-readable error code."
      -      },
      -      "internalErrorCode": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Opaque code for support."
      -      },
      -      "message": {
      -        "description": "Human-readable error description.",
      -        "type": "string"
      -      },
      -      "requirement": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": {},
      -            "properties": {
      -              "details": {
      -                "additionalProperties": {
      -                  "type": "string"
      -                },
      -                "propertyNames": {
      -                  "type": "string"
      -                },
      -                "type": "object"
      -              },
      -              "type": {
      -                "description": "Requirement type (e.g. purchase_add_on).",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "type"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "What is needed to resolve the error, when applicable."
      -      }
      -    },
      -    "required": [
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "code": {
      +        "description": "Machine-readable error code.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "internalErrorCode": {
      +        "description": "Opaque code for support.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "Human-readable error description.",
      +        "type": "string"
      +      },
      +      "requirement": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": {},
      +            "properties": {
      +              "details": {
      +                "additionalProperties": {
      +                  "type": "string"
      +                },
      +                "propertyNames": {
      +                  "type": "string"
      +                },
      +                "type": "object"
      +              },
      +              "type": {
      +                "description": "Requirement type (e.g. purchase_add_on).",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "What is needed to resolve the error, when applicable."
      +      }
      +    },
      +    "required": [
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / exportFileId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / exportFileId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / exportId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / exportId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed2 schema fields changed
    • addedInput schema / properties / durationSeconds / description
      Added value: +"Requested clip playback duration in seconds."
    • changedInput schema / properties / imageFileIds / description
      Previous value: -"Optional reference image file ids."New value: +"Reference images to guide the generated appearance. Use fileId values from upload_file, get_file, or list_files."
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (which only say it is a non-destructive, non-idempotent write), the description discloses the two material side effects: a new project is created and team credits are consumed. It also explains the auto-export lifecycle and the required follow-up call to get_workflow_run, which an agent could not infer from the flags alone.

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

Conciseness5/5

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

Three tight sentences with the primary use case front-loaded, alternatives second, and the return-and-poll contract last. Every sentence carries distinct, actionable information with no repetition of schema 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 generative, credit-consuming mutation with a nested parameter object, the description covers selection, side effects, and the post-call workflow (poll get_workflow_run for downloadUrl). Since an output schema exists, it does not need to re-explain return values, and it still names the key IDs returned.

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 all six parameters including the nested aspectRatio object are already documented in the schema. The description only obliquely references autoExport via the auto-export/polling sentence; it adds no new syntax or constraint detail. Baseline 3 applies when the schema carries the parameter burden.

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 specific verb and resource: generate one short AI video shot from a text prompt inside a new editable project. It explicitly names two sibling tools it is not (storyboard_to_video for planned sequences, generate_video_clip for standalone files), so an agent can discriminate without opening any schema.

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?

It gives an explicit when-to-use condition ('user wants one short AI-generated shot in a new editable project') plus two named alternatives with the conditions that select them. It also implies when-not to use it: sequence work goes to storyboard_to_video, projectless output to generate_video_clip.

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.