# Grok Image To Video

Animate a local image into a short mp4 video through Hermes Web UI using xAI Grok Imagine.

- Repository: https://github.com/EKKOLearnAI/ekko-studio (11634 stars)
- Category: Design
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add EKKOLearnAI/ekko-studio --skill grok-image-to-video -g -a claude-code -y`
Codex: `npx skills add EKKOLearnAI/ekko-studio --skill grok-image-to-video -g -a codex -y`
Cursor: `npx skills add EKKOLearnAI/ekko-studio --skill grok-image-to-video -g -a cursor -y`
Gemini CLI: `npx skills add EKKOLearnAI/ekko-studio --skill grok-image-to-video -g -a gemini-cli -y`

## Description

Animate a local image into a short mp4 video through Hermes Web UI using xAI Grok Imagine.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Grok Image To Video

Use this skill when the user wants to animate a local image into a short video with xAI Grok Imagine.

Do not use any built-in image or video generation tool as a fallback. If the Hermes Web UI endpoint returns `401`, `403`, connection failure, or any other error, stop and report the Hermes Web UI error to the user.

## Workflow

Call the local Hermes Web UI media endpoint. Pass a local image path; the server will check for xAI credentials, read the file, convert it to a base64 data URI, call xAI, poll until completion, and optionally save the generated mp4.

Endpoint:

```bash
POST <Hermes Web UI base URL>/api/studio/media/grok-image-to-video
```

Resolve the Hermes Web UI base URL in this order:

1. `HERMES_WEB_UI_URL` environment variable, if set.
2. `http://127.0.0.1:${PORT}`, if `PORT` is set.
3. `http://127.0.0.1:8648` for the Web UI single-server default.

Common local ports:

- Development API backend: `http://127.0.0.1:8647`. Use this with `npm run dev`; do not target the Vite frontend port.
- Web UI single-server default: `http://127.0.0.1:8648`.
- Desktop app default: `http://127.0.0.1:8748`.
- Custom port: set `HERMES_WEB_UI_URL` to the full base URL, or set `PORT` to use `http://127.0.0.1:${PORT}`.

When Hermes Web UI is running from the provided Docker Compose setup, the default external URL is `http://127.0.0.1:6060`.

Authentication:

The endpoint is protected by Hermes Web UI auth. Always send the Hermes Web UI server bearer token. This token is accepted only by Hermes Web UI media generation endpoints for agent skills; it is not a general Web UI login token.

Resolve the token in this order:

1. `AUTH_TOKEN` environment variable, if set.
2. `${HERMES_WEB_UI_HOME}/.token`, if `HERMES_WEB_UI_HOME` is set.
3. `${HERMES_WEBUI_STATE_DIR}/.token`, if `HERMES_WEBUI_STATE_DIR` is set.
4. `~/.hermes-web-ui/.token`.

Profile selection:

Use the current Hermes profile from the run instructions by sending `X-Hermes-Profile`.

The rest: https://github.com/EKKOLearnAI/ekko-studio/blob/HEAD/packages/skills/grok-image-to-video/SKILL.md
