/dream-to-video
当用户提供一段梦境文字素材、日记片段、或口述梦境内容,并希望生成视频时触发。触发词包括:"梦到"、"梦见"、"做了个梦"、"梦境素材"、"帮我生成视频"、"转成视频"、"dream to video"。也适用于用户直接粘贴一段梦境描述并期望获得视频文件的场景。此技能会将文字转化为视频提示词,自动提交到即梦平台生成,并下载视频文件。
$ npx -y skills add mediastormdev/dream-to-video-skill --skill dream-to-video --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/dream-to-video
Context preview
The summary Claude sees to decide when to auto-load this skill.
当用户提供一段梦境文字素材、日记片段、或口述梦境内容,并希望生成视频时触发。触发词包括:"梦到"、"梦见"、"做了个梦"、"梦境素材"、"帮我生成视频"、"转成视频"、"dream to video"。也适用于用户直接粘贴一段梦境描述并期望获得视频文件的场景。此技能会将文字转化为视频提示词,自动提交到即梦平台生成,并下载视频文件。
SKILL.md
dream-to-video.SKILL.mdname: dream-to-video
description: 当用户提供一段梦境文字素材、日记片段、或口述梦境内容,并希望生成视频时触发。触发词包括:"梦到"、"梦见"、"做了个梦"、"梦境素材"、"帮我生成视频"、"转成视频"、"dream to video"。也适用于用户直接粘贴一段梦境描述并期望获得视频文件的场景。此技能会将文字转化为视频提示词,自动提交到即梦平台生成,并下载视频文件。
license: MIT
metadata:
author: Moeyua
version: "2.0.0"
source: Manual
Dream-to-Video 梦境素材全自动视频生成
你负责将用户提供的梦境文字素材转化为视频提示词,并通过自动化工具链提交到即梦平台生成视频、下载到本地。用户只需要给你文字,你最终返回视频文件。
---
零、首次环境配置
> 当用户首次使用此 Skill 时,按以下流程自动配置环境。每一步执行后检查结果,全部通过后再告知用户可以开始使用。
路径约定
本文档中 **`{W}`** 代表本仓库的 clone 路径(即 `dream_to_video/` 目录的父级)。
- 项目目录:`{W}/dream_to_video/`
- Skill 资源目录:`{W}/skills/dream-to-video/`
执行命令时,将 `{W}` 替换为实际路径。
自动执行(无需用户操作)
**Step 0-0:克隆项目仓库** 询问用户希望把项目放在哪个目录,然后执行:
cd "<用户指定的目录>" && git clone https://github.com/mediastormDev/dream-to-video-skill.git && cd dream-to-video-skill
clone 完成后的 `dream-to-video-skill` 目录即为 `{W}`。 如果用户说"就在当前目录",则在当前目录下 clone。
**Step 0-1:检查 Python**
python --version
要求 Python ≥ 3.10。如果未安装或版本过低,**停下来提示用户**: > 请先安装 Python 3.10 或更高版本:https://www.python.org/downloads/ > 安装时勾选「Add Python to PATH」。
**Step 0-2:安装 Python 依赖**
cd "{W}/dream_to_video" && pip install -r requirements.txt**Step 0-3:安装 Playwright 浏览器**
playwright install chromium
这会下载 Chromium 浏览器引擎(约 150MB),用于自动操控即梦平台。
**Step 0-4:创建必要目录**
cd "{W}/dream_to_video" && mkdir -p output data auth/browser_profile reference_images/室内 reference_images/室外**Step 0-5:部署参考图素材** 仓库内置参考图位于 `skills/dream-to-video/reference_images/`,自动复制到项目运行目录:
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"> `-n` 不覆盖已存在的文件。如果用户有自己的公司环境照片,可以额外放入对应目录。
需要用户操作
**Step 0-6:即梦平台登录**
cd "{W}/dream_to_video" && python main.py login执行后浏览器会打开即梦网站并显示登录二维码。提示用户: > 请用手机抖音/即梦 App 扫描浏览器中的二维码完成登录。登录成功后程序会自动保存凭证,后续无需重复登录。
自检清单
所有步骤完成后,依次运行以下检查,全部 ✅ 才算配置成功:
# 检查 1:Python 版本
python --version
# 期望:Python 3.10+
# 检查 2:核心依赖
python -c "import playwright; import cv2; import numpy; print('deps OK')"
# 期望:输出 deps OK
# 检查 3:Playwright 浏览器
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')"
# 期望:输出 browser OK
# 检查 4:目录结构
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')"
# 期望:输出 dirs OK
# 检查 5:登录状态
cd "{W}/dream_to_video" && python main.py verify
# 期望:显示登录有效**全部通过后,告知用户:** > 环境配置完成!你现在可以直接给我梦境素材,我会自动生成视频。
**如果某项失败,针对性提示用户如何修复,不要继续后续步骤。**
---
一、完整工作流程
用户给梦境素材 → 你按规则转化为 Prompt → 提交到队列 → Worker 自动生成+下载 → 通知用户
每次收到素材后,你必须按以下步骤执行:
**步骤 1:转化 Prompt** 按下方「二、视频提示词生成规则」将用户的梦境素材转化为视频提示词。直接输出完整 Prompt 文本。
- 检查规则 9(容貌标识):是否有主角以外的可见人物?有则标注。
- 检查规则 10(参考图前缀):是否有公司/工作场所**物理环境**描写?有则追加 `参考图中环境;` 前缀。
**步骤 2:提交到队列**
cd "{W}/dream_to_video" && python -u main.py add "你生成的完整Prompt"这条命令瞬间完成,返回 task_id。
**步骤 3:确保 Worker 在运行** 检查是否有正在运行的 worker 后台任务。如果没有,启动一个:
cd "{W}/dream_to_video" && python -u main.py worker以后台模式运行(`run_in_background: true`)。Worker 会自动: 1. 检测 Prompt 是否带有 `参考图中环境;` 前缀 2. 如果有 → 自动选参考图、切换「全能参考」模式、上传图片、在 ProseMirror 编辑器中通过 `@图片1` 引用参考图输入提示词 3. 如果没有 → 直接在 textarea 中输入提示词 4. 配置生成设置(Seedance 2.0 / 16:9 / 15s)→ 点击生成 → 监控进度 → 下载 → 后处理特效
**步骤 4:告知用户** 告诉用户已提交,视频生成完成后会自动下载到 `{W}/dream_to_video/output/` 并有提示音通知。
查看状态
如果用户问进度,运行:
cd "{W}/dream_to_video" && python -u main.py status或读取状态文件:`{W}/dream_to_video/output/batch_state.json`
---
二、视频提示词生成规则
顶层铁律
1. 绝对写实 (Hardcore Realism)
严禁任何动漫、二次元词汇。禁止使用"金色、唯美、史诗、霓虹灯、赛博朋克"等AI虚词。使用"自然光、侧逆光、35mm镜头、感光度噪点、景深控制"等专业摄影术语。
2. 超现实处理 (Uncanny Dream-Logic)
严禁将人变怪物。通过环境氛围、逻辑跳跃、以及微小但违背常理的细节(如:移动的山脉、自动出现的糕点、重复的机械动作)来体现梦境感。
3. 忠于原著 (Strict Adherence)
必须包含素材中的核心视觉要素(如:特定物品、特定场景、特定人物动作)。不要自己编造不存在的要素。
4. 电影感镜头 (Cinematic Camera)
不再局限于第一视角。可采用全景、特写、手持跟随或固定机位。强调镜头的物理动态(如:镜头抖动、焦点切换、缓慢推拉),保持画面的临场感。**优先使用鱼眼镜头 (Fisheye Lens / Ultra-Wide 12mm)**,通过桶形畸变强化梦境的空间扭曲感和压迫感,尤其适用于近距离人物、走廊、室内等场景。
5. 非言语叙事 (Silent Visuals)
严禁台词描述。所有沟通通过眼神、手势、点头、物理指向或物品展示完成。
6. 主体去名化 (No Names)
统一使用 **"主角" (Protagonist)**。除全球名人外,人名替换为"同伴"、"司机"、"教徒"等。
7. 画面纯净 (No Text / No Overlay)
严禁画面中出现任何文字、字幕、Logo 或水印。所有信息必须通过纯视觉元素传达,不得依赖叠加文本。
8. 空间与时间 (Logic & Timing)
场景切换需有物理衔接(如走入阴影、开门)或使用 **"硬切 (Hard Cut)"**。总时长 15s 内,1-6 个分镜。
9. 人物容貌标识 (Character Ethnicity Tagging)
为画面中**主角以外的其他可见人物**标注容貌特征。**不标注主角**(梦境为第一人称视角,主角通常以 POV/手部/背影出镜,脸部不可见)。
**地域检测**:扫描用户素材中的地域/国家关键词:
| 用户素材关键词 | Prompt 中为其他人物追加 | |--------------|----------------------| | 美国、纽约、洛杉矶等 | **美国人** | | 日本、东京、大阪等 | **日本人** | | 韩国、首尔、釜山等 | **韩国人** | | 印度、孟买、德里等 | **印度人** | | 英国、伦敦等 | **英国人** | | 泰国、曼谷等 | **泰国人** | | 俄罗斯、莫斯科等 | **俄罗斯人** | | 其他可识别的国家/地区 | 对应国籍的人 |
- **默认值**:素材中**没有**任何地域/国家词汇时,默认为其他可见人物追加 **"东亚人容貌"**
- **写入方式**:自然融入**其他人物**首次出场描写,如"一名**东亚人容貌**的同伴站在走廊尽头"、"数十名**东亚人容貌**的同事三五成群分散在场地各处"
- **无其他人物时**:整段梦境只有主角一人(如独自加班、独自在家),则不追加任何容貌标识
10. 公司环境参考图标识 (Company Environment Reference Prefix)
当用户素材描述了**特定的公司/工作场所物理环境**时,在 Prompt 最前面追加 **"参考图中环境;"** 前缀。Worker 会自动从 `{W}/dream_to_video/reference_images/` 选取对应室内/室外参考图上传。
**需要追加**(语义指向场所/环境):
| 用户素材示例 | 判断 | 理由 | |------------|------|------| | "在**公司**的走廊里" | ✅ 追加 | "公司"指代物理场所 | | "**公司**门口停着一辆车" | ✅ 追加 | 描述公司的物理入口 | | "到了**几号楼**的电梯间" | ✅ 追加 | 描述具体建筑物 | | "**几号棚**的灯全亮着" | ✅ 追加 | 描述具体工棚/摄影棚 | | "**办公楼**走廊的灯是绿色的" | ✅ 追加 | 描述办公建筑环境 | | "**写字楼**大堂很空旷" | ✅ 追加 | 描述写字楼环境 | | "**工厂**车间里全是灰尘" | ✅ 追加 | 描述工厂环境 | | "公司**年会**在某个**场地**里,**天花板**漏水" | ✅ 追加 | 场地+天花板=物理建
Read more
name: dream-to-video description: 当用户提供一段梦境文字素材、日记片段、或口述梦境内容,并希望生成视频时触发。触发词包括:"梦到"、"梦见"、"做了个梦"、"梦境素材"、"帮我生成视频"、"转成视频"、"dream to video"。也适用于用户直接粘贴一段梦境描述并期望获得视频文件的场景。此技能会将文字转化为视频提示词,自动提交到即梦平台生成,并下载视频文件。 license: MIT metadata: author: Moeyua version: "2.0.0" source: Manual
Dream-to-Video 梦境素材全自动视频生成
你负责将用户提供的梦境文字素材转化为视频提示词,并通过自动化工具链提交到即梦平台生成视频、下载到本地。用户只需要给你文字,你最终返回视频文件。
---
零、首次环境配置
> 当用户首次使用此 Skill 时,按以下流程自动配置环境。每一步执行后检查结果,全部通过后再告知用户可以开始使用。
路径约定
本文档中 **`{W}`** 代表本仓库的 clone 路径(即 `dream_to_video/` 目录的父级)。
- 项目目录:`{W}/dream_to_video/`
- Skill 资源目录:`{W}/skills/dream-to-video/`
执行命令时,将 `{W}` 替换为实际路径。
自动执行(无需用户操作)
**Step 0-0:克隆项目仓库** 询问用户希望把项目放在哪个目录,然后执行:
cd "<用户指定的目录>" && git clone https://github.com/mediastormDev/dream-to-video-skill.git && cd dream-to-video-skill
clone 完成后的 `dream-to-video-skill` 目录即为 `{W}`。 如果用户说"就在当前目录",则在当前目录下 clone。
**Step 0-1:检查 Python**
python --version
要求 Python ≥ 3.10。如果未安装或版本过低,**停下来提示用户**: > 请先安装 Python 3.10 或更高版本:https://www.python.org/downloads/ > 安装时勾选「Add Python to PATH」。
**Step 0-2:安装 Python 依赖**
cd "{W}/dream_to_video" && pip install -r requirements.txt**Step 0-3:安装 Playwright 浏览器**
playwright install chromium
这会下载 Chromium 浏览器引擎(约 150MB),用于自动操控即梦平台。
**Step 0-4:创建必要目录**
cd "{W}/dream_to_video" && mkdir -p output data auth/browser_profile reference_images/室内 reference_images/室外**Step 0-5:部署参考图素材** 仓库内置参考图位于 `skills/dream-to-video/reference_images/`,自动复制到项目运行目录:
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"> `-n` 不覆盖已存在的文件。如果用户有自己的公司环境照片,可以额外放入对应目录。
需要用户操作
**Step 0-6:即梦平台登录**
cd "{W}/dream_to_video" && python main.py login执行后浏览器会打开即梦网站并显示登录二维码。提示用户: > 请用手机抖音/即梦 App 扫描浏览器中的二维码完成登录。登录成功后程序会自动保存凭证,后续无需重复登录。
自检清单
所有步骤完成后,依次运行以下检查,全部 ✅ 才算配置成功:
# 检查 1:Python 版本
python --version
# 期望:Python 3.10+
# 检查 2:核心依赖
python -c "import playwright; import cv2; import numpy; print('deps OK')"
# 期望:输出 deps OK
# 检查 3:Playwright 浏览器
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')"
# 期望:输出 browser OK
# 检查 4:目录结构
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')"
# 期望:输出 dirs OK
# 检查 5:登录状态
cd "{W}/dream_to_video" && python main.py verify
# 期望:显示登录有效**全部通过后,告知用户:** > 环境配置完成!你现在可以直接给我梦境素材,我会自动生成视频。
**如果某项失败,针对性提示用户如何修复,不要继续后续步骤。**
---
一、完整工作流程
用户给梦境素材 → 你按规则转化为 Prompt → 提交到队列 → Worker 自动生成+下载 → 通知用户
每次收到素材后,你必须按以下步骤执行:
**步骤 1:转化 Prompt** 按下方「二、视频提示词生成规则」将用户的梦境素材转化为视频提示词。直接输出完整 Prompt 文本。
- 检查规则 9(容貌标识):是否有主角以外的可见人物?有则标注。
- 检查规则 10(参考图前缀):是否有公司/工作场所**物理环境**描写?有则追加 `参考图中环境;` 前缀。
**步骤 2:提交到队列**
cd "{W}/dream_to_video" && python -u main.py add "你生成的完整Prompt"这条命令瞬间完成,返回 task_id。
**步骤 3:确保 Worker 在运行** 检查是否有正在运行的 worker 后台任务。如果没有,启动一个:
cd "{W}/dream_to_video" && python -u main.py worker以后台模式运行(`run_in_background: true`)。Worker 会自动: 1. 检测 Prompt 是否带有 `参考图中环境;` 前缀 2. 如果有 → 自动选参考图、切换「全能参考」模式、上传图片、在 ProseMirror 编辑器中通过 `@图片1` 引用参考图输入提示词 3. 如果没有 → 直接在 textarea 中输入提示词 4. 配置生成设置(Seedance 2.0 / 16:9 / 15s)→ 点击生成 → 监控进度 → 下载 → 后处理特效
**步骤 4:告知用户** 告诉用户已提交,视频生成完成后会自动下载到 `{W}/dream_to_video/output/` 并有提示音通知。
查看状态
如果用户问进度,运行:
cd "{W}/dream_to_video" && python -u main.py status或读取状态文件:`{W}/dream_to_video/output/batch_state.json`
---
二、视频提示词生成规则
顶层铁律
1. 绝对写实 (Hardcore Realism)
严禁任何动漫、二次元词汇。禁止使用"金色、唯美、史诗、霓虹灯、赛博朋克"等AI虚词。使用"自然光、侧逆光、35mm镜头、感光度噪点、景深控制"等专业摄影术语。
2. 超现实处理 (Uncanny Dream-Logic)
严禁将人变怪物。通过环境氛围、逻辑跳跃、以及微小但违背常理的细节(如:移动的山脉、自动出现的糕点、重复的机械动作)来体现梦境感。
3. 忠于原著 (Strict Adherence)
必须包含素材中的核心视觉要素(如:特定物品、特定场景、特定人物动作)。不要自己编造不存在的要素。
4. 电影感镜头 (Cinematic Camera)
不再局限于第一视角。可采用全景、特写、手持跟随或固定机位。强调镜头的物理动态(如:镜头抖动、焦点切换、缓慢推拉),保持画面的临场感。**优先使用鱼眼镜头 (Fisheye Lens / Ultra-Wide 12mm)**,通过桶形畸变强化梦境的空间扭曲感和压迫感,尤其适用于近距离人物、走廊、室内等场景。
5. 非言语叙事 (Silent Visuals)
严禁台词描述。所有沟通通过眼神、手势、点头、物理指向或物品展示完成。
6. 主体去名化 (No Names)
统一使用 **"主角" (Protagonist)**。除全球名人外,人名替换为"同伴"、"司机"、"教徒"等。
7. 画面纯净 (No Text / No Overlay)
严禁画面中出现任何文字、字幕、Logo 或水印。所有信息必须通过纯视觉元素传达,不得依赖叠加文本。
8. 空间与时间 (Logic & Timing)
场景切换需有物理衔接(如走入阴影、开门)或使用 **"硬切 (Hard Cut)"**。总时长 15s 内,1-6 个分镜。
9. 人物容貌标识 (Character Ethnicity Tagging)
为画面中**主角以外的其他可见人物**标注容貌特征。**不标注主角**(梦境为第一人称视角,主角通常以 POV/手部/背影出镜,脸部不可见)。
**地域检测**:扫描用户素材中的地域/国家关键词:
| 用户素材关键词 | Prompt 中为其他人物追加 | |--------------|----------------------| | 美国、纽约、洛杉矶等 | **美国人** | | 日本、东京、大阪等 | **日本人** | | 韩国、首尔、釜山等 | **韩国人** | | 印度、孟买、德里等 | **印度人** | | 英国、伦敦等 | **英国人** | | 泰国、曼谷等 | **泰国人** | | 俄罗斯、莫斯科等 | **俄罗斯人** | | 其他可识别的国家/地区 | 对应国籍的人 |
- **默认值**:素材中**没有**任何地域/国家词汇时,默认为其他可见人物追加 **"东亚人容貌"**
- **写入方式**:自然融入**其他人物**首次出场描写,如"一名**东亚人容貌**的同伴站在走廊尽头"、"数十名**东亚人容貌**的同事三五成群分散在场地各处"
- **无其他人物时**:整段梦境只有主角一人(如独自加班、独自在家),则不追加任何容貌标识
10. 公司环境参考图标识 (Company Environment Reference Prefix)
当用户素材描述了**特定的公司/工作场所物理环境**时,在 Prompt 最前面追加 **"参考图中环境;"** 前缀。Worker 会自动从 `{W}/dream_to_video/reference_images/` 选取对应室内/室外参考图上传。
**需要追加**(语义指向场所/环境):
| 用户素材示例 | 判断 | 理由 | |------------|------|------| | "在**公司**的走廊里" | ✅ 追加 | "公司"指代物理场所 | | "**公司**门口停着一辆车" | ✅ 追加 | 描述公司的物理入口 | | "到了**几号楼**的电梯间" | ✅ 追加 | 描述具体建筑物 | | "**几号棚**的灯全亮着" | ✅ 追加 | 描述具体工棚/摄影棚 | | "**办公楼**走廊的灯是绿色的" | ✅ 追加 | 描述办公建筑环境 | | "**写字楼**大堂很空旷" | ✅ 追加 | 描述写字楼环境 | | "**工厂**车间里全是灰尘" | ✅ 追加 | 描述工厂环境 | | "公司**年会**在某个**场地**里,**天花板**漏水" | ✅ 追加 | 场地+天花板=物理建
AI agent skill that transforms dream text into cinematic videos. Describe your dream, and the agent automatically generates professional video prompts, submits them to the Jimeng platform via browser automation, downloads the finished videos, and applies

