# MiniCut CLI

AI video generation CLI for AI agents. Your agent runs minicut to write the script, generate the shots, add voice and music, and cut the final video. Agent harness for AI generated media.

## Install

Set up every coding agent on this computer:

```bash Terminal
npx @minicut/cli setup
```

Or install the `minicut` command for the whole machine:

```bash Terminal
npm i -g @minicut/cli
```

Or add only the skills, through the `skills` tool ([Skills](/skills)):

```bash Terminal
npx skills add lliu56/minicut-skills
```

## Coding agents

`minicut setup` puts the MiniCut skills in the folder each of these coding agents reads. To set up one agent only, run its line.

| Coding agent | Skills folder | Install |
|---|---|---|
| Claude Code | `~/.claude/skills` | `minicut install-skill --app claude-code` |
| Codex | `~/.agents/skills` | `minicut install-skill --app codex` |
| OpenCode | `~/.agents/skills` | `minicut install-skill --app opencode` |
| CodeBuddy Code | `~/.codebuddy/skills` | `minicut install-skill --app codebuddy` |
| TRAE | `~/.trae-cn/skills` | `minicut install-skill --app trae` |
| Qoder and Qoder CN | `~/.qoder/skills` | `minicut install-skill --app qoder` |
| Qwen Code | `~/.qwen/skills` | `minicut install-skill --app qwen` |
| Kimi Code | `~/.agents/skills` | `minicut install-skill --app kimi` |
| DeepSeek Harness (developer preview) | `~/.agents/skills` | `minicut install-skill --app deepseek` |
| Cursor | `~/.agents/skills` | `minicut install-skill --app cursor` |
| Cline | `~/.cline/skills` | `minicut install-skill --app cline` |

## Commands

Free commands. Each output below was printed by the command when the tests ran it, signed out, with paths and times masked. Every command takes `--json` and exits with a fixed code ([Integrations](/docs/cli/integrations)).

### Check one AI video clip for problems

```bash Terminal
minicut check take take.mp4 --json
```

```json Output, exit 0
{
  "ok": true,
  "type": "mh.verdict",
  "check": "take",
  "at": "<volatile>",
  "clip": null,
  "take": "<dir>/take.mp4",
  "kind": "file",
  "seconds": 2,
  "window": [
    0,
    2
  ],
  "result": "pass",
  "failures": [],
  "notes": [
    "no --lines file: the spoken words were not checked (add --lines <text file> to check them, free, local speech engine)",
    "the look is not checked here: minicut check zoom <dir>/take.mp4 --json writes full-size pictures to look at"
  ],
  "sheet": null,
  "readback": null,
  "takes_made": null,
  "cap": null
}
```

### List the AI video models and their prices

```bash Terminal
minicut models --kind video --json
```

```json Output, exit 0
{
  "ok": true,
  "live": true,
  "fetched_at": "<volatile>",
  "models": [
    {
      "cli_name": "seedance-2.0",
      "name": "Seedance 2.0",
      "kind": "video",
      "from_credits": 2.648067,
      "status": "locked"
    },
    {
      "cli_name": "wan-3.0",
      "name": "Wan 3.0",
      "kind": "video",
      "from_credits": 1.75,
      "status": "unavailable"
    },
    {
      "cli_name": "seedance-2.5",
      "name": "Seedance 2.5",
      "kind": "video",
      "from_credits": 4.082203,
      "status": "locked"
    },
    {
      "cli_name": "seedance-2.0-mini",
      "name": "Seedance 2.0 Mini",
      "kind": "video",
      "from_credits": 1.39859,
      "status": "locked"
    },
    {
      "cli_name": "seedance-1.5-pro",
      "name": "Seedance 1.5 Pro",
      "kind": "video",
      "from_credits": 0.239754,
      "status": "locked"
    },
    {
      "cli_name": "seedance-1.0-pro-fast",
      "name": "Seedance 1.0 Pro Fast",
      "kind": "video",
      "from_credits": 0.189148,
      "status": "locked"
    },
    {
      "cli_name": "kling-4",
      "name": "Kling 4",
      "kind": "video",
      "from_credits": 5.495,
      "status": "locked"
    },
    {
      "cli_name": "kling-4-edit",
      "name": "Kling 4 Edit",
      "kind": "video",
      "from_credits": 6.58,
      "status": "locked"
    },
    {
      "cli_name": "kling-v3.0",
      "name": "Kling v3.0",
      "kind": "video",
      "from_credits": 2.94,
      "status": "locked"
    },
    {
      "cli_name": "kling-3.0-turbo",
      "name": "Kling 3.0 Turbo",
      "kind": "video",
      "from_credits": 4.9,
      "status": "locked"
    },
    {
      "cli_name": "kling-2.6",
      "name": "Kling 2.6 Video",
      "kind": "video",
      "from_credits": 2.45,
      "status": "locked"
    },
    {
      "cli_name": "wan-2.7",
      "name": "Wan 2.7",
      "kind": "video",
      "from_credits": 3.5,
      "status": "locked"
    },
    {
      "cli_name": "veo-3.1",
      "name": "Google Veo 3.1",
      "kind": "video",
      "from_credits": 3.5,
      "status": "locked"
    },
    {
      "cli_name": "veo-3.1-lite",
      "name": "Google Veo 3.1 Lite",
      "kind": "video",
      "from_credits": 1.05,
      "status": "locked"
    },
    {
      "cli_name": "h3-max",
      "name": "H3 Max",
      "kind": "video",
      "from_credits": 1.75,
      "status": "unavailable"
    },
    {
      "cli_name": "h3-max-lipsync",
      "name": "H3 Max Lip Sync",
      "kind": "video",
      "from_credits": 1.75,
      "status": "unavailable"
    },
    {
      "cli_name": "h3-max-camera",
      "name": "H3 Max Camera Controls",
      "kind": "video",
      "from_credits": 1.75,
      "status": "unavailable"
    },
    {
      "cli_name": "h3-max-insert",
      "name": "H3 Max Insert Video",
      "kind": "video",
      "from_credits": 1.75,
      "status": "unavailable"
    },
    {
      "cli_name": "h3-max-turbo",
      "name": "H3 Max Turbo",
      "kind": "video",
      "from_credits": 0.875,
      "status": "unavailable"
    },
    {
      "cli_name": "minimax-h3",
      "name": "MiniMax H3",
      "kind": "video",
      "from_credits": 1.75,
      "status": "locked"
    },
    {
      "cli_name": "minimax-hailuo",
      "name": "MiniMax Hailuo",
      "kind": "video",
      "from_credits": 0.595,
      "status": "unavailable"
    },
    {
      "cli_name": "grok-video-1.5",
      "name": "Grok Video 1.5",
      "kind": "video",
      "from_credits": 2.8,
      "status": "locked"
    },
    {
      "cli_name": "grok-video-1.5-lite",
      "name": "Grok Video 1.5 Lite",
      "kind": "video",
      "from_credits": 0.7,
      "status": "locked"
    },
    {
      "cli_name": "gemini-omni-flash",
      "name": "Gemini Omni Flash",
      "kind": "video",
      "from_credits": 4.375,
      "status": "locked"
    },
    {
      "cli_name": "flux-3-video",
      "name": "FLUX 3 Video",
      "kind": "video",
      "from_credits": 5.95,
      "status": "locked"
    },
    {
      "cli_name": "happy-horse",
      "name": "Happy Horse Video",
      "kind": "video",
      "from_credits": 4.9,
      "status": "locked"
    },
    {
      "cli_name": "omnihuman-1.5",
      "name": "OmniHuman 1.5",
      "kind": "video",
      "from_credits": 5.6,
      "status": "unavailable"
    },
    {
      "cli_name": "kling-o3",
      "name": "Kling O3",
      "kind": "video",
      "from_credits": 3.92,
      "status": "locked"
    },
    {
      "cli_name": "kling-o3-omni",
      "name": "Kling O3 Omni",
      "kind": "video",
      "from_credits": 3.92,
      "status": "locked"
    },
    {
      "cli_name": "kling-o1",
      "name": "Kling O1",
      "kind": "video",
      "from_credits": 3.92,
      "status": "locked"
    },
    {
      "cli_name": "kling-2.5-turbo-pro",
      "name": "Kling 2.5 Turbo Pro",
      "kind": "video",
      "from_credits": 2.45,
      "status": "locked"
    },
    {
      "cli_name": "kling-2.1-pro",
      "name": "Kling 2.1 Pro",
      "kind": "video",
      "from_credits": 3.43,
      "status": "locked"
    },
    {
      "cli_name": "kling-motion-control",
      "name": "Kling Motion Control",
      "kind": "video",
      "from_credits": 5.88,
      "status": "unavailable"
    },
    {
      "cli_name": "seedance-1.0-pro",
      "name": "Seedance 1.0 Pro",
      "kind": "video",
      "from_credits": 0.472869,
      "status": "locked"
    },
    {
      "cli_name": "wan-2.6",
      "name": "Wan 2.6",
      "kind": "video",
      "from_credits": 3.5,
      "status": "locked"
    },
    {
      "cli_name": "wan-2.5",
      "name": "Wan 2.5",
      "kind": "video",
      "from_credits": 1.75,
      "status": "locked"
    },
    {
      "cli_name": "wan-2.2",
      "name": "Wan 2.2",
      "kind": "video",
      "from_credits": 1.4175,
      "status": "unavailable"
    },
    {
      "cli_name": "wan-3.0-prime",
      "name": "Wan 3.0 Prime",
      "kind": "video",
      "from_credits": 2.38,
      "status": "locked"
    },
    {
      "cli_name": "hailuo-2.3",
      "name": "MiniMax Hailuo 2.3",
      "kind": "video",
      "from_credits": 3.43,
      "status": "unavailable"
    },
    {
      "cli_name": "hailuo-2.3-fast",
      "name": "MiniMax Hailuo 2.3 Fast",
      "kind": "video",
      "from_credits": 2.31,
      "status": "unavailable"
    }
  ],
  "page": 1,
  "limit": 40,
  "total": 47,
  "next_page": 2,
  "details": "minicut models <name> --json"
}
```

### Read one model's settings and price

```bash Terminal
minicut models seedance-2.5 --json
```

```json Output, exit 0
{
  "ok": true,
  "live": true,
  "fetched_at": "<volatile>",
  "model": {
    "cli_name": "seedance-2.5",
    "name": "Seedance 2.5",
    "maker": "ByteDance",
    "picture": "https://www.minicut.ai/models/seedance-2.5.webp",
    "kind": "video",
    "available": true,
    "locked": true,
    "page_url": "https://www.minicut.ai/models/seedance-2.5",
    "settings": {
      "resolutions": [
        "480p",
        "720p",
        "1080p"
      ],
      "quality": null,
      "seconds": {
        "min": 4,
        "max": 30,
        "step": 1,
        "list": null,
        "auto": false
      },
      "ratios": [
        "21:9",
        "16:9",
        "4:3",
        "1:1",
        "3:4",
        "9:16"
      ],
      "ratio_default": "16:9",
      "sound": {
        "default": true
      },
      "images_per_call": null,
      "references": {
        "image": 30,
        "video": 0,
        "audio": 0
      },
      "prompt_max_chars": null,
      "size": null,
      "voices": null,
      "controls": [
        {
          "word": "bitrate-mode",
          "label": "Bitrate Mode",
          "type": "choice",
          "advanced": true,
          "values": [
            "standard",
            "high"
          ],
          "default": "standard"
        },
        {
          "word": "codec",
          "label": "Codec",
          "type": "choice",
          "advanced": true,
          "values": [
            "auto",
            "H264",
            "H265"
          ],
          "default": "auto"
        }
      ]
    },
    "limits": {
      "kind": "video",
      "seconds": {
        "min": 4,
        "max": 30,
        "step": 1,
        "list": null,
        "auto": false
      },
      "refs_max": {
        "image": 30,
        "video": 0,
        "audio": 0
      },
      "ratios": [
        "21:9",
        "16:9",
        "4:3",
        "1:1",
        "3:4",
        "9:16"
      ],
      "resolutions": [
        "480p",
        "720p",
        "1080p"
      ],
      "max_pixels": null,
      "prompt_max_chars": null,
      "audio_seconds": null
    },
    "prices": {
      "rows": [
        {
          "when": {},
          "credits": {
            "480p": 7.25725,
            "720p": 16.555,
            "1080p": 39.8034
          }
        },
        {
          "when": {
            "ratio": "21:9"
          },
          "credits": {
            "480p": 9.525141,
            "720p": 21.728438,
            "1080p": 52.241963
          }
        },
        {
          "when": {
            "ratio": "4:3"
          },
          "credits": {
            "480p": 5.442938,
            "720p": 12.41625,
            "1080p": 29.85255
          }
        },
        {
          "when": {
            "ratio": "1:1"
          },
          "credits": {
            "480p": 4.082203,
            "720p": 9.312188,
            "1080p": 22.389413
          }
        },
        {
          "when": {
            "ratio": "3:4"
          },
          "credits": {
            "480p": 5.442938,
            "720p": 12.41625,
            "1080p": 29.85255
          }
        },
        {
          "when": {
            "prompt_only": true
          },
          "credits": {
            "480p": 7.7175,
            "720p": 16.555,
            "1080p": 40.74
          }
        },
        {
          "when": {
            "references": true
          },
          "credits": {
            "480p": 7.7175,
            "720p": 16.555,
            "1080p": 40.74
          }
        },
        {
          "when": {
            "prompt_only": true,
            "ratio": "21:9"
          },
          "credits": {
            "480p": 10.129219,
            "720p": 21.728438,
            "1080p": 53.47125
          }
        },
        {
          "when": {
            "prompt_only": true,
            "ratio": "4:3"
          },
          "credits": {
            "480p": 5.788125,
            "720p": 12.41625,
            "1080p": 30.555
          }
        },
        {
          "when": {
            "prompt_only": true,
            "ratio": "1:1"
          },
          "credits": {
            "480p": 4.341094,
            "720p": 9.312188,
            "1080p": 22.91625
          }
        },
        {
          "when": {
            "prompt_only": true,
            "ratio": "3:4"
          },
          "credits": {
            "480p": 5.788125,
            "720p": 12.41625,
            "1080p": 30.555
          }
        },
        {
          "when": {
            "references": true,
            "ratio": "21:9"
          },
          "credits": {
            "480p": 10.129219,
            "720p": 21.728438,
            "1080p": 53.47125
          }
        },
        {
          "when": {
            "references": true,
            "ratio": "4:3"
          },
          "credits": {
            "480p": 5.788125,
            "720p": 12.41625,
            "1080p": 30.555
          }
        },
        {
          "when": {
            "references": true,
            "ratio": "1:1"
          },
          "credits": {
            "480p": 4.341094,
            "720p": 9.312188,
            "1080p": 22.91625
          }
        },
        {
          "when": {
            "references": true,
            "ratio": "3:4"
          },
          "credits": {
            "480p": 5.788125,
            "720p": 12.41625,
            "1080p": 30.555
          }
        },
        {
          "when": {
            "references": true,
            "clip": true
          },
          "credits": {
            "480p": 4.6305,
            "720p": 9.933,
            "1080p": 24.444
          }
        },
        {
          "when": {
            "references": true,
            "clip": true,
            "ratio": "21:9"
          },
          "credits": {
            "480p": 6.077531,
            "720p": 13.037063,
            "1080p": 32.08275
          }
        },
        {
          "when": {
            "references": true,
            "clip": true,
            "ratio": "4:3"
          },
          "credits": {
            "480p": 3.472875,
            "720p": 7.44975,
            "1080p": 18.333
          }
        },
        {
          "when": {
            "references": true,
            "clip": true,
            "ratio": "1:1"
          },
          "credits": {
            "480p": 2.604656,
            "720p": 5.587313,
            "1080p": 13.74975
          }
        },
        {
          "when": {
            "references": true,
            "clip": true,
            "ratio": "3:4"
          },
          "credits": {
            "480p": 3.472875,
            "720p": 7.44975,
            "1080p": 18.333
          }
        }
      ],
      "default_tier": "720p",
      "default_seconds": 5,
      "per_reference": null,
      "per_input_second": [
        {
          "when": {
            "references": true,
            "clip": true
          },
          "credits": {
            "480p": 4.6305,
            "720p": 9.933,
            "1080p": 24.444
          }
        },
        {
          "when": {
            "references": true,
            "clip": true,
            "ratio": "21:9"
          },
          "credits": {
            "480p": 6.077531,
            "720p": 13.037063,
            "1080p": 32.08275
          }
        },
        {
          "when": {
            "references": true,
            "clip": true,
            "ratio": "4:3"
          },
          "credits": {
            "480p": 3.472875,
            "720p": 7.44975,
            "1080p": 18.333
          }
        },
        {
          "when": {
            "references": true,
            "clip": true,
            "ratio": "1:1"
          },
          "credits": {
            "480p": 2.604656,
            "720p": 5.587313,
            "1080p": 13.74975
          }
        },
        {
          "when": {
            "references": true,
            "clip": true,
            "ratio": "3:4"
          },
          "credits": {
            "480p": 3.472875,
            "720p": 7.44975,
            "1080p": 18.333
          }
        }
      ],
      "per_character": null
    },
    "from_credits": 4.082203,
    "prompt_rules": {
      "binding_token": null,
      "time_format": null,
      "crop": null,
      "lines": []
    },
    "inputs": {
      "start_frame": true,
      "end_frame": true,
      "source": false,
      "image_refs": 30,
      "video_refs": 1,
      "audio_refs": 1,
      "billed_by": []
    },
    "modes": [
      "text",
      "firstFrame",
      "firstLast",
      "reference"
    ]
  }
}
```

## Pricing

Commands that run on this computer are free and need no sign-in. Generation is paid in credits. One credit is $0.05 at list price, and plans make a credit cheaper. Price for one second of video at the house resolution, 9:16, with sound on the models that make sound:

| Model | ID | Maker | Credits | Price | Unit |
|---|---|---|---|---|---|
| Seedance 2.5 | `seedance-2.5` | ByteDance | 16.555 | $0.8278 | per second at 720p |
| Seedance 2.0 | `seedance-2.0` | ByteDance | 10.619 | $0.531 | per second at 720p |
| Seedance 2.0 Mini | `seedance-2.0-mini` | ByteDance | 5.4145 | $0.2707 | per second at 720p |
| Kling 4 | `kling-4` | Kling | 5.495 | $0.2748 | per second at 720p |
| Kling 4 Edit | `kling-4-edit` | Kling | 6.58 | $0.329 | per second at 720p |
| Kling v3.0 | `kling-v3.0` | Kling | 4.41 | $0.2205 | per second |
| Kling 3.0 Turbo | `kling-3.0-turbo` | Kling | 4.9 | $0.245 | per second |
| Wan 3.0 | `wan-3.0` | Alibaba | 3.5 | $0.175 | per second at 720p |
| Wan 2.7 | `wan-2.7` | Alibaba | 3.5 | $0.175 | per second at 720p |
| Google Veo 3.1 | `veo-3.1` | Google | 5.25 | $0.2625 | per second at 720p |
| Google Veo 3.1 Lite | `veo-3.1-lite` | Google | 1.75 | $0.0875 | per second at 720p |
| H3 Max | `h3-max` | MiniMax | 2.8 | $0.14 | per second at 768P |
| H3 Max Lip Sync | `h3-max-lipsync` | MiniMax | 2.8 | $0.14 | per second at 768P |
| H3 Max Camera Controls | `h3-max-camera` | MiniMax | 2.8 | $0.14 | per second at 768P |
| H3 Max Insert Video | `h3-max-insert` | MiniMax | 2.1 | $0.105 | per second at 768p |
| H3 Max Turbo | `h3-max-turbo` | MiniMax | 1.4 | $0.07 | per second at 768P |
| MiniMax H3 | `minimax-h3` | MiniMax | 2.1 | $0.105 | per second at 768P |
| Grok Video 1.5 | `grok-video-1.5` | xAI | 4.9 | $0.245 | per second at 720p |
| Grok Video 1.5 Lite | `grok-video-1.5-lite` | xAI | 1.12 | $0.056 | per second at 720p |
| Gemini Omni Flash | `gemini-omni-flash` | Google | 4.4992 | $0.225 | per second |
| FLUX 3 Video | `flux-3-video` | Black Forest Labs | 5.95 | $0.2975 | per second at 720p |
| Happy Horse Video | `happy-horse` | Alibaba | 4.9 | $0.245 | per second at 720p |
| OmniHuman 1.5 | `omnihuman-1.5` | ByteDance | 5.6 | $0.28 | per second at 720p |
| Kling O3 | `kling-o3` | Kling | 4.9 | $0.245 | per second |
| Kling O3 Omni | `kling-o3-omni` | Kling | 4.9 | $0.245 | per second |
| Kling Motion Control | `kling-motion-control` | Kling | 5.88 | $0.294 | per second |
| Wan 3.0 Prime | `wan-3.0-prime` | Alibaba | 4.9 | $0.245 | per second at 720p |
| Vidu Q3 | `vidu-q3` | Vidu | 5.39 | $0.2695 | per second at 720p |
| Pixverse V6 | `pixverse-v6` | PixVerse | 2.1 | $0.105 | per second at 720p |
| Pixverse V5.5 | `pixverse-v5.5` | PixVerse | 1.75 | $0.0875 | per second at 720p |

Every model and kind: [/models.md](/models.md). Plans: [/pricing.md](/pricing.md). Read prices from a terminal: `minicut models --kind video --json`.

Updated 2026-11-12.
