cli/skills/egaki/SKILL.md
AI image and video generation CLI. Use this skill to install egaki, configure auth, run help commands, and generate images or videos with provider keys or an Egaki subscription.
npx skillsauth add remorses/kimaki egakiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate AI images and videos from the terminal. Use this for text-to-image, image editing, mask-based edits, text-to-video, image-to-video, and model discovery.
pnpm add -g egaki
Run the full help output before using commands:
egaki --help
Do not truncate help output with head.
For subcommand details: egaki <command> --help (e.g. egaki image --help, egaki video --help, egaki login --help)
You can authenticate in two ways:
egaki loginIf using Egaki subscription, set it up first with egaki subscribe, then store
the key with egaki login --provider egaki --key egaki_....
When login requires a URL flow, run login in the background and send the login URL to the user so they can complete auth interactively.
# configure key interactively
egaki login
# show login status
egaki login --show
# subscribe to Egaki for all supported models
egaki subscribe
# check subscription usage
egaki usage
# generate an image
egaki image "a watercolor fox reading a map" -o fox.png
# select a model explicitly
egaki image "isometric floating city, soft colors" -m imagen-4.0-generate-001 -o city.png
# edit an existing image (local file or URL)
egaki image "add a red scarf and make it winter" --input portrait.jpg -o portrait-winter.png
egaki image "turn this into a manga panel" --input https://example.com/photo.jpg -o manga.png
# inpainting with a mask
egaki image "replace the sky with a dramatic sunset" --input scene.png --mask mask.png -o scene-sunset.png
# generate a video — use a 5 minute timeout, video generation is slow
egaki video "a paper boat drifting on a calm lake at sunrise" -o boat.mp4
# generate a video with a specific model
egaki video "timelapse of a stormy sea, cinematic" -m google/veo-3.1-fast-generate-001 --duration 6 -o storm.mp4
# cheap video model
egaki video "a cat walking on a rooftop at night" -m klingai/kling-v2.5-turbo-t2v --duration 5 -o cat.mp4
# image-to-video (model must support i2v)
egaki video "slowly animate the clouds" --input photo.jpg -m klingai/kling-v2.6-i2v -o animated.mp4
# discover all models (image + video)
egaki models
# filter by type
egaki models --type video
egaki models --type image
Video generation can be very slow — some models take 1–3 minutes per request.
Always use a command timeout of at least 5 minutes when invoking egaki video
from automation or agent workflows.
development
Opinionated TypeScript npm package template for ESM packages. Enforces src→dist builds with tsc, strict TypeScript defaults, explicit exports, and publish-safe package metadata. Use this when creating or updating any npm package in this repo.
documentation
Best practices for creating a SKILL.md file. Covers file structure, frontmatter, writing style, and where to place skills in a repository. Use when the user wants to create a new skill, update an existing skill, write a SKILL.md, or asks how skills work.
documentation
Best practices for creating a SKILL.md file. Covers file structure, frontmatter, writing style, and where to place skills in a repository. Use when the user wants to create a new skill, update an existing skill, write a SKILL.md, or asks how skills work.
tools
Centralized state management pattern using Zustand vanilla stores. One immutable state atom, functional transitions via setState(), and a single subscribe() for all reactive side effects. Based on Rich Hickey's "Simple Made Easy" principles: prefer values over mutable state, derive instead of cache, centralize transitions, and push side effects to the edges. Resource co-location in the same store is also valid when lifecycle management is safer that way. Also covers state encapsulation: keeping state local to its owner (closures, plugins, factory functions) so it doesn't leak across the app, reducing the blast radius of mutations. Also covers event sourcing: keeping a bounded event buffer and deriving state with pure functions instead of mutable flags, making event handlers easy to test and reason about. Use this skill when building any stateful TypeScript application (servers, extensions, CLIs, relays) to keep state simple, testable, and easy to reason about. ALWAYS read this skill when a project uses zustand/vanilla for state management outside of React.