Skip to content
Agentmart
Submit a tool

tokenhop-video

Generate videos via tokenhop /v1/videos/generations using xAI Grok Imagine (grok-imagine-video).

Skill by tokenhop

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/tokenhop-tokenhop-video

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Generate videos via tokenhop /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.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/tokenhop-video

What's inside

Skill name
tokenhop-video
Description
Generate videos via tokenhop /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.
License
MIT
Instructions
75 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (1)

  • SKILL.md

SKILL.md (first lines)

# tokenhop — Video Generation (xAI Grok Imagine)

Requires `TOKENHOP_URL` (and `TOKENHOP_KEY` if auth enabled). See <https://raw.githubusercontent.com/tokenhop/tokenhop/refs/heads/master/skills/tokenhop/SKILL.md> for setup.

If they are unset, use the legacy `NINEROUTER_URL` / `NINEROUTER_KEY` instead. <!-- legacy(9router): remove in v2 -->

Requires a connected **xAI account** in the tokenhop 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`.

| Endpoint                      | Purpose                        |
| ----------------------------- | ------------------------------ |
| `POST /v1/videos/generations` | text-to-video / image-to-video |
| `POST /v1/videos/edits`       | edit an existing video         |
| `POST /v1/videos/extensions`  | extend 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>):

| Field          | Required         | Notes                                                                |
| -------------- | ---------------- | -------------------------------------------------------------------- |
| `model`        | no               | `xai/grok-imagine-video` (prefix is stripped before upstream)        |
| `prompt`       | yes for T2V      | video description                                                    |
| `duration`     | no               | seconds                                                              |
| `aspect_ratio` | no               | `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3`                    |
| `resolution`   | no               | `480p`, `720p`, `1080p`                                              |
| `image`        | no               | `{ "url": "https://… or data:image/…;base64,…" }` for image-to-video |
| `video`        | edits/extensions | `{ "url": "…mp4" }` or `{ "file_id": "…" }`                          |

## Examples

Submit a job:

```bash
curl -X POST "$TOKENHOP_URL/v1/videos/generations" \
  -H "Authorization: Bearer $TOKENHOP_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-tokenhop-connection-id: <id>)
```

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

```bash
curl "$TOKENHOP_URL/v1/videos/abc123" \
  -H "Authorization: Bearer $TOKENHOP_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

```bash
tokenhop 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-tokenhop-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 tokenhop — a `403`/`permission_denied` from upstream means the connected account has no video access.

From tokenhop/tokenhop, MIT.

More from tokenhop/tokenhop

Signals

Stars
1
Forks
1
Open issues
7
Last commit (this folder)
Oct 2, 2026 (27 days ago)
Last release
Oct 23, 2026 (5 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from tokenhop

Cite this page

tokenhop-video skill. Agent Mart. https://agentmart.dev/skills/tokenhop-tokenhop-video (last updated 2026-10-24)