Shotcraft
Agent skill

Video model match

Which video model can actually do what you are asking for — and what to do when none of them can.

The question it answers

You have a picture of a character and you want a video of her walking through a market. Most video models accept an image — but as frame one. So you get that exact photograph, animated: same pose, same crop, same background, now drifting slightly. What you meant was that character in a new shot. Those are two different controls, vendors call both of them a reference image, and which one a model supports decides whether it can do your job at all.

This skill finds that mismatch before you spend a generation on it, names the models that do support what you have, and when none of them do, gives you the two-model pipeline that does.

Free, no sign-up, no key, no network calls

Download the skill

8 files, 36 KB. Carries all 68 video models with their capabilities, the vendor URL each claim came from, and the date it was read (2026-08-17).

Download video-model-match-0926.zip

Regenerated when the records change. The web page is the version that gets corrected.

Install it

Claude Code

Unzip into either location and restart. The first is for you across every project, the second travels with the repository:

unzip video-model-match-0926.zip -d ~/.claude/skills/

unzip video-model-match-0926.zip -d .claude/skills/

Claude Desktop or claude.ai

Settings → Capabilities → Skills → upload the zip.

Any other agent that reads a skill folder

Unzip wherever it looks. The bundle is Markdown and JSON plus one standard-library Python script; nothing in it is specific to one vendor's agent.

Check it loaded

Ask: “which video models take a character reference and return audio?” You should get a list with dates and links, not a general answer.

Or run it without an agent

python3 scripts/match.py --list
python3 scripts/match.py --have character-reference --need audio,last-frame
python3 scripts/match.py --have first-frame --need api --duration 10 --json

Python 3.9 or newer. No dependencies.

What the data covers

A capability with no vendor statement either way is reported as exactly that. It is never counted as absent, because a recommender that treats silence as a no quietly hides models that may be right for you.

CapabilityDocumented as having itDocumented as notNo statement either way
Image as the opening frame5594
Closing frame or keyframes33287
Sound from the same generation20471

What it will not do

Common questions

Is my image a reference or a first frame?

It depends on the model, and the difference decides your result. A start-frame model treats your image as frame one, so a character photograph becomes that photograph animated — same pose, same crop, same background. An identity reference tells the model who is in the shot and lets the prompt decide the framing. Vendors call both a reference image. Far fewer models accept the second.

Which AI video models accept a character reference image?

Of the 68 video models on this site, 23 document a character or identity reference control. The skill lists them with the vendor URL and the date it was read, because this changes monthly.

What if no model does everything I need?

That is the common case and it has an answer. Generate the opening frame first with an image model that has an identity reference control, compose it properly, check it, then hand that frame to a start-frame video model and prompt only the motion. The skill carries five of these pipelines.

Does the skill need an API key or internet access?

No. The capability data ships inside the bundle and the matcher is standard-library Python. It makes no network calls.

All skills, and five proposed next · The capability matrix this is built from · Model directory · Prompt craft