SKILL.md
Director
Run the production workflow in dependency order. Reuse every completed artifact and never repeat a paid generation merely because a later stage failed.
Use https://api.vidjutsu.ai with Authorization: Bearer <VIDJUTSUAPIKEY>. The generation and intelligence stages require an active subscription and share fixed daily limits.
Inputs
Collect the TikTok or Instagram source URL, a reusable character ID or character description, optional motion prompt, optional overlay text, and whether external ZapCap captions are wanted.
Pipeline
- Stage the source once. Use the platform-specific Vidjutsu download
method and retain its CDN url and assetId.
- Check cloneability. Call
POST /v1/clones/checkwith the staged
videoUrl. Treat returned {verdict,score,evidence,model} as authoritative; stop on weak unless the user explicitly overrides it.
- Extract frame zero. Call
POST /v1/extractwith
{ "mediaUrl": sourceUrl, "frames": [0] }; retain frames[0].url.
- Resolve identity. Reuse a tenant-owned
char_...ID, or call
POST /v1/characters once with {prompt, referenceImageUrl?}.
- Create the starting image. Call
POST /v1/clones/starting-imagewith
exactly {firstFrame, characterId, prompt}.
- Submit the clone. Call
POST /v1/clones/videowith
{startingImageUrl, sourceVideoUrl, model:"kling", prompt?}. Source clips must be 3–15 seconds.
- Persist and poll the Vidjutsu task ID. Read only
GET /v1/clones/video/{id}. While processing, resume later; on completed, retain videoUrl; on failed, report error.
- Run QA. Use
/director-qaon the completed Vidjutsu URL. - Post-process. Use
/editor-post-productiononly after QA passes.
Non-negotiable rules
- Kling 3.0 Motion Control is the sole clone-video model.
- Never use an alternate model, upstream task ID, or upstream status endpoint
in this workflow.
- Do not resubmit while a Vidjutsu task remains
processing. - Vidjutsu Watch and generation operations require an active subscription and
consume daily request capacity rather than per-operation charges.
- External captions or publishing remain separate and must be labeled as such.