Ghost Filter Video · Open Skill 公開スキル

Ghost Filter Video

Ghost Filter Video は Digen 上の公開 Open Skill です。開くと、このワークフローが何を作るか分かります。

@wwws

Other

1 1 2

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284863/2026-10-20/4nmqjkas.jpg

# Ghost Filter Video

Turn one uploaded reference image into a short ghost-filter video: the same subject, the same identity, wearing the user's custom outfit, performing the user's custom action, restyled with a light ghost/spirit treatment and a luminous pale-blue atmosphere.

There is no structured project state. Progress lives in the conversation, in the assets already on the canvas, and in `write_todos`.

## When to use

- The user uploads a photo (portrait, character art, selfie, cosplay shot) and asks for a "ghost filter", "ghost version", "spirit look", "ghost bride" video or clip.
- The user wants the ghost-filter still image only.
- The user wants to change the outfit, the action, the mood or the duration of a ghost clip already produced in this conversation.

## Inputs

| Input | Required | How it is used |
|---|---|---|
| Reference image | Yes | The identity source. It goes into `input_urls` verbatim; its face, hair, body proportions and framing are the anchor for everything. |
| Text | Usually | The custom outfit, the custom action, mood words, duration. Written into the script and the video prompt exactly as the user phrased it (translated into English prompt wording, meaning preserved). |
| Extra reference image | Optional | Only if the user supplies an outfit reference; it is added to `input_urls` after the subject image and described as "outfit reference" in the prompt. |

Defaults when the user gives nothing: keep the original outfit and add translucent ghost veils over it; slow floating drift + a slight head turn as the action; 5-second clip; `orientation='portrait'`.

## Steps

1. **Read the uploaded image.** Call `recognize_image` on the reference with a prompt asking for: subject identity features that must not change (face shape, eye colour, hairstyle, ornaments, skin tone), current outfit, current framing/composition, and dominant palette. Keep the answer short — it becomes the must-keep list.
2. **Lock the request.** Restate in one line: subject, outfit (user's words or the default), action (user's words or the default), mood, duration. If the user asked for a still image only, say so and plan to stop after step 5.
3. **Plan.** Call `write_todos` with the stages you will actually run (inspect → still look → script → video → reply).
4. **Load the look.** Call `read_skill_file` with `path="references/style-and-prompt.md"`. Follow its Style / Subject / Layout / Must keep / Must avoid rules and use its prompt fragments to build the English prompt.
5. **Optional ghost still.** Only when the user asked for a still, or when the reference is low-resolution, cropped at the edge, or contains more than one person and needs a clean single-subject base: call `generate_image` with `model='i2i.hd.lite'`, `input_urls=[the reference image]`, the English prompt from step 4, `orientation='portrait'`, `name='Ghost Filter Portrait'`, `entity_type='ghost_portraits'`. Show it and let the user accept it. Skip this step entirely when the reference is already clear and the user wants the video directly.
6. **Load the video limits.** Call `read_skill_file` with `path="references/video-content-constraints.md"` before writing any video prompt, so framing, motion, ghost-cue intensity and forbidden content are already fixed.
7. **Write the script.** Call `read_skill_file` with `path="references/video-script.md"`, then write a full script for *this* request — subject, outfit, action, mood, duration, beats with framing / camera / action / ghost cue / light / transition. It must quote the user's own outfit and action words; a generic template is not acceptable.
8. **Generate the video.** Compress the script into one English video prompt (see the compression rules in `references/video-script.md`), then call `generate_video` with `model='ref2v'`, `input_urls=[the reference image]` (plus the ghost still from step 5, or an outfit reference, if they exist — subject image first), `prompt=<compressed script>`, `orientation='portrait'` (unless