WitchRush Reference Video · skill Open Skill công khai
WitchRush Reference Video
WitchRush Reference Video là một Open Skill công khai trên Digen. Mở ra để xem workflow này tạo gì.
Custom
0 1 1
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284863/2026-10-20/ps8faesr.jpg
---
allowed-tools:
- generate_image
- generate_video
- recognize_image
---
# WitchRush Reference Video
Turn one uploaded character image into a short, cinematic Halloween-witch clip: the uploaded subject keeps its identity and is re-staged as a broomstick-riding witch under a full moon, framed by glowing pumpkins, bare trees, mist, and drifting green spirit flames.
There is no structured project state. Everything that must survive across turns (subject identity, chosen look, script) is written into the conversation as Markdown and referenced by canvas asset URLs.
## When to use
- The user uploads one or more character images and asks for a video in the WitchRush / Halloween witch style.
- The user asks to re-style, re-shoot, or lengthen an existing WitchRush clip.
- The user asks only for a witch-themed still frame of their upload — then skip the script and the video step.
## Inputs and outputs
| Input | How to use it |
|---|---|
| One reference image of the main character (required) | Goes into `generate_video` as `input_urls=[...]` with `model='ref2v'`. It locks face, hair, body, and costume silhouette. Never describe a different person in the prompt. |
| Extra reference images (optional) | Additional angles/outfits; pass all of them in `input_urls` so the channel can keep the subject consistent. |
| Text request (optional) | Sets mood, duration, camera preference, props, or a specific beat ("she laughs, then takes off"). |
| No image at all | Generate the subject first with `generate_image(model='t2i')` from the user's description, then treat that still as the reference image. |
Output: one short vertical video asset, plus a short natural-language summary. Never paste raw URLs.
## Steps
1. **Load visual rules.** Call `read_skill_file(name, path="references/style-and-prompt.md")` before writing any prompt. Every prompt in this skill must follow that file's palette, materials, lighting, layout, must-keep, and must-avoid rules.
2. **Read the upload.** Inspect the attached image directly. If the face, costume structure, or pose is ambiguous, call `recognize_image` with a prompt asking for identity features, wardrobe, pose, and framing. Follow the analysis checklist in `references/step-details.md` (section A) and write the extracted identity/costume facts into the reply as a short Markdown note so later turns can reuse them.
3. **Lock format and duration.** Default `orientation='portrait'` (9:16) and `resolution='1080P'`; switch to `landscape` only if the source image is clearly wide and the user wants to keep that framing. Duration: 5 seconds by default, 4–6 for a single action beat, up to 8 only if the user asks for a fuller sequence. See `references/step-details.md` (section B) for the decision branches.
4. **Write the script.** Call `read_skill_file(name, path="references/video-script.md")` and write a full English script for *this* request — logline, duration, 4–6 beats with shot size, camera move, subject action, light/atmosphere, and transitions. Use the user's wording and the image analysis; a generic template is not an acceptable script.
5. **Load motion rules.** Call `read_skill_file(name, path="references/video-content-constraints.md")` and apply its shot grammar, motion rules, ref2v constraints, and hard bans while turning the script into the prompt.
6. **Assemble the prompt.** Compress the script into one English video prompt using the blocks in `references/style-and-prompt.md` (style + subject + environment + camera + lighting) and the negative block. Keep it dense and concrete; assembly order and length limits are in `references/step-details.md` (section C).
7. **Generate the video.** Call:
`generate_video(prompt=<assembled prompt>, input_urls=[<uploaded image(s)>], model='ref2v', orientation='portrait', resolution='1080P', duration=5, name='WitchRush - <short subject name>', entity_type='final_videos')`
Pass the uploaded image or its canvas asset id directly. Do not add `gen_mode`;