Skip to content
cccskills
FreePublished on GitHub

9router-video

Create videos from text or images through 9Router using xAI Grok Imagine. Set duration, aspect ratio, and resolution, then track the generation job and download the completed video as an MP4 file.

OriginalShow the original description

Generate videos via 9Router /v1/videos/generations using xAI Grok Imagine (grok-imagine-video). Async job flow - submit, poll request_id until done, download MP4. Use when the user wants to create, generate, or render a video, text-to-video (txt2vid), or image-to-video.

See how to install

Good for

  • Generate a video from a written scene description
  • Create a video from an existing image
  • Choose video duration, aspect ratio, and resolution
  • Track generation progress and save an MP4

Files included (1)

  • SKILL.md3.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

9Router — Video Generation (xAI Grok Imagine)

Requires NINEROUTER_URL (and NINEROUTER_KEY if auth enabled). See https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router/SKILL.md for setup.

Requires a connected xAI account in the 9Router dashboard — either Grok Build OAuth (SuperGrok / X Premium+ subscription sign-in) or a direct xAI API key from console.x.ai. The two are separate auth types with separate billing; the dashboard shows which one each connection uses.

Endpoints (async job flow)

Video generation is asynchronous: the POST returns a request_id immediately, then you poll until the job is done or failed.

EndpointPurpose
POST /v1/videos/generationstext-to-video / image-to-video
POST /v1/videos/editsedit an existing video
POST /v1/videos/extensionsextend an existing video
GET /v1/videos/{request_id}poll job status

Request fields (passed through to xAI unchanged — see https://docs.x.ai/developers/rest-api-reference/inference/videos):

FieldRequiredNotes
modelnoxai/grok-imagine-video (prefix is stripped before upstream)
promptyes for T2Vvideo description
durationnoseconds
aspect_rationo16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3
resolutionno480p, 720p, 1080p
imageno{ "url": "https://… or data:image/…;base64,…" } for image-to-video
videoedits/extensions{ "url": "…mp4" } or { "file_id": "…" }

Examples

Submit a job:

curl -X POST "$NINEROUTER_URL/v1/videos/generations" \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"xai/grok-imagine-video","prompt":"A cinematic tracking shot through a neon city at night","duration":8,"aspect_ratio":"16:9","resolution":"720p"}'
# → {"request_id":"abc123"}   (response header x-9router-connection-id: <id>)

Poll until done (echo the connection header back so the same account polls the job):

curl "$NINEROUTER_URL/v1/videos/abc123" \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "x-connection-id: <id from create response>"
# → {"status":"pending","progress":42}
# → {"status":"done","video":{"url":"https://…mp4","duration":8},"model":"grok-imagine-video"}
# → {"status":"failed","error":{"code":"…","message":"…"}}

Download: fetch video.url from the done response.

CLI one-shot

9router xai video \
  --prompt "A cinematic tracking shot through a neon city at night" \
  --output video.mp4
# options: --model --duration --aspect-ratio --resolution --image --timeout --port --api-key

Submits, polls with progress, downloads to video.mp4.part, atomically renames on success. Ctrl+C cancels cleanly; non-zero exit on failure.

Notes & limits

  • Jobs are account-bound upstream: poll with the same connection that created the job (x-connection-id header, value from the create response's x-9router-connection-id).
  • Creation POSTs are never auto-retried (a retry could create and bill two videos). Only a 401→token-refresh→single-retry is performed, which upstream rejects before job creation.
  • Video models are tagged kind: "video" and are excluded from chat model lists and chat fallback combos.
  • Grok Build subscription OAuth tokens are sent to the same api.x.ai/v1/videos endpoints as API keys; whether a given subscription tier includes video-generation quota is controlled by xAI and is not verified by 9Router — a 403/permission_denied from upstream means the connected account has no video access.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

9router

FreeSummary

Set up access to 9Router, a shared gateway for multiple AI providers, and discover available models. Find the relevant capability skills for chat, images, speech, embeddings, web search, and webpage retrieval.

  • Configure a local or remote 9Router connection
  • Check available models by capability
  • Find instructions for image or speech tasks
decolua/9router31KUpdated Oct 15, 2026

9router-chat

FreeSummary

Ask AI questions, generate code, and summarize text through 9Router using OpenAI or Anthropic request formats. Receive responses incrementally with streaming, and use provider combinations that automatically try another provider when needed.

  • Ask an AI model questions through 9Router
  • Generate code from written instructions
  • Summarize text with a selected model
decolua/9router31KUpdated Oct 15, 2026

Turn text into embeddings, numeric representations of meaning, through 9Router. Choose a model and process individual texts or batches to prepare data for meaning-based search, similarity comparisons, or RAG systems that retrieve reference material.

  • Preparing text vectors for meaning-based search
  • Generating embeddings for text similarity comparisons
  • Batch-processing reference passages for RAG
decolua/9router31KUpdated Oct 15, 2026

9router-image

FreeSummary

Generate images from written descriptions through 9Router using a choice of image models. Check each model’s supported settings, request an image, and receive a URL, encoded image data, or image bytes for saving to a file.

  • Creating a landscape image from a written description
  • Checking supported image sizes and quality settings
  • Saving generated images as files
decolua/9router31KUpdated Oct 15, 2026

9router-stt

FreeSummary

Transcribe audio files through 9Router using models from providers such as OpenAI, Groq, and Deepgram. Receive plain text, structured results with timestamps, or SRT and VTT subtitles, depending on the selected model’s support.

  • Transcribing recorded meetings or interviews
  • Creating SRT or VTT subtitles from audio
  • Getting transcriptions with timestamps
decolua/9router31KUpdated Oct 15, 2026

9router-tts

FreeSummary

Convert written text into speech through 9Router, choosing from multiple voice providers. Check available models and voices, then generate MP3 audio for narration, voiceovers, or reading text aloud.

  • Creating narration from a script
  • Turning written text into spoken audio
  • Checking available voices before generating speech
decolua/9router31KUpdated Oct 15, 2026

See all skills by decolua

Report a problem with this skill