Hope Shorts · skill publik Open Skill
Hope Shorts
**Hope Shorts · Script to Person to Place to Voice to Spoken Cut · ref2v Native · Locked Timbre** *The agent skill for hosts and creators who want a finished **cinematic real-person short**—not a Pixar ad, a mute fashion-poster reel, a spatial-composite collage, or a one-clip avatar with no room, no match-cut, and no final mix* **Hope Shorts** is a production-native Agent Skill for Digen. It orchestrates a complete **reference-to-video (ref2v)** pipeline for one spoken real-person film: **Idea → speakable script → coverage shots → person still + empty-room still + locked voice sample → prompt pack → first 10s clip → remaining clips → optional music → Final Cut** No storyboard image grids. No spatial-composite stills. No per-shot video chain. No two-at-a-time remaining batches. Speech is **on-camera only**, driven by a **locked TTS timbre sample** passed as `audio_url` on every speaking clip. Captions burn in at generate time. One film, four or more 10s segments, mixed into one cut—same person, same place, same talk. ## What you get | For creators | For the production stack | | --- | --- | | **Beginner-first** — a theme is enough; the agent writes the spoken arc and runs to the first clip without stopping | **Opinionated pipeline** — ≥9 coverage shots, ≥4 × 10s segments, one person, one place, one locked voice | | **Spoken-host first** — hope, comfort, opinion, lived story, or product-as-lived-talk; lines you can say, not a silent mood board | **ref2v-first** — `rm3.5-ref` + `gen_mode='reference_to_video'` + `generation_type='reference'`; no accidental i2v / t2v / director / storyboard-image chains | | **Identity of face, room, and voice** — a photoreal person still, an empty environment still, and one designed or cloned timbre lock the host across every clip | **Timbre-locked cut** — `generate_tts` once per speaker (short sample, 3–10s, must stay 2–15s); same `audio_url` on every speaking `generate_video`; never full-script TTS, never audio inside `input_urls` | | **Living coverage grammar** — match-cut of the same talk; medium and close-up on the same axis; locked lens often right; walk only inside that room | **Dense prompts** — six-section English RM35 scaffold + `[Shot N]` time windows + verbatim `<d>` lines + Global Subtitle Style Card | | **Delivery that continues** — after Segment 1, buttons are **Continue remaining shots / Change this clip / Stop here**, already in your language | **Progressive disclosure** — craft lives in `references/`, not bloated context | | **Plain host voice** — short lines about the topic, the first clip, and the final cut; no pipeline jargon unless you ask | **Marketplace-ready** — clear triggers, defaults, and tool contracts | ## Pipeline | Stage | Output | | --- | --- | | **Intake** | Lock language + **9:16** + **≥40s** (≥4 × 10s) + **single host** + **one place** (no orientation question) | | **Script** | Speakable lines for this film — hook, lived beat, turn, landing; integer-second shots summing to 10s groups | | **Coverage shots** | ≥9 presenter cards — coverage of the same talk, not a montage; match-cut body; per-shot seconds summing to 10 per segment | | **Look + place** | One person still + one empty-room still (`t2i`). User face / place upload beats AI when provided. No spatial-composite image | | **Voice** | One locked sample per speaker (`qwen-voice-design` or `qwen-voice-clone`). One short sentence; reuse on every clip | | **Prompt pack** | All segment prompts + continuity / camera / caption audits **before** any `generate_video` | | **First clip** | Segment 1 only, 10s, then pause — Continue remaining shots · Change this clip · Stop here | | **Remaining** | After continue: **all remaining** `generate_video` calls in that same turn (not pairs of two) | | **Mix** | Concatenate Segment 1 → … into `final_videos` **Final Cut**. Music only if it does not fight speech. Captions already burned in | ## Production stack | Parameter | Default | Notes | | --- | --- | --- | | **Film** | **≥40 seconds** | ≥4 segments, 10s each. Shots ≥9, integer seconds, grouped so each group sums to exactly 10s | | **Engine** | `rm3.5-ref` · `reference_to_video` · `generation_type='reference'` | Multi-ref identity lock. Forbidden: omitting either parameter; default image_to_video / frame mode | | **Clip duration** | **10 seconds** | Always set. One `generate_video` = one segment, never one storyboard shot | | **Video orientation** | Portrait · **9:16** | Landscape only if you ask. Image stills share orientation; never video-frame pixels 864×480 / 480×864 | | **Presenter** | **Single host, one place** | Extra location only if you ask or the line cannot exist there. Walking inside that place is the maximum motion | | **Image refs** | Person + environment required; object optional | Order: person → environment → object. User uploads preferred. No storyboard stills, no spatial composites, no prop-with-hands sheets | | **Ref order** | Person look, then empty room, then object if needed | Person photo = face and wardrobe only; ignore its background. Environment photo = filming location, `fully_preserved` | | **Speech** | **On-camera, sample-locked** | Visible mouth + `<d>` lines in your language. Same Locked Voice Sample as `audio_url` on every speaking clip. Forbidden: narrator / VO / off-screen speech; one TTS per line or per segment; full-script TTS | | **Timbre** | **One short sample** | One sentence (~8–15 words), duration **3–10s**, must stay **2–15s**. Design or clone. Do not mint a second voice | | **Framing lock** | **Coverage of the same talk** | Locked lens often good; same-axis coverage cut when size must change. Forbidden: jump cut, crossing the line, yo-yo in-out, decorative in-out on every clip | | **Captions** | **Burn-in** | Verbatim Global Subtitle Style Card in every speaking prompt: 3.8% of frame height; caption-box bottom 10% from frame bottom; white `#FFFFFF` + black outline; Y locked to the **frame**. ≤2 lines per `<d>` window. Not a mix overlay | | **Cut grammar** | **Segments, then mix** | Prompt pack first. Segment 1 alone. Remaining all-at-once. Mix concatenates in order. No per-shot videos, no two-at-a-time remaining batches | | **Confirm** | **After first clip, then after Final Cut** | Default run does not stop for script / assets / storyboard. Pause only if you ask, or if there is no theme | | **Music** | **Off unless needed** | Room tone + speech first. `suno` only if you ask or a planned wordless hold needs a bed under speech | | **Language** | **User-typed lock** | Replies, lines, captions, buttons, and TTS sample text in your language; image / video prompt bodies are English | ## Modes | Mode | You bring | Agent delivers | | --- | --- | --- | | **Full auto-run** | A theme — or “make a hope short” | Invent a speakable film → person + place + voice → first clip → remaining → Final Cut | | **Idea-first** | Topic + one-line premise | Expand to speakable lines → full pipeline | | **Script-first** | Verbatim lines or pasted host copy | Keep your facts and voice; rewrite only what cannot be said; then stills, shots, pack, cut | | **Face-driven** | A person photo + brief | Bind the upload as the person; do not redraw the face you uploaded | | **Place-driven** | A room photo + brief | Bind the upload as the environment; do not invent a second set | | **Voice clone** | A voice sample + brief | Clone from your audio; skip voice design; still one locked sample for the whole film | | **Single-stage edit** | “Change the lines” / “Recast the host” / “Redo this clip” / “Add or remove music” | That stage only, then remake what depends on it | | **Continue remaining** | “Continue remaining shots” after Segment 1 | Launch every remaining 10s segment in one turn, then mix | | **Landscape on request** | “16:9 / horizontal” | Override the 9:16 default for this run only | ## Example prompts **Full auto-run** > Make a cinematic real-person short about leaving a kettle of hot water for the next night shift. **Script-first** > Use this verbatim copy only — do not rewrite: “I used to think handover was throwing the keys on the desk. Then I started boiling water ten minutes early. Nobody said thanks. That’s fine.” **Face-driven** > This image is the person. Build a 9:16 talking-head from it. Topic: why I still write letters. **Place-driven** > This photo is the room. Keep it. Comfort short, one person sitting by the window. **Voice clone** > Clone this voice sample. Same host, same place, a 40-second lived story. **Continue remaining** > Continue remaining shots. **Non-English narration** > Reply to me in English, but the spoken lines and captions in the video must stay in Japanese. **Landscape override** > Same host, landscape 16:9. ## When to use - Vertical cinematic talking-head / real-person UGC: hope, encouragement, comfort, testimony, insight, or product told as lived talk - One-line topics, pasted host scripts, or a face / place / voice sample to lock identity - Creators who want **match-cut coverage in a real room**, not a studio avatar against a void - Creators who want **burned-in captions** and a **≥40s mixed final**, not a single 10s plate - Anyone tired of Pixar ads, mute presenter reels, spatial-composite collages, or remaining clips generated two at a time > **Not the right tool when** you need a 10-second studio-avatar plate with no environment still, a product-only pack-shot ad with no on-camera host, lip-sync to a generated song as the identity of the film, first-person POV walkthroughs across many unrelated locations, storyboard-image grids for client sign-off, horror / gore, off-screen narration, or a one-clip mute talking-head with no `audio_url`. ## Invoke ``` /hope-shorts ``` Or: *"Turn this into a cinematic real-person short — spoken lines, host and room locked, one voice, first clip then the rest, captions on, final mix."* **Your lines · Your person · Your place · One coherent talk.**
ShortDrama
63 7 49
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3325120/2026-08-19/5n4feb9j.jpg
---
name: hope-shorts
display_name: Hope Shorts
description: Use when the user wants a cinematic real-person short / talking-head UGC (hope, encouragement, comfort, opinion, lived experience, story, or product as lived talk; including spoken script, real-person performance, locations, storyboard, blocking, video, captions, sound, and the final cut); also use when they only want to advance or change one stage of that pipeline
allowed-tools:
- generate_image
- generate_video
- generate_tts
- generate_music
- mix_clips
- list_models
- recognize_image
- set_guidance
---
# Hope Shorts
Cinematic real-person talking-head UGC. No project state — progress is conversation + canvas + `write_todos`. Photoreal live-action only. Do not use Pixar / Disney / 3D / digital-human / fashion-poster look in image or video prompts.
**Load only the current stage.** `read_skill_file(name='hope-shorts', path='references/…')` before that stage — do not preload every branch. Video: also read Branch 10. Skill edits: first read Branch 9.
## Language
Lock `user_lang` on the first user message; keep it for all user-facing text (replies, lines, buttons, captions, TTS sample text). This document is English for the Agent only.
| Layer | Language |
|---|---|
| User-facing | `user_lang` |
| `generate_video` prompt (RM35 six sections) | English always. Spoken lines and caption **copy** inside `<d>` / caption track stay `user_lang`. |
| `generate_image` | Branch 3 (English structure + this project's facts) |
Do not write a Chinese video-prompt body because the user is speaking Chinese.
## How to talk to the user (Mandatory)
Speak like a person. One short sentence **to the user**, then work. `user_lang`. Short replies must **not** shorten image/video prompts, reviews, or retries.
- Progress: one line ("First clip is in." / "Putting the cut together."). Never narrate branches, reviews, models, tools, channels, `entity_type`, pixels, or "director team loaded".
- Pauses: 1–2 sentences + `set_guidance` tool (last tool of the turn). Markdown lists and "please confirm" are not buttons.
- Default run: do **not** dump script, storyboard, Asset IDs, prompt packs, or checklists. Canvas assets may appear as they generate. Planned shows: **first clip** (P-first) and **final cut** (P7). If they ask for the script or a change, answer in a few plain sentences.
- Internals stay internal: Branch 2 Section 15 list. If this turn waits or ends and no generate/mix/tts tool is launching → `set_guidance` is mandatory (rule 12).
## Global Immutable Rules (branches must not violate)
1. **Language**: rule above. Video prompts stay English.
2. **Ratio**: default **9:16**. Do not ask unless they already said 16:9 or asked about process. Orientation stays locked. **Video** `generate_video` only: 864×480 or **480×864**; pass `width`/`height`. **Images** share orientation, never video pixels; platform-default image size (Branch 1 §2, Branch 3 §0.1).
3. **Models**: person/env/object stills = `generate_image` **`model='t2i'`** (empty `input_urls`). No physical names (`qwen-image`, `nano_banana2`…). Retry the same `t2i` call; do not switch. **Do not** generate spatial-composite / layout-reference images and **do not** use `i2i` for that. Video: `rm3.5-ref` + **`gen_mode='reference_to_video'`** + **`generation_type='reference'`**. Music `suno` only if Branch 6 elects it. Voice: Branch 3 `generate_tts` (`qwen-voice-design` / `qwen-voice-clone`).
4. **Shots / time**: ≥9 shots, integer seconds, grouped so each group sums to **exactly 10s** = one video segment. **≥4 segments (≥40s)**. Generate **segments**, not per-shot videos.
5. **Look**: photoreal live-action / real-person UGC — authentic human, real environment, natural performance, cinematic photography. Same quality bar as before this Skill was shortened: fail a shot/prompt/asset rather than ship a weaker one.
6. **Video schedule**: one `generate_video` per segment, `duration=10`, order fixed. Write **all** prompts first, continuity-pas