Skip to main content
Glama
ex-takashima

Grok Imagine Video MCP Server

by ex-takashima

Grok Imagine Video MCP Server

npm version License: MIT

xAI の Grok Imagine Video API 用 MCP (Model Context Protocol) サーバー。テキストプロンプトからの動画生成、画像からの動画生成(Image-to-Video)、既存動画の編集をサポートします。

クイックスタート (npx)

最も簡単な方法は npx を使用することです:

# APIキーを設定
export XAI_API_KEY="xai-your-api-key"

# サーバーを実行
npx grok-imagine-video-mcp-server

Related MCP server: Aetherwave Studio

機能

  • 動画生成(Text-to-Video): テキストプロンプトから新規動画を生成

  • 動画生成(Image-to-Video): 画像を入力として動画を生成(プロンプト省略可)

  • 動画生成(Reference-to-Video / R2V): 参照画像をスタイル/コンテンツ参照として動画を生成(grok-imagine-video-1.5 ではプリセットボイス reference_audios も指定可)

  • 動画編集: 既存動画をプロンプトで編集

  • 動画延長(Extension): 既存動画の続きを生成して延長

  • バッチ処理: CLIで複数動画を一括処理

  • 多様なアスペクト比をサポート(16:9, 4:3, 1:1, 9:16 など)

  • 解像度: 480p, 720p, 1080p(1080p は grok-imagine-video-1.5 限定)

  • 動画長: 1〜15秒(デフォルト8秒。編集時は元動画と同じ長さ、延長は2〜10秒)

  • 音声つき(効果音・環境音・BGM が自動生成される。話者の声のみ 1.5 の reference_audios で選択可、それ以外はプロンプトで指示する)

  • 非同期処理対応(ポーリングによる結果取得、進捗・コスト表示)

grok-imagine-video 1.5 対応: Reference-to-Video(プリセットボイス含む)、動画延長、構造化エラー/進捗、実コスト(cost_in_usd_ticks)表示に対応しています。

プロンプトの書き方は docs/prompt-templates.md を参照してください。

サポートモデル

モード

grok-imagine-video

grok-imagine-video-1.5

Text-to-Video

Image-to-Video

Reference-to-Video

R2V のプリセットボイス(reference_audios

編集

延長

1080p

モデルと機能の対応について(2026-08-30 実機検証済み): grok-imagine-video-1.5 は Text-to-Video に続き Reference-to-Video も受け付けるようになりました(プリセットボイス reference_audios を含む)。一方 編集・延長は引き続き Video editing is not supported for this model. / Video extension is not supported for this model. を返します。全モードを使えるのは基本モデル grok-imagine-video のみで、これがデフォルトです。なお 1080p が使えるのは T2V/I2V のみで、R2V の出力は 720p 上限です。

1080p について: 1080p は grok-imagine-video-1.5 でのみ利用できます。公式ドキュメントは「1.5 の Image-to-Video 限定」と書いていますが、実測では 1.5 の Text-to-Video でも 1080p が通ります(出力実寸 1920x1088)。基本モデルで 1080p を指定すると 1080p video resolution is not available for this model. が返ります。これはアカウントの権限や Grok のサブスク(SuperGrok 等)とは無関係です。なお xAI の API 課金は消費者向け Grok サブスクとは別系統(前払いクレジット/請求)で、サブスク加入で API 機能が解放されることはありません。

音声

出力される MP4 には常に AAC 音声トラックが含まれます。効果音・環境音・BGM はプロンプトのシーン内容から自動生成されます。話者の声だけは grok-imagine-video-1.5 の R2V で reference_audios(プリセットボイス、最大3件。プロンプト中で <AUDIO_0> … と参照)として選択できますが、効果音・BGM を制御する API パラメータはありません。狙った音にしたい場合はプロンプト本文で指示します(テンプレート集参照)。音声が不要なら ffmpeg -i in.mp4 -c copy -an out.mp4 で除去してください。

必要条件

  • Node.js 18.0.0 以上

  • xAI API キー(console.x.ai から取得)

インストール

方法1: npx(推奨)

npx grok-imagine-video-mcp-server

方法2: グローバルインストール

npm install -g grok-imagine-video-mcp-server
grok-imagine-video-mcp-server

設定

環境変数

変数

必須

説明

XAI_API_KEY

Yes

xAI API キー

DEBUG

No

true でデバッグログを有効化

OUTPUT_DIR

No

動画のデフォルト出力ディレクトリ

VIDEO_POLL_INTERVAL

No

ポーリング間隔(ミリ秒、デフォルト: 5000)

VIDEO_MAX_POLL_ATTEMPTS

No

最大ポーリング回数(デフォルト: 120)

Claude Desktop 設定

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "grok-imagine-video": {
      "command": "npx",
      "args": ["-y", "grok-imagine-video-mcp-server"],
      "env": {
        "XAI_API_KEY": "xai-your-api-key-here"
      }
    }
  }
}

ツール

generate_video

テキストプロンプトまたは画像から動画を生成します。

パラメータ

必須

説明

prompt

string

条件付き

生成する動画の説明テキスト。T2V/R2V では必須、I2V(画像指定時)では省略可

output_path

string

No

出力ファイルパス(デフォルト: generated_video.mp4)

model

string

No

モデル(デフォルト: grok-imagine-video)

duration

number

No

動画長(1-15秒、デフォルト: 8)

aspect_ratio

string

No

アスペクト比(デフォルト: 16:9)

resolution

string

No

解像度(480p/720p/1080p、デフォルト: 720p)

image_url

string

No

Image-to-Video用の入力画像URL

image_path

string

No

ローカル画像ファイルパス(base64 data URLとして送信。10MB超はFiles API経由で自動アップロード)

image_file_id

string

No

xAI Files API の File ID(Image-to-Video用)

reference_images

array

No

Reference-to-Video用の参照画像(各要素は url / path / file_id のいずれか)。プロンプト中では <IMAGE_0> … で参照

reference_audios

array

No

R2V用のプリセットボイス(最大3件、各要素は voice_id または url)。grok-imagine-video-1.5 限定。プロンプト中では <AUDIO_0> … で参照

注意: image_url / image_path / image_file_id はいずれか1つのみ指定できます。また、画像(I2V)と reference_images / reference_audios(R2V)も同時指定できません。reference_audios は単独指定(音声のみの R2V)も可能です。

edit_video

既存動画を編集します。

パラメータ

必須

説明

prompt

string

Yes

編集内容の説明

video_url

string

No*

編集する動画のURL(公開アクセス可能、最大8.7秒)

video_path

string

No*

ローカル動画ファイルパス(.mp4、Files API 経由で自動アップロード)

video_file_id

string

No*

xAI Files API の File ID(*いずれか1つを指定)

output_path

string

No

出力ファイルパス(デフォルト: edited_video.mp4)

model

string

No

モデル(デフォルト: grok-imagine-video)

注意: 編集後の動画は元動画と同じ長さになります。duration パラメータは編集時には指定できません。

extend_video

既存動画の続きを生成して延長します(grok-imagine-video 1.5)。

パラメータ

必須

説明

prompt

string

Yes

続きで何が起こるかの説明

video_url

string

No*

延長する動画のURL(公開アクセス可能 or base64 data URL、.mp4)

video_path

string

No*

ローカル動画ファイルパス(.mp4、Files API 経由で自動アップロード)

video_file_id

string

No*

xAI Files API の File ID(*いずれか1つを指定)

output_path

string

No

出力ファイルパス(デフォルト: extended_video.mp4)

model

string

No

モデル(デフォルト: grok-imagine-video)

duration

number

No

延長セグメントの長さ(2-10秒、デフォルト: 6)

upload_file

ローカルの画像・動画ファイルを xAI Files API にアップロードし、file_id を取得します。ファイルは非公開のまま保存され、image_file_id / reference_images[].file_id / video_file_id として再利用できます(同じファイルを何度も送り直す必要がありません)。

パラメータ

必須

説明

file_path

string

Yes

アップロードするファイルのパス(画像: jpg/jpeg/png/gif/webp/bmp/tiff、動画: mp4、最大 48MB)

バッチ処理 CLI

コマンド書式

grok-imagine-video-batch <config.json> [options]

または npx 経由:

npx grok-imagine-video-batch <config.json> [options]

基本的な使用例

# 設定ファイルでバッチ実行
npx grok-imagine-video-batch batch.json

# コスト見積もりのみ(実行しない)
npx grok-imagine-video-batch batch.json --estimate-only

# 出力先とフォーマットを指定
npx grok-imagine-video-batch batch.json --output-dir ./videos --format json

# ポーリング設定をカスタマイズ
npx grok-imagine-video-batch batch.json --poll-interval 10000 --max-poll-attempts 60

# 高並列実行(タイムアウト延長)
npx grok-imagine-video-batch batch.json --max-concurrent 5 --timeout 1800000

# ヘルプ表示
npx grok-imagine-video-batch --help

# バージョン表示
npx grok-imagine-video-batch --version

CLI オプション一覧

オプション

短縮形

引数

説明

デフォルト

--output-dir

-

<path>

出力ディレクトリを上書き

設定ファイルから

--format

-

text|json

出力フォーマット

text

--timeout

-

<ms>

タイムアウト(ミリ秒、最小1000)

600000

--max-concurrent

-

<n>

最大同時実行数(1-10)

2

--poll-interval

-

<ms>

ポーリング間隔(ミリ秒、最小1000)

5000

--max-poll-attempts

-

<n>

最大ポーリング回数

120

--estimate-only

-

-

コスト見積もりのみ(実行しない)

-

--allow-any-path

-

-

任意の出力パスを許可(CI/CD用)

-

--help

-h

-

ヘルプメッセージ表示

-

--version

-v

-

バージョン表示

-

終了コード

コード

意味

0

成功(全ジョブ完了)

1

エラー(失敗またはキャンセルあり)

バッチ設定ファイル

{
  "jobs": [
    {
      "prompt": "猫がボールで遊んでいる",
      "output_path": "cat_video.mp4",
      "duration": 5,
      "aspect_ratio": "16:9",
      "resolution": "720p"
    },
    {
      "prompt": "キャラクターが歩いているアニメーション",
      "image_url": "https://example.com/character.jpg",
      "output_path": "walking.mp4",
      "duration": 10
    },
    {
      "prompt": "ボールを大きくして",
      "video_url": "https://example.com/video.mp4",
      "output_path": "edited.mp4"
    }
  ],
  "output_dir": "./output",
  "max_concurrent": 2,
  "poll_interval": 5000,
  "max_poll_attempts": 120,
  "default_model": "grok-imagine-video",
  "default_duration": 5,
  "retry_policy": {
    "max_retries": 2,
    "retry_delay_ms": 1000
  }
}

ジョブ定義スキーマ

各ジョブは3種類のうち1つを指定します:

1. Text-to-Video(テキストから動画生成)

{
  "prompt": "生成したい動画の説明",
  "output_path": "output.mp4",
  "duration": 5,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "model": "grok-imagine-video"
}

フィールド

必須

説明

prompt

string

Yes

動画の説明テキスト

output_path

string

No

出力ファイル名

duration

number

No

動画長(1-15秒)

aspect_ratio

string

No

アスペクト比

resolution

string

No

解像度(720p/480p)

model

string

No

モデル名

2. Image-to-Video(画像から動画生成)

URL指定の場合:

{
  "prompt": "画像をアニメーション化する説明",
  "image_url": "https://example.com/image.jpg",
  "output_path": "animated.mp4",
  "duration": 5
}

ローカルファイルの場合(base64 data URL):

{
  "prompt": "画像をアニメーション化する説明",
  "image_path": "./images/character.jpg",
  "output_path": "animated.mp4",
  "duration": 5
}

フィールド

必須

説明

prompt

string

Yes

アニメーションの説明

image_url

string

No*

入力画像のURL(公開アクセス可能)

image_path

string

No*

ローカル画像ファイルパス(base64 data URLとして送信。10MB超はFiles API経由で自動アップロード)

image_file_id

string

No*

xAI Files API の File ID

output_path

string

No

出力ファイル名

duration

number

No

動画長(1-15秒)

*image_url / image_path / image_file_id のいずれか1つを指定(同時指定不可)

3. Reference-to-Video(参照画像から動画生成 / R2V)

{
  "prompt": "アニメ風に歩くキャラクター",
  "reference_images": [
    { "url": "https://example.com/style.jpg" },
    { "path": "./images/character.png" }
  ],
  "output_path": "r2v.mp4",
  "duration": 8
}

フィールド

必須

説明

prompt

string

Yes

動画の説明

reference_images

array

条件付き

参照画像(各要素は url / path / file_id のいずれか)。reference_audios があれば省略可

reference_audios

array

条件付き

プリセットボイス(最大3件、各要素は voice_id または url)。grok-imagine-video-1.5 限定

output_path

string

No

出力ファイル名

duration

number

No

動画長(1-15秒)

参照音声(プリセットボイス)を使う例:

{
  "model": "grok-imagine-video-1.5",
  "prompt": "<IMAGE_0> の人物が <AUDIO_0> の声で商品を紹介する",
  "reference_images": [{ "path": "./images/person.png" }],
  "reference_audios": [{ "voice_id": "eve" }],
  "output_path": "r2v_voice.mp4",
  "duration": 8
}

画像(I2V)と reference_images / reference_audios(R2V)は同時指定できません。reference_audios(プリセットボイス、最大3件)は grok-imagine-video-1.5 限定です。

4. Video Edit(動画編集)

{
  "prompt": "編集内容の説明",
  "video_url": "https://example.com/video.mp4",
  "output_path": "edited.mp4"
}

フィールド

必須

説明

prompt

string

Yes

編集内容の説明

video_url

string

No*

編集する動画のURL(最大8.7秒)

video_path

string

No*

ローカル動画ファイルパス(.mp4、Files API 経由で自動アップロード)

video_file_id

string

No*

xAI Files API の File ID(*いずれか1つを指定)

output_path

string

No

出力ファイル名

5. Video Extension(動画延長)

{
  "operation": "extend",
  "prompt": "カメラが引いて街並みが見える",
  "video_url": "https://example.com/video.mp4",
  "output_path": "extended.mp4",
  "duration": 6
}

フィールド

必須

説明

operation

string

Yes

"extend" を指定(省略するとソース動画付きは編集扱い)

prompt

string

Yes

続きで何が起こるかの説明

video_url

string

No*

延長する動画のURL

video_path

string

No*

ローカル動画ファイルパス(.mp4、Files API 経由で自動アップロード)

video_file_id

string

No*

xAI Files API の File ID(*いずれか1つを指定)

output_path

string

No

出力ファイル名

duration

number

No

延長セグメントの長さ(2-10秒、デフォルト6)

video_url / video_path / video_file_id を持つジョブは既定で編集(edit)として扱われます。延長したい場合は "operation": "extend" を明示してください。

グローバル設定

フィールド

説明

デフォルト

output_dir

string

出力ディレクトリ

./output

max_concurrent

number

最大同時実行数(1-10)

2

poll_interval

number

ポーリング間隔(ms)

5000

max_poll_attempts

number

最大ポーリング回数

120

default_model

string

デフォルトモデル

grok-imagine-video

default_duration

number

デフォルト動画長

8

default_aspect_ratio

string

デフォルトアスペクト比

16:9

default_resolution

string

デフォルト解像度

720p

リトライポリシー

{
  "retry_policy": {
    "max_retries": 2,
    "retry_delay_ms": 1000,
    "retry_on_errors": ["rate_limit", "429", "500", "502", "503"]
  }
}

フィールド

説明

デフォルト

max_retries

number

最大リトライ回数

2

retry_delay_ms

number

リトライ間隔(ms)

1000

retry_on_errors

string[]

リトライ対象エラー(エラーメッセージへの部分一致)

["rate_limit", "timeout", "429", "503", "service_unavailable", "internal_error"]

service_unavailableinternal_error は xAI が「リトライすべき」と定義しているエラーコードです。 invalid_argument / permission_denied / failed_precondition はリクエスト内容の問題なのでリトライしません。

設定例は examples/ ディレクトリを参照してください:

  • batch-simple.json - 基本的な動画生成

  • batch-image-to-video.json - 画像からの動画生成(URL指定)

  • batch-local-images.json - ローカル画像からの動画生成

  • batch-reference-to-video.json - 参照画像からの動画生成(R2V)

  • batch-reference-voice.json - 参照画像+プリセットボイス/音声のみの R2V(grok-imagine-video-1.5

  • batch-with-edits.json - 動画編集チェーン

  • batch-extend.json - 動画延長(Extension)

  • batch-social-media.json - SNS向けフォーマット

サポートされているアスペクト比

アスペクト比

用途例

16:9

横長ワイドスクリーン、YouTube(デフォルト)

4:3

標準的な横長

1:1

正方形、Instagram

9:16

縦長、TikTok、Reels、Stories

3:4

縦長

3:2 / 2:3

写真比率

サポートされている解像度

解像度

説明

1080p

フルHD画質(grok-imagine-video-1.5 の T2V/I2V 限定。R2V は 720p 上限。基本モデルでは "1080p video resolution is not available for this model." になります)

720p

HD画質(デフォルト)

480p

標準画質

動画長の制限

操作

最小

最大

デフォルト

生成(Text/Image/Reference-to-Video)

1秒

15秒

8秒

編集

-

8.7秒

元動画と同じ

延長(Extension)

2秒

10秒

6秒

料金

動画 1 秒あたりの単価(USD)。1秒ジョブの usage.cost_in_usd_ticks から実測(2026-07-31)。

モデル

480p

720p

1080p

grok-imagine-video

$0.05

$0.07

非対応

grok-imagine-video-1.5

$0.08

$0.14

$0.25

  • 実課金額はジョブごとに usage.cost_in_usd_ticks として返り、結果表示に含まれます

  • バッチ CLI の --estimate-only はこの表で事前見積もりを出します(編集は 720p 単価で概算)

  • 参照画像・参照音声・入力画像・入力動画にも課金されるため、R2V の実額は上表の単価をやや上回ります(実測例: 1.5 / 480p / 1秒 / 参照画像1枚 + ボイス1件 = $0.09)

非同期処理について

Video APIは非同期で動作します:

  1. リクエスト送信: 動画生成/編集リクエストを送信

  2. request_id 取得: APIから request_id が返される

  3. ポーリング: 定期的に結果を確認(デフォルト: 5秒間隔)

  4. 結果取得: 完了後、動画URLを取得してダウンロード

POST /v1/videos/generations → { request_id: "abc123" }
                ↓
GET /v1/videos/abc123 → { status: "pending" } → 待機
                ↓
GET /v1/videos/abc123 → { status: "completed", url: "..." } → ダウンロード

statuspending / done(旧 completed) / failed / expired のいずれかです。 failedexpired は終端としてポーリングを打ち切り、エラーを返します(expired はリクエストの保持期限切れで、再送信が必要)。

使用例

# テキストから動画生成
「猫がボールで遊んでいる」の5秒動画を16:9で生成して

# 画像から動画生成
この画像のキャラクターを歩かせる動画を作って

# 動画編集
この動画の背景を夜に変更して

API リファレンス

機能

エンドポイント

動画生成(T2V/I2V/R2V)

POST https://api.x.ai/v1/videos/generations

動画編集

POST https://api.x.ai/v1/videos/edits

動画延長

POST https://api.x.ai/v1/videos/extensions

結果取得

GET https://api.x.ai/v1/videos/{request_id}

開発

git clone https://github.com/ex-takashima/grok-imagine-video-mcp-server.git
cd grok-imagine-video-mcp-server
npm install
npm run build
npm start

開発用コマンド

# ビルド
npm run build

# ウォッチモード
npm run dev

# バッチCLI実行
npm run batch -- examples/batch-simple.json --estimate-only

トラブルシューティング

ポーリングがタイムアウトする

動画生成には時間がかかる場合があります。以下を試してください:

# ポーリング回数を増やす
npx grok-imagine-video-batch batch.json --max-poll-attempts 200

# タイムアウトを延長
npx grok-imagine-video-batch batch.json --timeout 1200000

Rate Limit エラー

並列数を減らすか、リトライ設定を調整してください:

{
  "max_concurrent": 1,
  "retry_policy": {
    "max_retries": 3,
    "retry_delay_ms": 5000,
    "retry_on_errors": ["rate_limit", "429"]
  }
}

関連プロジェクト

ライセンス

MIT

作者

Junji Takashima takajyun00@gmail.com

Available Tools

4 tools
edit_videoA

Edit an existing video using xAI Grok Imagine Video API. Provide a source video URL along with a prompt describing the desired changes. The maximum supported video length is 8.7 seconds. The edited video will have the same duration as the original.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use (default: grok-imagine-video). grok-imagine-video-1.5 does not support editing and returns "Video editing is not supported for this model.".
promptYesDescription of the desired edits to make to the video
video_urlNoURL of the source video to edit (must be publicly accessible, max 8.7 seconds). Provide exactly one of video_url, video_path, or video_file_id.
video_pathNoLocal video file path (.mp4). Uploaded to the xAI Files API automatically. Provide exactly one of video_url, video_path, or video_file_id.
output_pathNoOutput file path (default: edited_video.mp4)
video_file_idNoFile ID of the source video from the xAI Files API. Provide exactly one of video_url, video_path, or video_file_id.

TDQS

A4/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 discloses the 8.7-second maximum length and the fact that the edited video has the same duration as the original, which are useful behavioral details. However, it omits the model parameter caveat (grok-imagine-video-1.5 does not support editing) and does not describe error handling or processing behavior, leaving significant gaps.

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 three sentences long, each adding value: it states the purpose, gives a usage instruction, and lists key constraints. It is front-loaded with the core action and contains no fluff or redundancy.

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 tool with 6 parameters, no annotations, and no output schema, the description covers the essential behavior (editing existing video), key constraints (8.7s max, same duration), and offers a usage hint. However, it does not mention the model caveat or the exclusive-or relationship between video_url, video_path, and video_file_id, though these are present in the schema. It is fairly complete but not exhaustive.

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 baseline is 3. The description does not add much beyond the schema; it mentions providing a 'source video URL along with a prompt,' but the schema already documents all parameters and their constraints, including the mutually exclusive video source fields and the 8.7-second limit. The description adds no new parameter semantics.

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 function: 'Edit an existing video' using the xAI Grok Imagine Video API. It also specifies key constraints (max 8.7 seconds, same output duration) that distinguish it from sibling tools like generate_video and extend_video, which create or extend videos rather than edit them.

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 establishes a clear context: it is for editing an existing video. This implicitly differentiates it from siblings that generate, extend, or upload videos. However, it does not explicitly state when not to use this tool or name alternative tools, so it lacks explicit exclusion criteria.

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

extend_videoA

Extend an existing video by generating continuation content using xAI Grok Imagine Video API. Provide a source video URL and a prompt describing what should happen next. The extension segment duration is 1-10 seconds (default 6).

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use (default: grok-imagine-video). grok-imagine-video-1.5 does not support extension and returns "Video extension is not supported for this model.".
promptYesDescription of what should happen next in the video
durationNoDuration of the extension segment in seconds (1-10, default: 6)
video_urlNoURL of the source video to extend (public URL or base64 data URL, .mp4). Provide exactly one of video_url, video_path, or video_file_id.
video_pathNoLocal video file path (.mp4). Uploaded to the xAI Files API automatically. Provide exactly one of video_url, video_path, or video_file_id.
output_pathNoOutput file path (default: extended_video.mp4)
video_file_idNoFile ID of the source video from the xAI Files API. Provide exactly one of video_url, video_path, or video_file_id.

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description must carry behavioral disclosure. It explains the core action and duration range but omits details like authentication, rate limits, side effects (e.g., file uploads for video_path), and failure modes. The model compatibility caveat is only in the schema, not the description.

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 two sentences, front-loaded with the purpose, and contains no filler. It is appropriately sized for the tool's complexity.

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?

The description covers the basic workflow but does not mention the three mutually exclusive source options (video_url, video_path, video_file_id) or the output_path. It also omits that model grok-imagine-video-1.5 does not support extension. While the schema fills many gaps, the description alone would leave users uncertain about the full input flexibility.

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 coverage is 100%, so the description needs to add limited extra meaning. It mentions source URL and prompt, but the schema already describes each parameter fully. The 'default 6' is also already in the schema, so the description adds no novel semantics.

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 ('Extend') and resource ('an existing video'), clearly distinguishing it from siblings like generate_video and edit_video. It also names the underlying API, adding specificity.

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?

It provides clear context: use for extending an existing video with a prompt. It does not explicitly contrast with generate_video or edit_video, but the context is unambiguous. No exclusions are stated, so not a 5.

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

generate_videoA

Generate a new video using xAI Grok Imagine Video API (grok-imagine-video). Supports text-to-video (T2V), image-to-video (I2V), and reference-to-video (R2V). Supports aspect ratios: 16:9, 4:3, 1:1, 9:16, 3:4, 3:2, 2:3. Video duration: 1-15 seconds (default 8). Resolution: 480p, 720p, or 1080p (1080p only with model grok-imagine-video-1.5). The output MP4 always contains an auto-generated audio track (sound effects, ambience, score) driven by the prompt; there is no audio parameter. For image-to-video, provide image_url, image_path, or image_file_id. For reference-to-video, provide reference_images.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel to use (default: grok-imagine-video)
promptNoText prompt describing the video. Required for text-to-video and reference-to-video; optional for image-to-video (image alone drives generation).
durationNoVideo duration in seconds (1-15, default: 8)
image_urlNoSource image URL for image-to-video generation (optional)
image_pathNoLocal image file path for image-to-video generation. Sent as a base64 data URL; files over 10 MB are uploaded via the xAI Files API automatically (max 48 MB). Cannot be used together with image_url or image_file_id.
resolutionNoResolution of the generated video (default: 720p). 1080p is only available with model grok-imagine-video-1.5 (text-to-video and image-to-video).
output_pathNoOutput file path (default: generated_video.mp4)
aspect_ratioNoAspect ratio (default: 16:9)
image_file_idNoFile ID from the xAI Files API for image-to-video generation. Cannot be used together with image_url or image_path.
reference_imagesNoReference images for reference-to-video (R2V) generation, used as style/content references. Cannot be combined with image_url/image_path/image_file_id. Requires model grok-imagine-video; grok-imagine-video-1.5 rejects R2V.

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses that the output MP4 always includes an auto-generated audio track with no audio parameter, explains resolution restrictions (1080p only with certain model), mentions automatic file upload for large image_path, and clarifies incompatibilities between input methods. This is substantial behavioral context beyond the schema.

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 dense paragraph but every sentence contributes necessary details (modes, aspect ratios, duration, resolution, audio behavior, input requirements). It is front-loaded with the primary purpose. While it could be broken into bullets, the length is justified given the tool's complexity, and there is no fluff.

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?

Given 10 parameters and no output schema, the description covers most behavioral aspects: modes, constraints, and input options. The main gap is that it does not explicitly state the return value or side effects (e.g., returns the output file path, uploads to Files API). Despite this, it provides enough context for an agent to invoke the tool correctly.

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%, giving a baseline of 3. The description adds value by clarifying parameter interdependencies (e.g., prompt required for T2V/R2V, optional for I2V), model-specific restrictions (1080p, R2V availability), and the behavior of image_path (base64 upload path). This enriches the schema without being redundant.

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 'Generate a new video using xAI Grok Imagine Video API,' which clearly states the action (generate) and resource (new video), and distinguishes this from sibling tools like edit_video and extend_video since it creates a new video. It further lists supported modes (T2V, I2V, R2V), providing a precise scope.

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 explains when to use each mode (e.g., 'For image-to-video, provide image_url, image_path, or image_file_id') and states model-specific constraints, but it does not explicitly compare against sibling tools or provide 'when not to use' guidance. The context is clear and actionable, but lacks explicit exclusions or alternative tool references.

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

upload_fileA

Upload a local image or video file to the xAI Files API and get a file_id. The file stays private; the returned file_id can be used as input for generate_video (image_file_id, reference_images[].file_id), edit_video, and extend_video (video_file_id). Useful for reusing the same asset across multiple calls without re-uploading. Supported: images (jpg/jpeg/png/gif/webp/bmp/tiff) and videos (mp4), max 48 MB.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesLocal path of the image or video file to upload

TDQS

A4.5/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 full transparency burden. It discloses that the file stays private, returns a file_id, and supports specific formats/size limits. While it doesn't discuss persistence or side effects, the information provided is sufficient for safe use of a basic upload operation.

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 concise and front-loaded: the first sentence gives the core purpose, followed by useful context on privacy, reuse, and constraints. Every sentence adds necessary information with no filler.

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 tool with a single parameter, no output schema, and no annotations, the description fully covers purpose, return value, privacy, supported formats, size limit, and downstream usage. It is complete and self-sufficient.

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?

The input schema already covers file_path with a clear description (100% coverage). The description adds value by specifying allowed file types and the 48 MB limit, which gives the agent practical constraints beyond the raw schema.

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 ('Upload a local image or video file'), the target resource ('xAI Files API'), and the primary output ('get a file_id'). It also distinguishes itself from sibling tools (generate_video, edit_video, extend_video) by positioning the file_id as reusable input for those tools.

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 explains when to use it ('reusing the same asset across multiple calls without re-uploading') and specifies constraints (supported formats, max size). It does not explicitly state when not to use it or mention alternative methods, but the context is clear enough for a simple upload tool.

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.

  1. 4 tool updatesv1.8.0
    • First observededit_video
    • First observedextend_video
    • First observedgenerate_video
    • First observedupload_file

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: generate creates new videos, edit modifies existing ones, extend continues them, and upload_file handles file ingestion. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (generate_video, edit_video, extend_video, upload_file). The pattern is uniform and predictable.

Tool Count5/5

With 4 tools, the server is well-scoped for video generation. Each tool serves a necessary core function without redundancy or bloat.

Completeness5/5

The tool set covers the full video lifecycle: generate, edit, extend, and upload. There are no obvious missing operations for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers