# Sjinn Video Generation

> Generate videos with SJinn using the official sjinn video generate CLI command.

- Skill: `sjinn-ai/sjinn-video-generation` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add sjinn-ai/sjinn-video-generation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sjinn-ai/sjinn-video-generation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: sjinn-ai (https://skillmd.com/u/sjinn-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sjinn-ai/sjinn-video-generation

---


# SJinn Video Generation

Use this skill when the user wants to create a video from text or reference media, animate an image, use an end frame, or download a generated video through SJinn.

## Prerequisites

Before generating, quickly verify the CLI and login:

```bash
sjinn --version
sjinn auth whoami
```

The CLI must be `0.1.18` or newer for MiniMax H3 and Wan3. If either command fails or the CLI version is older, use `sjinn-setup` first.

## Workflow

1. Choose a model and options. For model-specific options, see `references/models.md`.
2. Prefer JSON output so results are easy to parse.
3. Use `--async` for long-running jobs unless the user explicitly wants to wait.
4. Use `--download [path]` only when the user asks to save the result locally.

## Commands

Text to video:

```bash
sjinn video generate --prompt "a cinematic dolly shot through a neon studio" --model veo3 --aspect 16:9 --async --json
```

Image to video from a URL:

```bash
sjinn video generate --prompt "slow camera push in, soft evening light" --image "https://example.com/frame.png" --model kling3 --duration 5 --json
```

Image to video from a local file:

```bash
sjinn video generate --prompt "animate this character turning toward camera" --image-urls "./character.png,./style-ref.png" --model gemini-omni-video --aspect 16:9 --duration 6 --async --json
```

Seedance 2.0 with multiple local references:

```bash
sjinn video generate --prompt "two consistent characters walking through a research lab" --model seedance2 --media-urls "./character-a.png,./character-b.png,./lab-reference.mp4" --duration 5 --mode fast --resolution 480p --async --json
```

Seedance 2.5 with image, video, and audio references:

```bash
sjinn video generate --model seedance2.5 --prompt "Use @Image 1 for the presenter and @Image 2 for the showroom styling, follow the movement in @Video 1, and use @Audio 1 as the soundtrack." --image-urls "./presenter.jpg,./showroom.png" --video-urls "./camera-motion.mp4" --audio-urls "./music-bed.wav" --duration 8 --aspect 16:9 --resolution 720p --async --json
```

For Seedance 2.5, use `--image-urls`, `--video-urls`, and `--audio-urls` for reference inputs. Reference markers map to each option's comma-separated order and count independently by media type: the first image is `@Image 1`, the first video is `@Video 1`, and the first audio file is `@Audio 1`. Only reference resources provided in the command. Do not combine them with `--image`, `--media-urls`, or `--mode`.

MiniMax H3 with a reference image (2K output):

```bash
sjinn video generate --model minimax-h3 --prompt "the character turns as the camera moves closer" --image-urls "./character.png" --duration 6 --async --json
```

Wan3 with a reference image and no prompt:

```bash
sjinn video generate --model wan3 --image-urls "./scene.png" --duration 10 --resolution 720p --async --json
```

For MiniMax H3 and Wan3, use `--image-urls`, `--video-urls`, and `--audio-urls` for references, including a single image. Do not use `--image`, `--mode`, `--multi-shot`, `--end-image`, or `--media-urls`. Only Wan3 can omit `--prompt`, and only when at least one reference is provided. Check `references/models.md` for reference counts and duration limits before submitting.

End-frame video:

```bash
sjinn video generate --prompt "transition from morning to sunset" --image "./start.png" --end-image "./end.png" --model veo3 --json
```

## Output Handling

On success, return the task ID, primary URL, any additional URLs, model, and elapsed time. If `status` is `created`, tell the user to query the task with `sjinn-task-status`.

On error, summarize the CLI error plainly and suggest `sjinn-setup` only when the error indicates the CLI is missing or unauthenticated.

