grok-imagine-video について
grok-imagine-videoは、メッセージ画面からxAIのGrok Imagine APIを使って画像や動画を生成・編集するスキルです。独自のAPIキーを用意し、テキストからの制作や既存メディアの加工を行いたいユーザー向けです。
主な機能
- 01テキストからの画像生成
- 02自然言語による画像編集
- 03テキストからの動画生成
- 04静止画の動画化
- 05動画編集と非同期ジョブのポーリング
- 06ダウンロードとチャットでの配信
活用シーン
- 01説明文から複数の画像を生成
- 02動きのプロンプトで静止画をアニメーション化
- 03自然言語の指示で既存動画を編集
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ devvgwardo/ grok-imagine-video --skill grok-imagine-videoインストール後、Claude Code で/grok-imagine-videoを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreLICENSEREADME.mdCHANGELOG.md_meta.jsonpyproject.tomldocs/API_REFERENCE.mdreferences/api_reference.mdscripts/grok_video_api.pysrc/__init__.pygrok_video_api.pytests/test_grok_video_api.py__init__.py詳細
Grok Imagine Video
メッセージングインターフェースから xAI の Grok Imagine API を直接使用して動画を生成します。
セットアップ
重要: ご自身の xAI API キーが必要です。https://console.x.ai/ から取得してください。
インストール手順の詳細については、README.md を参照してください。
クイックセットアップ:
# Set your xAI API key (YOUR key, not pre-configured)
export XAI_API_KEY="your-api-key-here"
機能
- テキストから画像を生成:テキストの説明から画像を生成します(最大 10 種類)
- 画像編集:自然言語で画像を編集します
- テキストから動画を生成:テキストの説明から動画を作成します
- 画像から動画を生成:静止画像に動きを加えます
- 動画編集:自然言語で動画を編集します
- 非同期生成:ポーリングを使用して、時間のかかる動画生成ジョブを処理します
- 自動配信:チャット経由で画像や動画をダウンロードして配信します
ワークフロー
1. 画像生成
ユーザーの発言:「夜のサイバーパンクな街並みの画像を作成して」
python3 - << 'EOF'
import os
import sys
sys.path.insert(0, 'scripts')
from grok_video_api import GrokImagineVideoClient
client = GrokImagineVideoClient(os.getenv("XAI_API_KEY"))
result = client.generate_image("A cyberpunk cityscape at night, neon lights reflecting on wet streets")
print(f"Image URL: {result}")
EOF
画像はすぐに生成されます(ポーリングは不要です)。URL は一時的なため、速やかにダウンロードしてください。
1b. 画像編集
ユーザーの発言:「この画像を編集して、水彩画のようにして」
python3 - << 'EOF'
import os
import sys
sys.path.insert(0, 'scripts')
from grok_video_api import GrokImagineVideoClient
client = GrokImagineVideoClient(os.getenv("XAI_API_KEY"))
result = client.edit_image(
image_url="https://example.com/photo.jpg",
prompt="Make it look like a watercolor painting"
)
print(f"Edited image: {result}")
EOF
2. テキストから動画を生成
ユーザーの発言:「海に沈む夕日の動画を生成して」
# Use the Python client
python3 - << 'EOF'
import os
import sys
sys.path.insert(0, 'scripts')
from grok_video_api import GrokImagineVideoClient
client = GrokImagineVideoClient(os.getenv("XAI_API_KEY"))
result = client.text_to_video("A beautiful sunset over the ocean", duration=10)
print(f"Job started: {result['job_id']}")
EOF
3. 動画の生成完了を待つ
動画の生成には 1~3 分かかります。進捗を確認しながらポーリングします。
python3 - << 'EOF'
import os
import sys
sys.path.insert(0, 'scripts')
from grok_video_api import GrokImagineVideoClient
client = GrokImagineVideoClient(os.getenv("XAI_API_KEY"))
def progress(response):
print(f"Polling... {'Done!' if 'video' in response else 'Pending'}")
final = client.wait_for_completion("request-id-here", progress_callback=progress)
print(f"Video ready: {final['video']['url']}")
EOF
4. ダウンロードと配信
生成が完了した動画をワークスペースにダウンロードします。
python3 - << 'EOF'
import os
import sys
sys.path.insert(0, 'scripts')
from grok_video_api import GrokImagineVideoClient
client = GrokImagineVideoClient(os.getenv("XAI_API_KEY"))
output = "/data/workspace/videos/sunset.mp4"
client.download_video(final, output) # pass the full response dict
print(f"Downloaded: {output}")
EOF
画像から動画を生成
画像に動きを加えます。
from grok_video_api import GrokImagineVideoClient
client = GrokImagineVideoClient(api_key)
result = client.image_to_video(
image_url="https://example.com/photo.jpg",
prompt="Make the clouds move slowly",
duration=10
)
動画編集
既存の動画を編集します。
result = client.edit_video(
video_url="https://example.com/source.mp4",
edit_prompt="Add a warm sunset filter and slow down to 50% speed"
)
設定
重要: https://console.x.ai/ からご自身の API キーを取得してください。事前設定済みのキーは使用しないでください。
export XAI_API_KEY="sk-..."
OpenClaw との連携では、ワークスペースの .env に追加するか、ゲートウェイ設定で管理してください。
セットアップ手順の詳細については、README.md を参照してください。
エラー処理
よくあるエラーと対処方法:
- 認証エラー/API キー未設定:→ https://console.x.ai/ からキーを取得し、
export XAI_API_KEY="your-key"を設定してください。詳細は README.md を参照してください。 - レート制限:「リクエストが多すぎます」→ 待ってから再試行してください。
- コンテンツポリシー:「プロンプトがコンテンツポリシーに違反しています」→ プロンプトを言い換えてください。
- タイムアウト:ジョブに時間がかかりすぎました → 動画の長さを短くするか、複雑さを抑えてください。
API 呼び出しは必ず try/except で囲み、ユーザーにわかりやすいメッセージを表示してください。
ベストプラクティス
プロンプトの作成(画像):
- 描写を具体的にします:「ステンシルを使ったストリートアート風のロンドンの名所のコラージュ」
- スタイルを指定します:「夜明けの山の湖を描いた水彩画」
- 複数のバリエーション(
n=4)を使って、さまざまな解釈を試します。
プロンプトの作成(動画):
- 具体的に指定します:「晴れた草原を走るゴールデンレトリバー」
- カメラの動きを含めます:「左から右へのゆっくりとしたパン」
- 照明を指定します:「暖かみのあるゴールデンアワーの光」
パフォーマンス:
- 画像はすぐに生成されるため、ポーリングは不要です。
- 動画をより速く生成するには 480p、高画質にするには 720p を使用します。
- 必要な場合を除き、動画は 10 秒未満にしてください。
- まずテキストから動画を生成し、必要に応じて編集します。
ユーザーエクスペリエンス:
- 画像:生成後すぐに配信します。
- 動画:「動画を生成中です……45% 完了」のように進捗を知らせます。
- 動画の所要時間を伝えます:「2~3 分ほどかかります」
- 配信を確認します:「画像/動画はこちらです!」
制限
- 1 リクエストあたりの画像数:1~10
- 動画の長さ:1~15 秒
- 動画の解像度:480p(デフォルト)または 720p
- レート制限:1 分あたり 60 リクエスト
- 同時実行可能なジョブの最大数:15
API の詳細については、references/api_reference.md を参照してください。
他のスキルとの連携
- 後処理(トリミング、連結、フィルター)には
ffmpeg-video-editorと組み合わせます。 - 追加の動画エフェクトには
fal-aiを使用します。 - ソース画像には
image-generationスキルを連携します。
トラブルシューティング
ジョブが「pending」のまま進まない:API キーと利用枠を確認してください。
動画の生成が遅い:1080p ではなく 720p を試してください。
ジョブが失敗する:レスポンスの error_code を確認してください。API リファレンスを参照してください。
ダウンロードエラー:video_url にアクセスでき、有効期限が切れていないことを確認してください。