Marketing Studio · skill pubblica Open Skill
Marketing Studio
**MARKETING STUDIO · Idea to Episode · ref2v Native · Spoken-Dialogue** *The agent skill for creators who want a finished **~10-second vertical marketing episode**—not orphan clips, storyboard grids sitting next to the cut, or a talking head with no scene* **MARKETING STUDIO** is a production-native Agent Skill for Digen. It orchestrates a complete **reference-to-video (ref2v)** pipeline for one spoken-dialogue marketing short: **Idea → episode script → style bible → character / scene / prop refs → natural voice samples → text storyboard (3–6 shots) → 1×10s ref2v render → optional sequel episodes** No storyboard grids. No shot-by-shot still chains. No per-shot TTS tracks. One coherent **10-second chapter** per episode where **faces, costumes, rooms, product, and spoken lines stay locked inside the video**—then the next episode in-thread when you ask. ## What you get | For creators | For the production stack | | --- | --- | | **Beginner-first** — one-line idea? the agent runs the full episode without stopping unless you ask to pause | **Opinionated pipeline** — 7-stage spine, asset + voice gate, and ref2v contract encoded in-skill | | **Story-first visuals** — pictures timed to a real **3–6-shot text storyboard**, not a random 10-second stub | **ref2v-first** — no accidental i2v / storyboard / first-last-frame drift | | **Identity lock** — character, location, and prop refs bind before render; uploaded images reuse across sequels | **Text storyboard only** — no contact sheets; refs are CHAR / LOC / PROP stills only | | **Natural dialogue** — spoken lines in your language via `<d>…</d>` inside the clip; timbre locked from a real-person voice sample | **Dense prompts** — RM35 six sections; Reference bind + Setup / Action / Camera / Ambient per shot; full English prompt layer | | **Voices that do not sound like ads** — one dry, conversational sample per speaker (design or clone); not announcer, vlogger, or cartoon TTS | **Voice before video** — `tts.design` / `tts.clone` once per character; that URI is `audio_url` for every speaking render | | **Delivery that remembers** — after the clip, buttons for next episode, redo, longer cut, or done — all in **your** language | **Progressive disclosure** — craft lives in `references/`, not bloated context | | **Plain creator voice** — short lines about who, where, and what was said; no pipeline jargon unless you ask | **Marketplace-ready** — clear triggers, defaults, and tool contracts | ## Pipeline | Stage | Output | | --- | --- | | **Intake** | Lock `user_lang`, dialogue language, portrait **9:16**, **10s** episode duration; sequel vs pause | | **Episode script** | Title, synopsis, 1–2 speakers, line budget (~30–35 Han characters or 20–25 English words) | | **World & style** | Style Contract, cultural anchor — consistent look across assets and video | | **Reference pass** | One still per character / location / prop (`generate_image`). No storyboard images | | **Voice samples** | One natural-human sample per speaker (`generate_tts`). Skip on sequels unless you change a voice | | **Text storyboard** | 3–6-shot director table — composition, action, camera, dialogue slots; **no images** | | **Episode video** | One English RM35 ref2v prompt → **1×10s** multi-reference render with embedded `<d>` speech + lead `audio_url` | | **Local edits / sequel** | Redo script, swap one asset, remake video, or **Episode N+1** with URI reuse | ## Production stack | Parameter | Default | Notes | | --- | --- | --- | | **Episode** | **~10 seconds** | **1 episode = 1 ref2v clip.** User asks longer → multiple 10s clips + `mix_clips` | | **Engine** | `ref2v` · `reference_to_video` | Multi-ref identity lock. Forbidden: `i2v` / `ai2v` / `t2v` / `fl2v` / `director` / `list_models` | | **Clip duration** | **10 seconds** | Always set `duration=10`. If render falls back to ~5s → retry with explicit `duration=10` | | **Video orientation** | Portrait · **9:16** | Landscape only if you ask | | **Shots per episode** | **3–6** | Integer seconds per shot; sum = **10**. Not six mandatory segments | | **Ref order** | Characters → location → props | Prefer ≤4; lead character + main location first | | **Speakers** | **1–2** | No third talking role for energy | | **Dialogue** | **On — in-clip** | `<d>[Language]…</d>` in the English RM35 prompt; lip-sync on visible speakers | | **Voice** | **One sample per character** | `tts.design` (English `voice_instruction`, real-person template) or `tts.clone` if you upload audio. **Not** per-shot TTS. **Not** a post-hoc VO patch on a mute clip | | **Picture audio** | **Diegetic + embedded speech** | Ambience and SFX in prompt; spoken lines inside ref2v. **No BGM** unless you ask (`generate_music`) | | **Speech / look fix** | **Redo the 10s video** | Wrong lines or a bad take → rewrite `<d>` + RM35, re-render the whole clip. No per-shot i2v edit | | **Confirm** | **After delivery** | First full story auto-runs; pause only if you ask about process or say wait | | **Series** | **Next episode** | Reuse cast / scene / prop / voice URIs; inherit language + 9:16 + 10s lock; new story from previous exit | ## Modes | Mode | You bring | Agent delivers | | --- | --- | --- | | **Full auto-run** | Nothing — or a vague "make a marketing short" | Intake → script → style → refs → voices → text board → **1×10s ref2v** | | **Idea-first** | One-line product, scene, or hook | Expand to spoken script + full pipeline | | **Script-first** | Lines, cast, or a dialogue draft | Keep your words → refs → voices → text storyboard → render | | **Reference-driven** | Character / room / product photos + brief | Bind uploads → voices → ref2v with identity lock | | **Voice-driven** | A recorded sample, or "make her sound older" | Clone or redesign that speaker only, then remake the clip | | **Single-stage edit** | "Redo the video" / "Swap the product shot" / "Change the last line" | That stage only, then remake clip if needed | | **Same-thread sequel** | "What happens next?" / next-episode button | Continue the beat; reuse assets + voices; **new 10s clip** (`duration=10` again) | | **Longer single episode** | "Make this 30 seconds" | Multiple 10s ref2v segments → mix (optional music only if you asked) | ## Example prompts **Full auto-run** > Make a vertical marketing short. Two coworkers in an office pitch a portable coffee maker. **Idea-first** > Two coworkers argue about a new skincare set in the pantry. Funny, portrait, one episode ~10 seconds. **Reference-driven** > This photo is my lead. This is the product. Night convenience store. She tells a friend why she switched. **Script-first** > Use this dialogue. Don't invent a second plot. Vertical marketing short, first episode. **Series** > Continue the last story — next episode she brings the machine home and shows her roommate. **Fix speech** > The voice sounds fake. Change the lead's timbre and regenerate this episode. **Voice clone** > Use my uploaded recording as the male lead. Do not design a new voice. ## When to use - Vertical spoken-dialogue marketing shorts: product, workplace, slice-of-life, two-hander retail - One-line ideas, pasted scripts, or character / scene / product reference images - Identity-locked cast, rooms, and props across episodes - Dialogue **spoken inside the video**, with a natural voice sample as the timbre lock - Creators who want a hands-off first render, then sequels in-thread > **Not the right tool when** you need a 60-second six-clip fruit story with mandatory mix, storyboard grids for client sign-off, music-video lip-sync to a generated song, still posters only, plotless product-spin videos, traditional drama with no sell, or a mute clip with voiceover patched on after render. ## Invoke ``` /marketing-studio ``` Or: *"Turn this into a vertical marketing short with consistent characters and dialogue spoken in the video."* One episode · One room · One locked 10-second cut · Speech lives in the clip · Voices stay human.
SocialAd
10 5 32
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3325120/2026-08-17/knm2zd5w.jpg
# Marketing Studio A spoken-dialogue marketing-short Skill. Turn a one-line idea, a script, or reference images into a finished clip: **by default 1 episode = 1 ten-second portrait (9:16) video**, with 3–6 shots packed onto one timeline, driven by character / scene / prop reference images through **ref2v**. Unless the user asks about the process or tells you to wait, **run the full pipeline without stopping**. This Skill has **no** structured project state. Cross-turn reuse relies on Markdown notes in the conversation plus asset URLs already on the canvas. Do not assume a `characters` collection you can update. ## Global Language Lock (mandatory, highest priority) [Language Protocol] Follow the language of the user's input. Replies, scripts, dialogue shown to the user, simplified shot lists, progress notes, confirmations, `set_guidance` buttons, `write_todos` `content`, and asset `name` values all use that language. Call it `user_lang`. ### 0. Initial lock (on the first user message, before the first reply) - Lock `user_lang` immediately and use it from the **first greeting**. Greeting in one language then switching is forbidden. - Strip system-injected annotations first (`[user_uploaded image ...]`, `[Library character: ...]`, etc.). They do not indicate user language. - **This Skill body and `references/` are English (document language only).** English headings, templates, and examples are internal structure. User-facing text must be translated into `user_lang`. Do not treat document English as the default output language. - Before every user-facing output, self-check `user_lang`. If `user_lang` is English, user-visible text must contain **no Chinese characters**. For other languages: do not leak document English jargon or untranslated internal terms. - Do not switch language because branch files are English, or because this turn just read an English reference. - Do not change language mid-session. Update `user_lang` only when the user explicitly asks to switch (e.g. "reply in English from now on"). - Dialogue language defaults to `user_lang`. If the user specifies "Japanese dialogue / English dialogue", spoken lines and TTS `text` use that language; **all other talk to the user stays in `user_lang`**. ### Model prompt language (separate from user-facing language; do not mix) | Layer | Scope | Language | |---|---|---| | **User-facing** | Replies, scripts, dialogue display, simplified shot lists, buttons, progress, TTS preview text, asset display names | `user_lang` (if dialogue is separately specified, the lines themselves use that language) | | **Video prompt** | RM35 six sections for `generate_video` | **English always**; only dialogue / on-screen text inside `<d>…</d>` keeps the original dialogue language | | **Image prompt** | `generate_image` | **English always** (Style Contract + appearance) | | **Voice design instruction** | `generate_tts` `voice_instruction` | **English always**; `text` / `sample_text` use the dialogue language | | **Music prompt** | `generate_music` | **English always** | The Global Language Lock **does not** authorize writing the RM35 body in Chinese when `user_lang` is Chinese. User language and model prompt language are independent channels. ### Copy self-check (before every reply) - Table headers, buttons, `write_todos.content`, and `generate_*` `name` values are in `user_lang` (do not paste the English examples below when `user_lang` is not English) - Progress must not mention channel / RM35 / ref2v / duration=10 - No document-language leak: no Chinese when `user_lang` is English; when `user_lang` is Chinese, do not leave untranslated English production jargon (9:16 numbers are fine) ## When to use - The user wants a spoken, dialogue, product, workplace, or slice-of-life marketing short - The user provided a script, character images, product images, or only a one-line idea - The user only wants to revise the script, swap character art, change shots, regenerate video, or continue to