A Claude Skill that lets the Claude in your session generate images, videos, music, and speech through Kie.ai — 300+ models including Sora 2, Veo 3.1, Kling, Suno, ElevenLabs, Seedream, Flux, Imagen, Ideogram, Topaz, and more.
You just ask. Claude picks the best model by cost × quality, runs the generation, and gives you the URL.
# 1. Clone into your Claude skills directory
git clone https://github.com/brotto/kieai-skill ~/.claude/skills/kieai
# 2. Save your Kie.ai API key (get one at https://kie.ai/api-key)
mkdir -p ~/.config/kieai
chmod 700 ~/.config/kieai
printf '%s' '<your key here>' > ~/.config/kieai/api-key
chmod 600 ~/.config/kieai/api-keyThat's it. Open any Claude Code session and try:
"Gera uma imagem de um gato samurai estilo ukiyo-e."
"Make a 10-second cinematic video of a wave breaking on a black-sand beach."
"Crie uma música upbeat sobre café da manhã, instrumental, 30 segundos."
"Convert this paragraph to speech in PT-BR with a calm female voice: ..."
Claude will read the catalog, pick the right model (e.g. sora-2-t2v at $0.15), confirm with you if the cost is over $0.15, then generate.
~/.claude/skills/kieai/
├── SKILL.md # the trigger — Claude reads this when you ask to generate media
├── models.json # curated catalog of ~27 Kie.ai models with cost + capabilities
├── scripts/
│ ├── generate.py # POST to Kie.ai, polls until done, prints result URL
│ └── credits.py # check your remaining Kie.ai credits
└── README.md
The skill has no Anthropic dependency — your Claude session is the orchestrator. No extra API costs beyond Kie.ai.
# Generate an image
python3 ~/.claude/skills/kieai/scripts/generate.py \
--model-key seedream-4-5-t2i \
--prompt "A samurai cat in ukiyo-e style"
# Check credits
python3 ~/.claude/skills/kieai/scripts/credits.py
# List all available models
python3 -c "import json; [print(m['key'], '—', m['displayName']) for m in json.load(open('$HOME/.claude/skills/kieai/models.json'))['models']]"The scripts look for the key in this order:
$KIEAI_API_KEYenvironment variable~/.config/kieai/api-keyfile
Option 2 is recommended — persistent and out of your shell history.
models.json covers ~27 curated models across 4 categories. The full Kie.ai catalog has 309 models; this skill picks the ones with the best cost/quality balance per use case. If you want a model not in the curated list, edit models.json locally — the schema is documented inline.
Refresh the snapshot date by replacing snapshotDate in models.json when pricing changes.
A web app would need its own LLM (Anthropic SDK), server, and UI. A skill puts the orchestration logic right inside whatever Claude session you're already using:
- Zero extra LLM cost — your Claude session is the brain.
- Zero infrastructure — no server, no deploy.
- Works anywhere Claude runs — Claude Code, claude.ai, IDE extensions.
- Easy to extend — just edit
SKILL.mdandmodels.json.
MIT — see LICENSE.
MVP. Known limitations:
- No automatic file upload (image-to-video needs a public image URL).
- 5-minute polling timeout — long Sora Pro / Veo Quality jobs may exceed this. Re-run with the returned
taskIdor check at https://kie.ai/logs. - 27 of Kie.ai's 309 models are curated. Add yours to
models.jsonto extend.
Pull requests welcome.