20s Character Reference Video · সর্বজনীন Open Skill
20s Character Reference Video
20s Character Reference Video Digen-এ একটি সর্বজনীন Open Skill। খুলে দেখুন এই ওয়ার্কফ্লো কী তৈরি করে।
Custom
1 2 2
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284863/2026-10-20/yr87tpwy.jpg
---
allowed-tools:
- generate_image
- generate_video
- recognize_image
---
# 20s Character Reference Video
Turn one uploaded character image plus a short written idea into a single ~20-second character-consistent reference video (ref2v style, turbo / fast-and-cheap look). There is no structured project state: the character, the idea and the script live in this conversation and on the canvas.
## When to use
- The user uploads a character/persona image and writes a video idea ("make him walk through a neon alley").
- The user wants a 20-second character reference clip at a low, fast, cheap quality tier.
- The user wants a new take on an already generated character clip with the same character.
Do not use it for: pure still-image requests (skip video entirely), long-form multi-scene films, subtitle/knowledge edits of existing footage, or NSFW content.
## Inputs and outputs
- Input: a reference image (the character) and a short text idea. Both feed the prompt — see `references/style-and-prompt.md` for how the image and the text are combined.
- Output: one short video clip, ~20 seconds, placed on the canvas as `final_videos`.
## Steps
1. **Read the operating checklist first.** `read_skill_file(name="character-reference-video-20s", path="references/workflow-stages.md")` and follow its intake checks, branches (no image / still-image-only / redo request) and retry rules.
2. **Lock the character.** If the user supplied an image, use it as-is. Optionally call `recognize_image(image_url=<reference>)` with a short prompt to note hair, face, outfit, palette and props so the script stays faithful. If the user gave no image, create one first: `generate_image(prompt=<character description>, model='t2i', orientation=<matching ratio>, name='Character reference', entity_type='characters')`; if the user supplied a rough sketch or a style reference to restyle, use `model='i2i.hd.lite'` with `input_urls=[that image]` instead.
3. **Load the visual rules.** `read_skill_file(name="character-reference-video-20s", path="references/style-and-prompt.md")`. Build the style / subject / layout / must-keep / must-avoid blocks and the English prompt fragments exactly as that file specifies — do not improvise the look.
4. **Write this request's script.** `read_skill_file(name="character-reference-video-20s", path="references/video-script.md")`, then write a complete English 20-second script for *this* user's idea and *this* reference image (logline, beat-by-beat shots, shot sizes, camera moves, subject action, light and mood, transitions, must-keep / must-avoid). This script is the deliverable of this step — never reuse a boilerplate block as the finished script.
5. **Apply the clip limits.** `read_skill_file(name="character-reference-video-20s", path="references/video-content-constraints.md")` and check the script against the 20-second / ref2v / low-resolution constraints; fix anything that violates them.
6. **Compress the script into the video prompt.** Condense the script from step 4 into one ordered English prompt using the assembly rules in `references/style-and-prompt.md` and `references/video-script.md` (subject identity → action beats → camera → light/color → mood → avoid-list).
7. **Generate the video.** Call `generate_video` with:
- `prompt` = the compressed prompt from step 6
- `input_urls` = `[reference image]` (asset id, s3:// uri, or https URL — never a fabricated link)
- `model='ref2v'` (reference-to-video; this is the only video channel for this skill)
- `orientation` = `portrait` by default (the app is a vertical character card); switch to `landscape` or `square` only if the user asks for that ratio or their reference image is clearly another ratio. Never pass pixel sizes; if the user demands a non-standard ratio such as 3:4, that is the only case where `aspect_ratio` may be passed.
- `resolution='480P'` as the fast-and-cheap default (the app's own tier is 540p); use `'720P'` only when the user explicitly wants sh