$npx -y skills add mediastormDev/dream-to-video-skill --skill dream-to-video--- name: dream-to-video description: 当用户提供一段梦境文字素材、日记片段、或口述梦境内容,并希望生成视频时触发。触发词包括:"梦到"、"梦见"、"做了个梦"、"梦境素材"、"帮我生成视频"、"转成视频"、"dream to video"。也适用于用户直接粘贴一段梦境描述并期望获得视频文件的场景。此技能会将文字转化为视频提示词,自动提交到即梦平台生成,并下载视频文件。 license: MIT metadata: author: Moeyua version: "2.0.0" source:
| 1 | # Dream-to-Video 梦境素材全自动视频生成 |
| 2 | |
| 3 | 你负责将用户提供的梦境文字素材转化为视频提示词,并通过自动化工具链提交到即梦平台生成视频、下载到本地。用户只需要给你文字,你最终返回视频文件。 |
| 4 | |
| 5 | --- |
| 6 | |
| 7 | ## 零、首次环境配置 |
| 8 | |
| 9 | > 当用户首次使用此 Skill 时,按以下流程自动配置环境。每一步执行后检查结果,全部通过后再告知用户可以开始使用。 |
| 10 | |
| 11 | ### 路径约定 |
| 12 | |
| 13 | 本文档中 **`{W}`** 代表本仓库的 clone 路径(即 `dream_to_video/` 目录的父级)。 |
| 14 | - 项目目录:`{W}/dream_to_video/` |
| 15 | - Skill 资源目录:`{W}/skills/dream-to-video/` |
| 16 | |
| 17 | 执行命令时,将 `{W}` 替换为实际路径。 |
| 18 | |
| 19 | ### 自动执行(无需用户操作) |
| 20 | |
| 21 | **Step 0-0:克隆项目仓库** |
| 22 | 询问用户希望把项目放在哪个目录,然后执行: |
| 23 | ```bash |
| 24 | cd "<用户指定的目录>" && git clone https://github.com/mediastormDev/dream-to-video-skill.git && cd dream-to-video-skill |
| 25 | ``` |
| 26 | clone 完成后的 `dream-to-video-skill` 目录即为 `{W}`。 |
| 27 | 如果用户说"就在当前目录",则在当前目录下 clone。 |
| 28 | |
| 29 | **Step 0-1:检查 Python** |
| 30 | ```bash |
| 31 | python --version |
| 32 | ``` |
| 33 | 要求 Python ≥ 3.10。如果未安装或版本过低,**停下来提示用户**: |
| 34 | > 请先安装 Python 3.10 或更高版本:https://www.python.org/downloads/ |
| 35 | > 安装时勾选「Add Python to PATH」。 |
| 36 | |
| 37 | **Step 0-2:安装 Python 依赖** |
| 38 | ```bash |
| 39 | cd "{W}/dream_to_video" && pip install -r requirements.txt |
| 40 | ``` |
| 41 | |
| 42 | **Step 0-3:安装 Playwright 浏览器** |
| 43 | ```bash |
| 44 | playwright install chromium |
| 45 | ``` |
| 46 | 这会下载 Chromium 浏览器引擎(约 150MB),用于自动操控即梦平台。 |
| 47 | |
| 48 | **Step 0-4:创建必要目录** |
| 49 | ```bash |
| 50 | cd "{W}/dream_to_video" && mkdir -p output data auth/browser_profile reference_images/室内 reference_images/室外 |
| 51 | ``` |
| 52 | |
| 53 | **Step 0-5:部署参考图素材** |
| 54 | 仓库内置参考图位于 `skills/dream-to-video/reference_images/`,自动复制到项目运行目录: |
| 55 | ```bash |
| 56 | cp -n "{W}/skills/dream-to-video/reference_images/室内/"*.jpg "{W}/dream_to_video/reference_images/室内/" 2>/dev/null; cp -n "{W}/skills/dream-to-video/reference_images/室外/"*.jpg "{W}/dream_to_video/reference_images/室外/" 2>/dev/null; echo "reference images deployed" |
| 57 | ``` |
| 58 | > `-n` 不覆盖已存在的文件。如果用户有自己的公司环境照片,可以额外放入对应目录。 |
| 59 | |
| 60 | ### 需要用户操作 |
| 61 | |
| 62 | **Step 0-6:即梦平台登录** |
| 63 | ```bash |
| 64 | cd "{W}/dream_to_video" && python main.py login |
| 65 | ``` |
| 66 | 执行后浏览器会打开即梦网站并显示登录二维码。提示用户: |
| 67 | > 请用手机抖音/即梦 App 扫描浏览器中的二维码完成登录。登录成功后程序会自动保存凭证,后续无需重复登录。 |
| 68 | |
| 69 | ### 自检清单 |
| 70 | |
| 71 | 所有步骤完成后,依次运行以下检查,全部 ✅ 才算配置成功: |
| 72 | |
| 73 | ```bash |
| 74 | # 检查 1:Python 版本 |
| 75 | python --version |
| 76 | # 期望:Python 3.10+ |
| 77 | |
| 78 | # 检查 2:核心依赖 |
| 79 | python -c "import playwright; import cv2; import numpy; print('deps OK')" |
| 80 | # 期望:输出 deps OK |
| 81 | |
| 82 | # 检查 3:Playwright 浏览器 |
| 83 | python -c "from playwright.sync_api import sync_playwright; b=sync_playwright().start(); br=b.chromium.launch(headless=True); br.close(); b.stop(); print('browser OK')" |
| 84 | # 期望:输出 browser OK |
| 85 | |
| 86 | # 检查 4:目录结构 |
| 87 | python -c "from pathlib import Path; dirs=['output','data','auth/browser_profile']; ok=all((Path('{W}/dream_to_video')/d).is_dir() for d in dirs); print('dirs OK' if ok else 'dirs MISSING')" |
| 88 | # 期望:输出 dirs OK |
| 89 | |
| 90 | # 检查 5:登录状态 |
| 91 | cd "{W}/dream_to_video" && python main.py verify |
| 92 | # 期望:显示登录有效 |
| 93 | ``` |
| 94 | |
| 95 | **全部通过后,告知用户:** |
| 96 | > 环境配置完成!你现在可以直接给我梦境素材,我会自动生成视频。 |
| 97 | |
| 98 | **如果某项失败,针对性提示用户如何修复,不要继续后续步骤。** |
| 99 | |
| 100 | --- |
| 101 | |
| 102 | ## 一、完整工作流程 |
| 103 | |
| 104 | ``` |
| 105 | 用户给梦境素材 → 你按规则转化为 Prompt → 提交到队列 → Worker 自动生成+下载 → 通知用户 |
| 106 | ``` |
| 107 | |
| 108 | ### 每次收到素材后,你必须按以下步骤执行: |
| 109 | |
| 110 | **步骤 1:转化 Prompt** |
| 111 | 按下方「二、视频提示词生成规则」将用户的梦境素材转化为视频提示词。直接输出完整 Prompt 文本。 |
| 112 | - 检查规则 9(容貌标识):是否有主角以外的可见人物?有则标注。 |
| 113 | - 检查规则 10(参考图前缀):是否有公司/工作场所**物理环境**描写?有则追加 `参考图中环境;` 前缀。 |
| 114 | |
| 115 | **步骤 2:提交到队列** |
| 116 | ```bash |
| 117 | cd "{W}/dream_to_video" && python -u main.py add "你生成的完整Prompt" |
| 118 | ``` |
| 119 | 这条命令瞬间完成,返回 task_id。 |
| 120 | |
| 121 | **步骤 3:确保 Worker 在运行** |
| 122 | 检查是否有正在运行的 worker 后台任务。如果没有,启动一个: |
| 123 | ```bash |
| 124 | cd "{W}/dream_to_video" && python -u main.py worker |
| 125 | ``` |
| 126 | 以后台模式运行(`run_in_background: true`)。Worker 会自动: |
| 127 | 1. 检测 Prompt 是否带有 `参考图中环境;` 前缀 |
| 128 | 2. 如果有 → 自动选参考图、切换「全能参考」模式、上传图片、在 ProseMirror 编辑器中通过 `@图片1` 引用参考图输入提示词 |
| 129 | 3. 如果没有 → 直接在 textarea 中输入提示词 |
| 130 | 4. 配置生成设置(Seedance 2.0 / 16:9 / 15s)→ 点击生成 → 监控进度 → 下载 → 后处理特效 |
| 131 | |
| 132 | **步骤 4:告知用户** |
| 133 | 告诉用户已提交,视频生成完成后会自动下载到 `{W}/dream_to_video/output/` 并有提示音通知。 |
| 134 | |
| 135 | ### 查看状态 |
| 136 | 如果用户问进度,运行: |
| 137 | ```bash |
| 138 | cd "{W}/dream_to_video" && python -u main.py status |
| 139 | ``` |
| 140 | 或读取状态文件:`{W}/dream_to_video/output/batch_state.json` |
| 141 | |
| 142 | --- |
| 143 | |
| 144 | ## 二、视频提示词生成规则 |
| 145 | |
| 146 | ### 顶层铁律 |
| 147 | |
| 148 | #### 1. 绝对写实 (Hardcore Realism) |
| 149 | 严禁任何动漫、二次元词汇。禁止使用"金色、唯美、史诗、霓虹灯、赛博朋克"等AI虚词。使用"自然光、侧逆光、35mm镜头、感光度噪点、景深控制"等专业摄影术语。 |
| 150 | |
| 151 | #### 2. 超现实处理 (Uncanny Dream-Logic) |
| 152 | 严禁将人变怪物。通过环境氛围、逻辑跳跃、以及微小但违背常理的细节(如:移动的山脉、自动出现的糕点、重复的机械动作)来体现梦境感。 |
| 153 | |
| 154 | #### 3. 忠于原著 (Strict Adherence) |
| 155 | 必须包含素材中的核心视觉要素(如:特定物品、特定场景、特定人物动作)。不要自己编造不存在的要素。 |
| 156 | |
| 157 | #### 4. 电影感镜头 (Cinematic Camera) |
| 158 | 不再局限于第一视角。可采用全景、特写、手持跟随或固定机位。强调镜头的物理动态(如:镜头抖动、焦点切换、缓慢推拉),保持画面的临场感。**优先使用鱼眼镜头 (Fisheye Lens / Ultra-Wide 12mm)**,通过桶形畸变强化梦境的空间扭曲感和压迫感,尤其适用于近距离人物、走廊、室内等场景。 |
| 159 | |
| 160 | #### 5. 非言语叙事 (Silent Visuals) |
| 161 | 严禁台词描述。所有沟通通过眼神、手势、点头、物理指向或物品展示完成。 |
| 162 | |
| 163 | #### 6. 主体去名化 (No Names) |
| 164 | 统一使用 **"主角" (Protagonist)**。除全球名人外,人名替换为"同伴"、"司机"、"教徒"等。 |
| 165 | |
| 166 | #### 7. 画面纯净 (No Text / No Overlay) |
| 167 | 严禁画面中出现任何文字、字幕、Logo 或水印。所有信息必须通过纯视觉元素传达,不得依赖叠加文本。 |
| 168 | |
| 169 | #### 8. 空间与时间 (Logic & Timing) |
| 170 | 场景切换需有物理衔接(如走入阴影、开门)或使用 **"硬切 (Hard Cut)"**。总时长 15s 内,1-6 个分镜。 |
| 171 | |
| 172 | #### 9. 人物容貌标识 (Character Ethnicity Tagging) |
| 173 | 为画面中**主角以外的其他可见人物**标注容貌特征。**不标注主角**(梦境为第一人称视角,主角通常以 POV/手部/背影出镜,脸部不可见)。 |
| 174 | |
| 175 | **地域检测**:扫描用户素材中的地域/国家关键词: |
| 176 | |
| 177 | | 用户素材关键词 | Prompt 中为其他人物追加 | |
| 178 | |--------------|- |