Design & Frontend

9Router Video Generation (xAI Grok Imagine)

Generate, edit, and extend videos via 9Router's unified API using xAI Grok Imagine, with an async submit-poll-download job flow for text-to-video and image-to-video.

49/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 31k
Last updated
18d ago
License
MIT
text-to-videoimage-to-videoxai-grok-imagine9router
+3video-generationasync-job-pollingrest-api

What does this skill do, and when should you use it?

9router-video is one of nine skills bundled in the decolua/9router repository (MIT-licensed), located at skills/9router-video/SKILL.md. It wraps 9Router's /v1/videos/* endpoints, backed by xAI's grok-imagine-video model. Generation is asynchronous: the POST returns a request_id immediately, you poll until the job is done or failed, then download the MP4. It requires a running 9Router instance and a connected xAI account in the dashboard — either Grok Build OAuth (SuperGrok / X Premium+) or a direct xAI API key, which are separate auth types with separate billing. Creation requests are never auto-retried to avoid double billing, and jobs are bound to the connection that created them.

Submits text-to-video or image-to-video jobs to POST /v1/videos/generations with fields prompt, duration, aspect_ratio (16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3), resolution (480p/720p/1080p), and image (URL or base64 data URI); submits video edits to /v1/videos/edits and extensions to /v1/videos/extensions; polls GET /v1/videos/{request_id} until done or failed; downloads the MP4 from the done response's video.url; or runs the whole flow in one shot via 9router xai video, which polls with progress, downloads to video.mp4.part, and atomically renames on success. Polls must echo back the x-connection-id header from the create response.

Good fit
  • A developer producing short promo clips who types a text description and gets back a 720p/1080p MP4
  • A creator with a still image who wants to animate it via the image-to-video path using the image field
  • A user who needs to trim-edit or lengthen an existing video through the edits/extensions endpoints
  • A team wiring programmatic video generation into a pipeline using request_id polling as a background job
  • CLI-first users who prefer `9router xai video --prompt ... --output video.mp4` over raw API calls

How do you install this skill?

Before you use it
  • Video generation incurs real billing: a Grok Build OAuth (SuperGrok / X Premium+) subscription or an xAI API key is required, and whether a subscription tier includes video quota is not verified by 9Router — a 403 means no video access. Confirm pricing before use.
  • Core function depends entirely on overseas services (api.x.ai, 9Router endpoints, console.x.ai); mainland-China reachability is unverified and a proxy may be needed.
  • This is a static review with no executed requests; edge behavior such as poll timeouts and network interruption is untested.
  • Setup instructions live in a separate external SKILL.md; if that content changes, this skill's documentation may break.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
Install first
  • 9Router server (NINEROUTER_URL, optionally NINEROUTER_KEY)
  • connected xAI account (Grok Build OAuth or xAI API key)
  • curl or the 9router CLI

The skill ships inside the 9router repository: install the service with npm install -g 9router, then run 9router (dashboard at http://localhost:20128); or from source, run npm install then npm run dev in the repo. The skill file lives at skills/9router-video/SKILL.md — place it in your Agent Skills directory so compatible clients can discover it; the repo does not document per-client skill installation paths. Also connect an xAI account (Grok Build OAuth or an API key from console.x.ai) under Providers in the dashboard.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/decolua/9router.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/9router-video" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Generate a video: a cinematic tracking shot through a neon city at night, 8 seconds, 16:9, 720p.
  • Authorization: Bearer $NINEROUTER_KEY

Set NINEROUTER_URL (and NINEROUTER_KEY if auth is enabled). Example trigger prompt: "Generate a video: a cinematic tracking shot through a neon city at night, 8 seconds, 16:9, 720p." Manual call: curl -X POST "$NINEROUTER_URL/v1/videos/generations" -H "Authorization: Bearer $NINEROUTER_KEY" -H "Content-Type: application/" -d '{"model":"xai/grok-imagine-video","prompt":"...","duration":8,"aspect_ratio":"16:9","resolution":"720p"}', then poll GET /v1/videos/{request_id} with the x-connection-id header until done, and download video.url. Or one-shot: 9router xai video --prompt "..." --output video.mp4.

What are this skill's strengths and limitations?

Pros
  • Single unified gateway API with fields passed through unchanged to xAI — full coverage of generate, edit, and extend
  • Clean async design; the CLI handles submit, polling with progress, and atomic download in one command
  • Creation POSTs are never auto-retried, preventing duplicate billed videos
  • Video models are tagged kind: video and excluded from chat fallback combos, avoiding misuse
Limitations
  • Requires a connected xAI account; whether Grok subscription OAuth tiers include video quota is controlled by xAI and unverified by 9Router — a 403 means no video access
  • Polling must echo the same x-connection-id used at creation; querying across connections fails
  • No evidence of a dedicated test suite for this skill in the source; repository testing coverage is unknown
  • Only works while a 9Router instance is running; it cannot be used standalone

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
9Router Video Generation (xAI Grok Imagine) this page 49 · Use with care ★ 31k 18d ago MIT
Vox Director: One-Topic Vox-Style Collage Videos 56 · Use with care ★ 2.3k 20d ago MIT
Nano Banana Pro Prompts Recommender 50 · Use with care ★ 1.9k 11d ago —
Codex Image Generation Skill (imagegen) ✓ OpenAI · Official 56 · Use with care ★ 129k 11d ago Apache-2.0
Blog Image Creative Director 53 · Use with care ★ 2.4k 12d ago MIT

Calling xAI's official API (api.x.ai/v1/videos) directly is the obvious alternative; 9Router's value is the unified gateway, dashboard account management, and CLI wrapper. If you already hold an xAI API key and don't need a gateway, direct access works equally well.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
49/ 100 5-point scale 2.5 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust14 / 25 · 2.8/5

SKILL.md transparently discloses the data flow: requests pass through to api.x.ai, keys come from NINEROUTER_KEY env var, and it explicitly notes that subscription video quota is controlled by xAI and not verified by 9Router. No covert exfiltration, no overreach, and POSTs that could bill are deliberately never auto-retried, showing cost care. Deducted for: no user-confirmation mechanism described, incomplete rollback/cancellation coverage, unverified publisher, and setup delegated to an external document.

2Reliability9 / 20 · 2.3/5

Docs are self-consistent: async flow (submit→poll→download), connection-header binding, atomic .part rename in the CLI, clean Ctrl+C, non-zero exit codes, and a structured failure state (failed + error code/message) show good failure feedback. Deducted for: static review only — no committed tests or third-party execution evidence covering the skill's key paths, fabricated example responses, and unaddressed edge cases like poll timeouts or network interruption.

3Adaptability8 / 15 · 2.7/5

Trigger conditions are clear in the description (create/generate/render video, txt2vid, image-to-video), field tables distinguish required vs optional, and non-fit is partially disclosed (403 means no video access). Deducted for: complete dependence on overseas services (xAI, console.x.ai, 9Router endpoints) with no mainland-China reachability assessment; the implicit assumption that the user holds a paid Grok subscription or xAI API key is not stated as an explicit boundary; no declared Chinese-language support.

4Convention8 / 15 · 2.7/5

MIT license is explicit, the repo has versioning (0.5.69), release workflows and maintenance signals; docs are well layered (field tables, examples, Notes & limits) with known-limitation disclosure. Deducted for: setup depends on a raw external link to a different SKILL.md rather than a local path, no per-skill changelog/version mapping, and maintenance responsibility is only implied at the repository level.

5Effectiveness6 / 15 · 2.0/5

The core task path (text/image-to-video, polling, MP4 download) is fully described and the CLI one-shot yields a directly usable output file with clear marginal value (encapsulating async polling). Deducted for: unexecuted, success contingent on the user's existing paid xAI subscription/API key and 9Router configuration; cost/benefit evidence is thin and output correctness cannot be confirmed statically.

6Verifiability4 / 10 · 2.0/5

Field definitions link to the official xAI API reference, allowing cross-checking of request structure; the repo contains CI workflows and version-release evidence. Deducted for: no tests targeting this skill, no committed real execution outputs, all sample responses authored by the maintainer, and most key claims not independently reproducible from the static evidence.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 09, 2026 Reviewed revision eb712ca821f0 Review evidence[1][2][3][4][5][6][7][8][9]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does using this skill cost money?
9Router itself is free and never charges. Actual costs are determined on the xAI side: API keys are billed by xAI, and whether a Grok Build subscription tier includes video quota is up to xAI — a 403/permission_denied means the account has no video access.
Why can't I poll my job's status?
Jobs are account-bound: you must pass back the x-9router-connection-id value from the create response as the x-connection-id header so the same account polls the job.
Are failed submissions retried automatically?
No. Creation POSTs are never auto-retried, since a retry could create and bill two videos; only a 401 triggers token refresh plus a single retry, which upstream rejects before job creation.
What output parameters are supported?
aspect_ratio accepts 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3; resolution accepts 480p, 720p, 1080p; duration is in seconds. All are optional except prompt, which is required for text-to-video.

More skills from this repository

All from decolua/9router

Dev & Engineering

9Router Text-to-Speech

Turn text into MP3 audio through 9Router's unified /v1/audio/speech endpoint, drawing voices from OpenAI, ElevenLabs, Edge TTS, Deepgram, and more.

★ 31k FS 46 Use with care 18d ago
Dev & Engineering

9Router Image Generation Skill

Call text-to-image models from OpenAI, Gemini, FLUX, Stability and 40+ providers through one 9Router endpoint, letting AI coding agents generate images on demand.

★ 31k FS 52 Use with care 18d ago
Dev & Engineering

9Router Speech-to-Text Skill

Transcribe audio through one OpenAI-compatible endpoint that routes to Whisper, Groq, Gemini, Deepgram and more via 9Router.

★ 31k FS 48 Use with care 18d ago
Dev & Engineering

9Router Web Fetch

Turn any URL into markdown, text, or HTML via 9Router's /v1/web/fetch, routing across Jina Reader, Firecrawl, Tavily, Exa, and Ollama Cloud with automatic provider fallback.

★ 31k FS 51 Use with care 18d ago
Dev & Engineering

9Router Embeddings Skill

Generate vector embeddings via a running 9Router's /v1/embeddings endpoint, drawing on OpenAI, Gemini, Mistral, Voyage, Nvidia, and GitHub embedding models for RAG, semantic search, and similarity.

★ 31k FS 49 Use with care 18d ago
Dev & Engineering

9Router Web Search Skill

Aggregate web and X search from 11 providers (Tavily, Exa, Brave and more) through one 9Router /v1/search endpoint, so AI coding agents can search the web on demand.

★ 31k FS 48 Use with care 18d ago
Dev & Engineering

9Router Chat Skill

Call any LLM through the 9Router gateway using OpenAI or Anthropic API formats, with streaming and combo auto-fallback, so chat and code generation never stall on a single provider's quota.

★ 31k FS 47 Use with care 18d ago
Dev & Engineering

9Router Gateway Skill

Point AI coding tools at a local gateway that unifies 40+ free and low-cost model providers, with auto-fallback and RTK saving 20-40% tokens per request.

★ 31k FS 46 Use with care 18d ago

Related skills