Skip to main content
Glama

Why This Package?

@runapi.ai/grok-imagine-mcp is a focused Model Context Protocol server for the Grok Imagine model line on RunAPI. It gives MCP-compatible assistants direct access to 7 endpoints and 7 model variants without loading the full RunAPI catalog.

Use this per-model server when an agent should stay scoped to Grok Imagine. Use @runapi.ai/mcp when one assistant should discover every RunAPI model line.


Related MCP server: GPT Image MCP Server

Install

Add it to Claude Code:

claude mcp add grok-imagine -s user -- npx -y @runapi.ai/grok-imagine-mcp

Use project scope when the server should be shared with a repository:

claude mcp add grok-imagine -s project -- npx -y @runapi.ai/grok-imagine-mcp

Codex, Cursor, Windsurf, VS Code, Roo Code, and other MCP hosts can use the same stdio command:

{
  "mcpServers": {
    "grok-imagine": {
      "command": "npx",
      "args": ["-y", "@runapi.ai/grok-imagine-mcp"]
    }
  }
}

check_pricing works before sign-in. For task creation and status polling, ask your assistant to call the login tool. It opens a browser login and saves credentials to ~/.config/runapi/config.json, the same file used by runapi login. Headless and CI hosts can still set RUNAPI_API_KEY before starting the MCP host.

Ready-made examples are in examples/ for Claude, Cursor, Windsurf, VS Code, and Roo Code.


Tools

Tool

Auth

Purpose

edit_image

Yes

Create a Grok Imagine edit image task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

extend_video

Yes

Create a Grok Imagine extend video task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

image_to_video

Yes

Create a Grok Imagine image to video task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

segment_map

Yes

Create a Grok Imagine segment map task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

text_to_image

Yes

Create a Grok Imagine text to image task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

text_to_video

Yes

Create a Grok Imagine text to video task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

upscale_image

Yes

Create a Grok Imagine upscale image task and optionally wait for a terminal status. Returns the task id, status, and output URLs.

get_task

Yes

Fetch the current status and latest payload for an existing task.

check_pricing

No

Look up current pricing for a Grok Imagine model and endpoint.


Models

Grok Imagine covers 7 model variants across 7 endpoints. Each tool accepts the models listed for it:

Tool

Models

edit_image

grok-imagine-edit-image, grok-imagine-image-2-0

extend_video

no model parameter

image_to_video

grok-imagine-image-to-video, grok-imagine-video-1.5-fast, grok-imagine-video-1.5-preview

segment_map

grok-imagine-image-2-0

text_to_image

grok-imagine-image-2-0, grok-imagine-text-to-image

text_to_video

grok-imagine-text-to-video, grok-imagine-video-1.5-fast, grok-imagine-video-1.5-preview

upscale_image

no model parameter

Model availability can change between releases. Use check_pricing or the Grok Imagine model page for the current catalog view.


Agent Prompts

Ask your assistant in natural language; it can inspect pricing, create the task, and return the task id plus output URLs.

Create a task

Run a Grok Imagine edit image task with RunAPI.

The assistant can call check_pricing, then edit_image, and return the task id, status, and output URLs.

Submit without waiting

Create the task but don't wait for it to finish.

The assistant calls the create tool with wait: false and returns the task id. Check on it later with get_task.

Check pricing before creating

Check current Grok Imagine pricing, then create the task if it matches my request.

The assistant calls check_pricing and can link to the Grok Imagine model page for the canonical catalog entry.


Configuration

The server resolves auth in this order:

  1. RUNAPI_API_KEY environment variable, useful for headless and CI hosts

  2. ~/.config/runapi/config.json, created by the MCP login tool or runapi login

  3. No key, which still allows check_pricing

The config file is normally managed by login. A pre-provisioned headless config can use:

{
  "apiKey": "your_runapi_key"
}

Do not commit real API keys.


Resource

URL

Grok Imagine model page

https://runapi.ai/models/grok-imagine

npm package

@runapi.ai/grok-imagine-mcp

GitHub repository

runapi-ai/grok-imagine-mcp

RunAPI MCP overview

runapi.ai/mcp

RunAPI docs

runapi.ai/docs


License

Licensed under the Apache License, Version 2.0.

Available Tools

10 tools
check_pricingA

Look up RunAPI pricing for the grok-imagine model line.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel slug. Defaults to the line's primary model.
actionNoEndpoint name. Defaults to the endpoint that offers the model.

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states an action ('look up') implying a read-only operation, but it does not explicitly disclose the absence of side effects, authentication needs, or rate limits. For a simple lookup tool, this is acceptable but not fully transparent.

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?

The description is a single concise sentence, front-loaded with the verb and resource. It contains no filler and conveys the essential purpose immediately.

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

Completeness3/5

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

For a tool with two optional params and no output schema, the description is minimal. It does not describe the return format or any prerequisites, potentially leaving an agent unsure what data to expect. However, the simplicity of the lookup operation keeps this from being a major gap.

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%, and the schema already explains both parameters, including their enums and default behaviors. The description adds no additional parameter-specific meaning, meeting the baseline for full schema coverage.

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 uses a specific verb ('Look up') and names the exact resource ('RunAPI pricing for the grok-imagine model line'). It clearly distinguishes from sibling tools like text_to_image and edit_image, which are generation actions rather than pricing lookups.

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

Usage Guidelines4/5

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

The phrase 'Look up RunAPI pricing' establishes a clear context: this is the tool for retrieving pricing information for the grok-imagine line. While it does not explicitly name alternatives, the purpose is self-evident and no exclusion is needed since siblings are for different operations.

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

edit_imageB

Create a Grok Imagine task on RunAPI (edit image). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoPoll until the task reaches a terminal status.
modelNoRunAPI model slug for this model line.
promptNoOptional image editing instruction.
timeout_msNo
aspect_ratioNo
callback_urlNoWebhook URL for terminal Task delivery.
mask_indicesNoNot accepted by this model.
source_task_idNoNot accepted by this model.
poll_interval_msNo
source_image_urlNoPublic source image URL.
source_image_urlsNo
enable_safety_checkerNoEnable content safety checks.

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It does reveal the async task-based nature and the returned fields (task id, status, output URLs), but it does not mention polling, wait behavior, safety checking, or side effects beyond creating a task.

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?

The description is a single, front-loaded sentence with no redundant content. It communicates purpose and return value efficiently.

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?

For a 12-parameter tool with no output schema and no annotations, this description is too sparse. It explains what is returned but not how to construct a valid request, which parameters are important for editing, or how the task lifecycle works, leaving the agent with significant ambiguity.

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

Parameters2/5

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

Schema description coverage is 67%, which is not high enough to warrant a baseline 3, and the description adds no parameter semantics. It does not clarify how source_image_url, aspect_ratio, wait, or timeout_ms relate to an edit-image task, so the agent must rely purely on the partial schema.

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 a Grok Imagine task scoped to 'edit image', and notes the return type. It is distinguishable from siblings like text_to_image by the explicit 'edit image' scope, though it does not explicitly contrast itself with alternative tools.

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?

No guidance is given on when to use this tool versus siblings such as text_to_image, upscale_image, or image_to_video. The phrase 'edit image' only implies the use case; it does not state prerequisites or exclusions.

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

extend_videoB

Create a Grok Imagine task on RunAPI (extend video). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoPoll until the task reaches a terminal status.
promptYesVideo continuation prompt.
timeout_msNo
callback_urlNoWebhook URL for terminal Task delivery.
start_secondsYesSource video position in seconds where extension begins.
source_task_idYesCompleted prior Grok Imagine video Task ID.
poll_interval_msNo
extension_duration_secondsYesExtension duration in seconds.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that it returns a task id, status, and output URLs, but it does not mention whether the call is synchronous, that polling behavior exists (despite the wait parameter), or any side effects or constraints. The verb 'Create' implies a write operation, but no further behavioral context is given.

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?

The description is a single sentence that front-loads the core action: 'Create a Grok Imagine task on RunAPI (extend video)'. It then adds the return type. No wasted words, and the structure is efficient.

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?

The description is inadequate for a complex tool with no output schema and no annotations. It does not explain the concept of video extension, the dependency on a source_task_id from a completed prior task, or what the output URLs represent. A new agent is left without essential operational context.

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 75%, so most parameters already have descriptions. The tool description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.

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 states a specific action and resource: 'Create a Grok Imagine task on RunAPI (extend video)'. The qualifier 'extend video' clearly distinguishes it from siblings like text_to_video and image_to_video, making the tool's purpose unambiguous.

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 gives no explicit guidance on when to use this tool versus alternatives. It does not mention that it requires a prior completed video task, nor does it exclude other scenarios. The only implicit clue is the name and 'extend video', but there is no explicit when-to-use or when-not-to-use information.

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

get_taskA

Fetch the current status and latest result payload for a grok-imagine task.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAsynchronous endpoint the task was created on.
task_idYesTask id returned when the task was created.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden itself. 'Fetch' signals a non-mutating read operation, and the described return content makes the tool's behavior reasonably transparent. It does not discuss authentication or polling details, but for a simple read tool this is adequate.

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?

The description is a single front-loaded sentence with no filler. It names the verb, resource, and product context efficiently, and every word contributes useful information.

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

Completeness4/5

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

Despite lacking an output schema, the description names the two key return concepts: current status and latest result payload. Together with the schema's full parameter documentation, this is enough for an agent to select and invoke the tool, though it does not describe possible status values or payload structure.

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 fully documents task_id and action. The description adds no additional meaning about the parameters beyond referring to the task itself, so the baseline score of 3 applies.

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 uses a specific verb ('Fetch') and names a precise resource ('current status and latest result payload for a grok-imagine task'). This clearly differentiates it from the sibling creation tools, so an agent can identify it as the task-status lookup tool without opening the schema.

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

Usage Guidelines4/5

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

The description clearly establishes the retrieval context: use this when you need the current status or result payload of an existing grok-imagine task. It does not explicitly enumerate when not to use it or name alternatives, but the sibling set makes the distinction obvious.

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

image_to_videoC

Create a Grok Imagine task on RunAPI (image to video). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoPoll until the task reaches a terminal status.
indexNoZero-based source image index; used only with source_task_id.
modelNoRunAPI model slug for this model line.
promptNoOptional video generation prompt.
timeout_msNo
aspect_ratioNoOutput aspect ratio.
callback_urlNoWebhook URL for terminal Task delivery.
motion_styleNoVideo motion style; spicy requires source_task_id.
source_task_idNoPrior Grok Imagine text-to-image Task ID; provide this or source_image_url, but not both.
duration_secondsNoOutput duration in seconds.
poll_interval_msNo
source_image_urlNoPublic source image URL; provide this or source_task_id, but not both.
output_resolutionNoOutput resolution.
reference_image_urlsNoNot accepted by this model.
enable_safety_checkerNoEnable content safety checks.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It states the return payload (task id, status, output URLs), which is useful, but it omits critical behavioral details such as the asynchronous nature of task creation, the need for polling or waiting (evident from wait, poll_interval_ms, timeout_ms parameters), or the role of webhook callbacks. This is a significant gap for an operation that likely returns before completion.

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?

The description is a single, compact sentence that immediately states the core function and the return value. It contains zero filler and is perfectly front-loaded. This is an exemplary level of conciseness for a tool description.

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?

For a tool with 15 parameters, no output schema, and no annotations, the description is far too minimal. It lacks workflow context (e.g., that this is an async task, that you need a source image either via URL or prior task, the role of callbacks, or how to interpret the status). The agent is left with only the raw parameter schema to figure out how to correctly invoke the tool, which is insufficient for a tool this complex.

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 high (87%), so most parameters are already documented in the schema. The tool description adds no additional parameter insight beyond what the schema provides. Given the baseline for high coverage is 3, and the description adds nothing more, a 3 is appropriate here.

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 verb 'Create', the resource 'Grok Imagine task', and the specific mode 'image to video', which differentiates it from sibling tools like text_to_image and text_to_video. It also mentions the return values (task id, status, output URLs). The only weakness is that it doesn't explicitly name sibling alternatives, leaving the distinction to inference from the name and context.

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 the alternatives (e.g., text_to_video or extend_video). While the schema hints at constraints like 'provide this or source_image_url, but not both', the top-level description offers no context about prerequisites, input requirements, or when this tool is the right choice. The agent must rely on the parameter schemas and siblings to infer usage.

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

loginA

Authenticate RunAPI by opening a browser PKCE login flow and saving the API key to ~/.config/runapi/config.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoRe-run browser login when the current credential comes from the local config file.

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses the interactive browser flow, PKCE method, and the side effect of saving the API key to a specific file path. This provides good transparency for a login tool.

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?

The description is a single sentence that front-loads the key action ('Authenticate RunAPI') and efficiently conveys the method and output. No wasted words.

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

Completeness4/5

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

For a login tool with one boolean parameter and no output schema, the description covers the core purpose and side effect (file write). Minor gaps remain, such as behavior when already authenticated or if browser is unavailable, but overall complete.

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% for the lone 'force' parameter, and the tool description does not add extra meaning beyond what the schema already provides. Baseline 3 is appropriate.

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 clearly states the verb 'authenticate', the resource 'RunAPI', and the specific action: opening a browser PKCE login flow and saving the API key. This distinguishes it from sibling tools which are unrelated (image/video generation and pricing).

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

Usage Guidelines3/5

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

The description implies this is the initial authentication tool but does not explicitly state when to use it versus alternatives (e.g., if another authentication method exists). No guidance on when to use the 'force' parameter beyond its schema description.

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

segment_mapC

Create a Grok Imagine task on RunAPI (segment map). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoPoll until the task reaches a terminal status.
modelNoRunAPI model slug for this model line.
image_urlNoPublic image URL that the service can fetch.
timeout_msNo
callback_urlNoWebhook URL for terminal Task delivery.
source_task_idNoCompleted Image 2.0 text-to-image Task ID owned by the same account. Compatibility input; use image_url instead.
poll_interval_msNo

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool returns a task id, status, and output URLs, which hints at an asynchronous task pattern, but it does not explain polling, callback behavior, error handling, or whether the operation is blocking. It also says 'Create a task' but does not indicate side effects or whether it modifies resources. This is insufficient for safe agent use.

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?

The description is a single sentence with no fluff or redundancy. It front-loads the core action and briefly notes return values. Given the limited content, it is concise, though it could be more helpful without being longer. Efficiency alone supports a 4.

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

Completeness1/5

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

For a tool with 7 parameters, no output schema, and no annotations, a one-sentence description is severely inadequate. It omits critical context such as what 'segment map' means, how the task progresses, what triggers terminal status, whether a callback is required, and how output URLs are delivered. An agent cannot reliably construct a call or interpret results with only this description. The description leaves many gaps that the schema cannot fill.

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 71% (5 of 7 parameters have descriptions), so the schema already provides most parameter meaning. The description adds no parameter-specific details beyond repeating the overall purpose. One parameter (source_task_id) includes a compatibility note, which is helpful. Since coverage is above the 80% baseline, a 3 is appropriate—the description does not hinder but adds minimal value.

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

Purpose3/5

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

The description states a clear verb ('Create') and a resource ('Grok Imagine task on RunAPI (segment map)'), and mentions return values (task id, status, output URLs). However, the phrase 'segment map' is ambiguous—it could mean image segmentation but is not explained—and the description does not distinguish this tool from siblings like text_to_image or edit_image. It is not a tautology, but it leaves the core purpose partially unclear.

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

Usage Guidelines1/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, no prerequisites, and no exclusions. It simply describes the action without any context about appropriate scenarios, input requirements, or relationships to sibling tools. An agent has no basis for choosing this over other task-creation tools.

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

text_to_imageC

Create a Grok Imagine task on RunAPI (text to image). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoPoll until the task reaches a terminal status.
modelNoRunAPI model slug for this model line.
promptYesImage generation prompt.
enable_proNoNot accepted by this model.
timeout_msNo
aspect_ratioNoOutput aspect ratio.
callback_urlNoWebhook URL for terminal Task delivery.
poll_interval_msNo
enable_safety_checkerNoNot accepted by this model.

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of disclosing behavior. It states that it returns a task id, status, and output URLs, which hints at an async model, but does not explain the task lifecycle, whether it blocks or polls (a 'wait' parameter exists but is not mentioned), error handling, or side effects. The description under-discloses the operational behavior for a task-creation tool.

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?

The description is a single, front-loaded sentence that immediately states the action and the return values. It is efficient and free of filler. It could be more informative, but conciseness itself is well-executed.

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?

With no output schema, the description must explain the return format, but it only lists the elements without clarifying how the task id is used, when output URLs become available, or how the async workflow operates. It also omits guidance on the wait and callback options, leaving an agent unprepared to manage long-running tasks. The tool has 9 parameters, but the description ignores all of them, making the description incomplete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 78%, leaving two parameters (timeout_ms and poll_interval_ms) undocumented. The description adds no parameter meaning beyond the schema; it does not explain these gaps or provide any parameter context. With moderate coverage, the description should compensate for missing schema details, but it fails to do so.

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 clearly states the action (create), the resource (a Grok Imagine task on RunAPI), and the specific domain (text to image). It differentiates from siblings like text_to_video and edit_image by naming the task type and the return values (task id, status, output URLs). The purpose is unambiguous and distinct.

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 its siblings (e.g., text_to_video, edit_image, upscale_image). It does not mention alternatives, exclusions, or prerequisites. The only implicit usage is that it generates images from text, but no explicit routing or context is given.

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

text_to_videoC

Create a Grok Imagine task on RunAPI (text to video). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoPoll until the task reaches a terminal status.
modelNoRunAPI model slug for this model line.
promptYesVideo generation prompt.
timeout_msNo
aspect_ratioNoOutput aspect ratio.
callback_urlNoWebhook URL for terminal Task delivery.
motion_styleNoVideo motion style.
duration_secondsNoOutput duration in seconds.
poll_interval_msNo
output_resolutionNoOutput resolution.
reference_image_urlsNoNot accepted by this model.
enable_safety_checkerNoEnable content safety checks.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does state that it returns a task id, status, and output URLs, which hints at asynchronous task handling, but it does not mention the wait parameter, polling behavior, callback support, or any side effects (e.g., cost, rate limits). It also does not clarify that safety checks may be applied or that some parameters like reference_image_urls are not accepted by this model (though that is in the schema). This is insufficient for a tool with no annotations.

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?

The description is a single, focused sentence that states the tool's purpose and output in a compact way. It front-loads the most important information ('Create a Grok Imagine task on RunAPI (text to video)') and avoids any fluff. Every word earns its place, making it highly efficient.

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's complexity (12 parameters, 1 required, no output schema), the description is notably sparse. It does not explain how to use the tool effectively, such as whether the task is synchronous (the wait parameter), how to set up callbacks, or typical usage patterns. The rich schema partially compensates, but for an agent to call this correctly, it would need more context about the task lifecycle and the meaning of the returned status. The description is incomplete for a tool of this complexity.

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 83%, which is high, so the baseline is 3. The description adds no additional meaning to the parameters beyond what the schema already provides; it does not highlight any parameter relationships or usage nuances. Since the schema covers most parameters, the description's lack of parameter detail is acceptable, but it also does not enrich understanding.

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 action ('Create a Grok Imagine task') and the resource ('on RunAPI (text to video)'). It explicitly identifies the tool as text-to-video, which differentiates it from siblings like image_to_video and text_to_image. It also mentions what it returns. It could be more explicit about distinguishing from all siblings, but the core purpose is unambiguous.

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 any context, prerequisites, or scenarios where this tool is preferred over e.g., image_to_video or extend_video. The intended usage is only implied by the name and description, with no explicit 'use this when...' or exclusions.

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

upscale_imageB

Create a Grok Imagine task on RunAPI (upscale image). Returns a task id, status, and output URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNoPoll until the task reaches a terminal status.
timeout_msNo
callback_urlNoWebhook URL for terminal Task delivery.
source_task_idYesCompleted prior Grok Imagine video Task ID.
poll_interval_msNo

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior. It states that it returns a task id and status, indicating an asynchronous operation, and mentions output URLs. However, it does not mention authentication requirements, potential costs (despite check_pricing sibling), or any side effects beyond task creation. This is partial transparency; it covers the core flow but misses operational details.

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?

The description is a single, compact sentence that front-loads the action and result. Every word serves a purpose: it identifies the tool's function, the platform, and the returns. There is no redundancy or fluff, making it highly efficient for an agent to parse quickly.

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?

The tool has no output schema and no annotations, so the description must carry full contextual weight. It mentions returning a task id and output URLs, but does not explain how to poll or retrieve final results (e.g., via get_task), nor does it clarify the role of the wait parameter or callback_url. This is a significant gap for a tool that creates asynchronous tasks.

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

Parameters2/5

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

Schema description coverage is 60%, with two parameters (timeout_ms and poll_interval_ms) lacking descriptions. The tool description adds no parameter-specific information beyond what is in the schema. It does not explain the meaning or interaction of parameters like wait or callback_url, leaving gaps that the schema also does not fully address.

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 a specific action (create a Grok Imagine task) and its purpose (upscale image), which distinguishes it from siblings like text_to_image or text_to_video. The return value mention (task id, status, output URLs) adds clarity. It could be more explicit about the upscaling context, but the core purpose is unambiguous.

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

Usage Guidelines3/5

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

The description implies this tool is for upscaling an image, which is enough for an agent to infer when to use it. However, it does not explicitly mention when not to use it or provide alternatives (e.g., use edit_image for other edits). No comparison with siblings is offered, so the agent must rely on the name and description to select it.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.13
    • Changedcheck_pricing2 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "edit_image",
        -  "extend_video",
        -  "image_to_video",
        -  "text_to_image",
        -  "text_to_video",
        -  "upscale_image"
        -]New value: +[
        +  "edit_image",
        +  "extend_video",
        +  "image_to_video",
        +  "segment_map",
        +  "text_to_image",
        +  "text_to_video",
        +  "upscale_image"
        +]
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-imagine-edit-image",
        -  "grok-imagine-image-to-video",
        -  "grok-imagine-video-1.5-fast",
        -  "grok-imagine-video-1.5-preview",
        -  "grok-imagine-text-to-image",
        -  "grok-imagine-text-to-video"
        -]New value: +[
        +  "grok-imagine-edit-image",
        +  "grok-imagine-image-2-0",
        +  "grok-imagine-image-to-video",
        +  "grok-imagine-video-1.5-fast",
        +  "grok-imagine-video-1.5-preview",
        +  "grok-imagine-text-to-image",
        +  "grok-imagine-text-to-video"
        +]
    • Changededit_image9 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / aspect_ratio
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / mask_indices
        Added value: +{
        +  "description": "Not accepted by this model."
        +}
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-imagine-edit-image"
        -]New value: +[
        +  "grok-imagine-edit-image",
        +  "grok-imagine-image-2-0"
        +]
      • addedInput schema / properties / poll_interval_ms / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / source_image_urls
        Added value: +{
        +  "items": {},
        +  "type": "array"
        +}
      • addedInput schema / properties / source_task_id
        Added value: +{
        +  "description": "Not accepted by this model."
        +}
      • addedInput schema / properties / timeout_ms / maximum
        Added value: +9007199254740991
      • removedInput schema / required
        Removed value: -[
        -  "source_image_url"
        -]
    • Changedextend_video6 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / extension_duration_seconds / anyOf
        Added value: +[
        +  {
        +    "const": 6,
        +    "type": "number"
        +  },
        +  {
        +    "const": 10,
        +    "type": "number"
        +  }
        +]
      • removedInput schema / properties / extension_duration_seconds / enum
        Removed value: -[
        -  6,
        -  10
        -]
      • removedInput schema / properties / extension_duration_seconds / type
        Removed value: -"number"
      • addedInput schema / properties / poll_interval_ms / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / timeout_ms / maximum
        Added value: +9007199254740991
    • Changedget_task1 field changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "edit_image",
        -  "extend_video",
        -  "image_to_video",
        -  "text_to_image",
        -  "text_to_video",
        -  "upscale_image"
        -]New value: +[
        +  "edit_image",
        +  "extend_video",
        +  "image_to_video",
        +  "segment_map",
        +  "text_to_image",
        +  "text_to_video",
        +  "upscale_image"
        +]
    • Changedimage_to_video9 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / aspect_ratio / anyOf
        Added value: +[
        +  {
        +    "const": "2:3",
        +    "type": "string"
        +  },
        +  {
        +    "const": "3:2",
        +    "type": "string"
        +  },
        +  {
        +    "const": "1:1",
        +    "type": "string"
        +  },
        +  {
        +    "const": "16:9",
        +    "type": "string"
        +  },
        +  {
        +    "const": "9:16",
        +    "type": "string"
        +  },
        +  {
        +    "const": "auto",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / aspect_ratio / enum
        Removed value: -[
        -  "2:3",
        -  "3:2",
        -  "1:1",
        -  "16:9",
        -  "9:16",
        -  "auto"
        -]
      • removedInput schema / properties / aspect_ratio / type
        Removed value: -"string"
      • addedInput schema / properties / output_resolution / anyOf
        Added value: +[
        +  {
        +    "const": "480p",
        +    "type": "string"
        +  },
        +  {
        +    "const": "720p",
        +    "type": "string"
        +  },
        +  {
        +    "const": "1080p",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / output_resolution / enum
        Removed value: -[
        -  "480p",
        -  "720p"
        -]
      • removedInput schema / properties / output_resolution / type
        Removed value: -"string"
      • addedInput schema / properties / poll_interval_ms / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / timeout_ms / maximum
        Added value: +9007199254740991
    • Addedsegment_map
    • Changedtext_to_image10 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / aspect_ratio / anyOf
        Added value: +[
        +  {
        +    "const": "1:1",
        +    "type": "string"
        +  },
        +  {
        +    "const": "2:3",
        +    "type": "string"
        +  },
        +  {
        +    "const": "3:2",
        +    "type": "string"
        +  },
        +  {
        +    "const": "16:9",
        +    "type": "string"
        +  },
        +  {
        +    "const": "9:16",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / aspect_ratio / enum
        Removed value: -[
        -  "2:3",
        -  "3:2",
        -  "1:1",
        -  "16:9",
        -  "9:16"
        -]
      • removedInput schema / properties / aspect_ratio / type
        Removed value: -"string"
      • changedInput schema / properties / enable_pro / description
        Previous value: -"Enable Pro image generation mode."New value: +"Not accepted by this model."
      • changedInput schema / properties / enable_safety_checker / description
        Previous value: -"Enable content safety checks."New value: +"Not accepted by this model."
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-imagine-text-to-image"
        -]New value: +[
        +  "grok-imagine-image-2-0",
        +  "grok-imagine-text-to-image"
        +]
      • addedInput schema / properties / poll_interval_ms / maximum
        Added value: +9007199254740991
      • removedInput schema / properties / prompt / maxLength
        Removed value: -5000
      • addedInput schema / properties / timeout_ms / maximum
        Added value: +9007199254740991
    • Changedtext_to_video9 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / aspect_ratio / anyOf
        Added value: +[
        +  {
        +    "const": "2:3",
        +    "type": "string"
        +  },
        +  {
        +    "const": "3:2",
        +    "type": "string"
        +  },
        +  {
        +    "const": "1:1",
        +    "type": "string"
        +  },
        +  {
        +    "const": "16:9",
        +    "type": "string"
        +  },
        +  {
        +    "const": "9:16",
        +    "type": "string"
        +  },
        +  {
        +    "const": "auto",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / aspect_ratio / enum
        Removed value: -[
        -  "2:3",
        -  "3:2",
        -  "1:1",
        -  "16:9",
        -  "9:16",
        -  "auto"
        -]
      • removedInput schema / properties / aspect_ratio / type
        Removed value: -"string"
      • addedInput schema / properties / output_resolution / anyOf
        Added value: +[
        +  {
        +    "const": "480p",
        +    "type": "string"
        +  },
        +  {
        +    "const": "720p",
        +    "type": "string"
        +  },
        +  {
        +    "const": "1080p",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / output_resolution / enum
        Removed value: -[
        -  "480p",
        -  "720p"
        -]
      • removedInput schema / properties / output_resolution / type
        Removed value: -"string"
      • addedInput schema / properties / poll_interval_ms / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / timeout_ms / maximum
        Added value: +9007199254740991
    • Changedupscale_image3 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / poll_interval_ms / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / timeout_ms / maximum
        Added value: +9007199254740991
  2. 8 tool updatesv0.1.11
    • Changedcheck_pricing1 field changed
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-imagine-edit-image",
        -  "grok-imagine-image-to-video",
        -  "grok-imagine-text-to-image",
        -  "grok-imagine-text-to-video"
        -]New value: +[
        +  "grok-imagine-edit-image",
        +  "grok-imagine-image-to-video",
        +  "grok-imagine-video-1.5-fast",
        +  "grok-imagine-video-1.5-preview",
        +  "grok-imagine-text-to-image",
        +  "grok-imagine-text-to-video"
        +]
    • Changededit_image5 fields changed
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "description": "Webhook URL for terminal Task delivery.",
        +  "type": "string"
        +}
      • addedInput schema / properties / enable_safety_checker
        Added value: +{
        +  "description": "Enable content safety checks.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / prompt
        Added value: +{
        +  "description": "Optional image editing instruction.",
        +  "type": "string"
        +}
      • addedInput schema / properties / source_image_url
        Added value: +{
        +  "description": "Public source image URL.",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "source_image_url"
        +]
    • Changedextend_video6 fields changed
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "description": "Webhook URL for terminal Task delivery.",
        +  "type": "string"
        +}
      • addedInput schema / properties / extension_duration_seconds / description
        Added value: +"Extension duration in seconds."
      • addedInput schema / properties / prompt
        Added value: +{
        +  "description": "Video continuation prompt.",
        +  "maxLength": 5000,
        +  "type": "string"
        +}
      • addedInput schema / properties / source_task_id
        Added value: +{
        +  "description": "Completed prior Grok Imagine video Task ID.",
        +  "type": "string"
        +}
      • addedInput schema / properties / start_seconds
        Added value: +{
        +  "description": "Source video position in seconds where extension begins.",
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / required
        Added value: +[
        +  "source_task_id",
        +  "prompt",
        +  "start_seconds",
        +  "extension_duration_seconds"
        +]
    • Changedget_task1 field changed
      • changedInput schema / properties / action / description
        Previous value: -"Endpoint the task was created on."New value: +"Asynchronous endpoint the task was created on."
    • Changedimage_to_video14 fields changed
      • addedInput schema / properties / aspect_ratio / description
        Added value: +"Output aspect ratio."
      • changedInput schema / properties / aspect_ratio / enum
        Previous value: -[
        -  "2:3",
        -  "3:2",
        -  "1:1",
        -  "16:9",
        -  "9:16"
        -]New value: +[
        +  "2:3",
        +  "3:2",
        +  "1:1",
        +  "16:9",
        +  "9:16",
        +  "auto"
        +]
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "description": "Webhook URL for terminal Task delivery.",
        +  "type": "string"
        +}
      • addedInput schema / properties / duration_seconds
        Added value: +{
        +  "description": "Output duration in seconds.",
        +  "maximum": 30,
        +  "minimum": 6,
        +  "type": "number"
        +}
      • addedInput schema / properties / enable_safety_checker
        Added value: +{
        +  "description": "Enable content safety checks.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / index
        Added value: +{
        +  "description": "Zero-based source image index; used only with source_task_id.",
        +  "maximum": 5,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-imagine-image-to-video"
        -]New value: +[
        +  "grok-imagine-image-to-video",
        +  "grok-imagine-video-1.5-fast",
        +  "grok-imagine-video-1.5-preview"
        +]
      • addedInput schema / properties / motion_style / description
        Added value: +"Video motion style; spicy requires source_task_id."
      • removedInput schema / properties / motion_style / enum
        Removed value: -[
        -  "fun",
        -  "normal",
        -  "spicy"
        -]
      • addedInput schema / properties / output_resolution / description
        Added value: +"Output resolution."
      • addedInput schema / properties / prompt
        Added value: +{
        +  "description": "Optional video generation prompt.",
        +  "maxLength": 5000,
        +  "type": "string"
        +}
      • addedInput schema / properties / reference_image_urls
        Added value: +{
        +  "description": "Not accepted by this model.",
        +  "items": {},
        +  "type": "array"
        +}
      • addedInput schema / properties / source_image_url
        Added value: +{
        +  "description": "Public source image URL; provide this or source_task_id, but not both.",
        +  "type": "string"
        +}
      • addedInput schema / properties / source_task_id
        Added value: +{
        +  "description": "Prior Grok Imagine text-to-image Task ID; provide this or source_image_url, but not both.",
        +  "type": "string"
        +}
    • Changedtext_to_image6 fields changed
      • addedInput schema / properties / aspect_ratio / description
        Added value: +"Output aspect ratio."
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "description": "Webhook URL for terminal Task delivery.",
        +  "type": "string"
        +}
      • addedInput schema / properties / enable_pro
        Added value: +{
        +  "description": "Enable Pro image generation mode.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / enable_safety_checker
        Added value: +{
        +  "description": "Enable content safety checks.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / prompt
        Added value: +{
        +  "description": "Image generation prompt.",
        +  "maxLength": 5000,
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "prompt"
        +]
    • Changedtext_to_video12 fields changed
      • addedInput schema / properties / aspect_ratio / description
        Added value: +"Output aspect ratio."
      • changedInput schema / properties / aspect_ratio / enum
        Previous value: -[
        -  "2:3",
        -  "3:2",
        -  "1:1",
        -  "16:9",
        -  "9:16"
        -]New value: +[
        +  "2:3",
        +  "3:2",
        +  "1:1",
        +  "16:9",
        +  "9:16",
        +  "auto"
        +]
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "description": "Webhook URL for terminal Task delivery.",
        +  "type": "string"
        +}
      • addedInput schema / properties / duration_seconds
        Added value: +{
        +  "description": "Output duration in seconds.",
        +  "maximum": 30,
        +  "minimum": 6,
        +  "type": "number"
        +}
      • addedInput schema / properties / enable_safety_checker
        Added value: +{
        +  "description": "Enable content safety checks.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / model / enum
        Previous value: -[
        -  "grok-imagine-text-to-video"
        -]New value: +[
        +  "grok-imagine-text-to-video",
        +  "grok-imagine-video-1.5-fast",
        +  "grok-imagine-video-1.5-preview"
        +]
      • addedInput schema / properties / motion_style / description
        Added value: +"Video motion style."
      • removedInput schema / properties / motion_style / enum
        Removed value: -[
        -  "fun",
        -  "normal",
        -  "spicy"
        -]
      • addedInput schema / properties / output_resolution / description
        Added value: +"Output resolution."
      • addedInput schema / properties / prompt
        Added value: +{
        +  "description": "Video generation prompt.",
        +  "maxLength": 5000,
        +  "type": "string"
        +}
      • addedInput schema / properties / reference_image_urls
        Added value: +{
        +  "description": "Not accepted by this model.",
        +  "items": {},
        +  "type": "array"
        +}
      • addedInput schema / required
        Added value: +[
        +  "prompt"
        +]
    • Changedupscale_image3 fields changed
      • addedInput schema / properties / callback_url
        Added value: +{
        +  "description": "Webhook URL for terminal Task delivery.",
        +  "type": "string"
        +}
      • addedInput schema / properties / source_task_id
        Added value: +{
        +  "description": "Completed prior Grok Imagine video Task ID.",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "source_task_id"
        +]
  3. 1 tool updatev0.1.6
    • Addedlogin
  4. 8 tool updatesv0.1.0
    • First observedcheck_pricing
    • First observededit_image
    • First observedextend_video
    • First observedget_task
    • First observedimage_to_video
    • First observedtext_to_image
    • First observedtext_to_video
    • First observedupscale_image

TDQS

B3.2/5.0
Disambiguation4/5

Each generation tool has a distinct name and maps to a different Grok Imagine mode, so an agent can usually tell them apart. However, all share identical description text ('Create a Grok Imagine task on RunAPI...'), which reduces the disambiguation help and makes 'segment_map' less obvious.

Naming Consistency3/5

All names are lowercase snake_case, but the pattern is mixed: some tools use verb_noun (edit_image, get_task, check_pricing), while task-creation tools use feature names or transformation patterns (text_to_image, image_to_video, segment_map). This is readable but not a single consistent convention across the set.

Tool Count5/5

Ten tools is well within the ideal range for a media-generation server. The count balances seven task-creation modes with supporting auth, status, and pricing tools without feeling bloated or thin.

Completeness4/5

The tool surface covers the major Grok Imagine generation modes plus login, result retrieval, and pricing, so core workflows are complete. Minor gaps exist such as no listing/cancelling of tasks or convenience helpers, but agents can work around them.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/runapi-ai/grok-imagine-mcp'

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