<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI视频 on XEDCZQ的博客</title><link>https://xedczq.cn/tags/ai%E8%A7%86%E9%A2%91/</link><description>Recent content in AI视频 on XEDCZQ的博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Wed, 01 Jul 2026 15:26:00 +0800</lastBuildDate><atom:link href="https://xedczq.cn/tags/ai%E8%A7%86%E9%A2%91/index.xml" rel="self" type="application/rss+xml"/><item><title>AI视频的思考-工作流平台搭建</title><link>https://xedczq.cn/post/ai_video_workflow_platform/</link><pubDate>Wed, 01 Jul 2026 15:26:00 +0800</pubDate><guid>https://xedczq.cn/post/ai_video_workflow_platform/</guid><description>&lt;h1 id="ai-视频工作流搭建笔记从批量照片到分段视频与本地归档"&gt;&lt;a href="#ai-%e8%a7%86%e9%a2%91%e5%b7%a5%e4%bd%9c%e6%b5%81%e6%90%ad%e5%bb%ba%e7%ac%94%e8%ae%b0%e4%bb%8e%e6%89%b9%e9%87%8f%e7%85%a7%e7%89%87%e5%88%b0%e5%88%86%e6%ae%b5%e8%a7%86%e9%a2%91%e4%b8%8e%e6%9c%ac%e5%9c%b0%e5%bd%92%e6%a1%a3" class="header-anchor"&gt;&lt;/a&gt;AI 视频工作流搭建笔记：从批量照片到分段视频与本地归档
&lt;/h1&gt;&lt;p&gt;这套项目最初用于生成“专家年轻时与现在跨越时空相遇”的系列短片，随后扩展成支持人物、商品多视图和参考生视频的网页工作台。核心流程是：&lt;/p&gt;
&lt;p&gt;整理素材 → 设计分镜与提示词 → 按需生成多视图 → 上传参考图片 → 提交云端生成任务 → 跟踪状态 → 下载本地成片 → 提取尾帧衔接下一段 → 后期剪辑。&lt;/p&gt;
&lt;h2 id="一先把素材变成可追踪的资产"&gt;&lt;a href="#%e4%b8%80%e5%85%88%e6%8a%8a%e7%b4%a0%e6%9d%90%e5%8f%98%e6%88%90%e5%8f%af%e8%bf%bd%e8%b8%aa%e7%9a%84%e8%b5%84%e4%ba%a7" class="header-anchor"&gt;&lt;/a&gt;一、先把素材变成可追踪的资产
&lt;/h2&gt;&lt;p&gt;批量生产的第一步是建立稳定的编号和配对关系。&lt;/p&gt;
&lt;p&gt;原会话中，Excel 最终整理为 27 组记录、54 张新老照片，采用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;01-姓名-young.jpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;01-姓名-old.jpeg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;表格中有重复姓名，因此应按“记录编号＋姓名”识别素材，不能仅按姓名合并。&lt;/p&gt;
&lt;p&gt;当时的素材处理要求是单张小于 10MB、短边大于 400 像素。小图曾等比放大到短边 512 像素，大图进行压缩。&lt;/p&gt;
&lt;p&gt;需要保留的经验是：图片处理完成后，要分别验证文件大小、像素尺寸和配对关系。放大图片可以满足上传尺寸要求，但不会恢复原图缺失的真实细节。&lt;/p&gt;
&lt;h2 id="二提示词要明确身份空间动作和结束状态"&gt;&lt;a href="#%e4%ba%8c%e6%8f%90%e7%a4%ba%e8%af%8d%e8%a6%81%e6%98%8e%e7%a1%ae%e8%ba%ab%e4%bb%bd%e7%a9%ba%e9%97%b4%e5%8a%a8%e4%bd%9c%e5%92%8c%e7%bb%93%e6%9d%9f%e7%8a%b6%e6%80%81" class="header-anchor"&gt;&lt;/a&gt;二、提示词要明确身份、空间、动作和结束状态
&lt;/h2&gt;&lt;p&gt;系列视频既要统一风格，也要保留每个人的差异。可以固定以下内容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;年轻人物与现在人物分别对应哪张参考图。&lt;/li&gt;
&lt;li&gt;两人在画面中的左右位置、朝向和视线。&lt;/li&gt;
&lt;li&gt;镜头景别、整体光线、画幅和情绪。&lt;/li&gt;
&lt;li&gt;背景如何过渡，以及视频结束时人物处于什么状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;场景和互动则根据照片调整。例如，背景从各自时代逐渐融合到年轻时的环境；互动可以选择拥抱、握手拍肩、共同读书等，每次只安排一组完整动作。&lt;/p&gt;
&lt;p&gt;对于证件照和大头照，要明确它们主要提供身份特征，身体和场景需要合理补全。还要约束头身比、人物相对大小，避免直接照搬两张照片不同的拍摄尺度。&lt;/p&gt;
&lt;p&gt;提示词表达的是生成目标，人物一致性、手部结构和动作自然度仍需观看成片验收。&lt;/p&gt;
&lt;h2 id="三分镜设计和视频动作描述分两步完成"&gt;&lt;a href="#%e4%b8%89%e5%88%86%e9%95%9c%e8%ae%be%e8%ae%a1%e5%92%8c%e8%a7%86%e9%a2%91%e5%8a%a8%e4%bd%9c%e6%8f%8f%e8%bf%b0%e5%88%86%e4%b8%a4%e6%ad%a5%e5%ae%8c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;三、分镜设计和视频动作描述分两步完成
&lt;/h2&gt;&lt;p&gt;项目已经沉淀了一份《提示词规范》，其中值得长期使用的方法是：&lt;/p&gt;
&lt;p&gt;先设计分镜，确定每个镜头的目的、时长、景别、人物位置、首尾状态和转场；再补充镜头内的动作、表演和摄影机运动。&lt;/p&gt;
&lt;p&gt;关键帧必须是一张能够静止截取的画面。例如“人物右手扶住书页，低头看书”是状态；“人物拿起书、翻页、转身”是一段过程，应放在动作描述中。&lt;/p&gt;
&lt;p&gt;参考图也要明确职责：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;人物图锁定面部、发型、肤色等身份特征。&lt;/li&gt;
&lt;li&gt;商品图锁定颜色、花色、材质、结构和外观。&lt;/li&gt;
&lt;li&gt;场景图控制环境与空间关系。&lt;/li&gt;
&lt;li&gt;上一段尾帧提供下一段开场的连续性参考。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不要默认让人物参考图同时控制服装、背景、姿势和构图。准确文字、品牌口号和字幕优先在后期叠加。&lt;/p&gt;
&lt;h2 id="四长视频需要拆成可以独立执行的短段"&gt;&lt;a href="#%e5%9b%9b%e9%95%bf%e8%a7%86%e9%a2%91%e9%9c%80%e8%a6%81%e6%8b%86%e6%88%90%e5%8f%af%e4%bb%a5%e7%8b%ac%e7%ab%8b%e6%89%a7%e8%a1%8c%e7%9a%84%e7%9f%ad%e6%ae%b5" class="header-anchor"&gt;&lt;/a&gt;四、长视频需要拆成可以独立执行的短段
&lt;/h2&gt;&lt;p&gt;原项目曾按每段最多 15 秒设计长视频方案。这个数值属于当时的生成规则，实际拆段应服从所选模型的时长限制。&lt;/p&gt;
&lt;p&gt;每一段都要具备完整的素材说明、独立时间轴、动作过程和结束状态，不能只写“同上一段”。&lt;/p&gt;
&lt;p&gt;正确的衔接流程是：&lt;/p&gt;
&lt;p&gt;上一段生成完成 → 导出最后一个可用画面 → 将其作为下一段新增参考图 → 下一段从 0 秒开始描述动作。&lt;/p&gt;
&lt;p&gt;例如，原来已有图1、图2，下一段可以新增：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;图3为上一段尾帧，仅用于参考本段开场的人物姿态、构图、服装、道具和光线。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;不要写“播放上一段第15秒”或“冻结上一段尾帧0.3秒”，因为下一次生成是独立请求，模型并没有自动获得上一段视频。&lt;/p&gt;
&lt;p&gt;还要区分两种能力：把尾帧加入普通参考图，属于连续性引导；把图片传入模型专门的首帧字段，才属于首帧控制。两者不能等同，也都不能保证跨段完全一致。&lt;/p&gt;
&lt;h2 id="五多视图生成用于补充主体外观参考"&gt;&lt;a href="#%e4%ba%94%e5%a4%9a%e8%a7%86%e5%9b%be%e7%94%9f%e6%88%90%e7%94%a8%e4%ba%8e%e8%a1%a5%e5%85%85%e4%b8%bb%e4%bd%93%e5%a4%96%e8%a7%82%e5%8f%82%e8%80%83" class="header-anchor"&gt;&lt;/a&gt;五、多视图生成用于补充主体外观参考
&lt;/h2&gt;&lt;p&gt;当前多视图功能使用图文输入生成图片：&lt;/p&gt;
&lt;p&gt;1—3 张人物或商品参考图＋文字描述 → 图像模型 → 一张包含多个视角的合成图。&lt;/p&gt;
&lt;p&gt;当前代码支持选择 2、3、4 个视角，以及 &lt;code&gt;qwen-image-3.0&lt;/code&gt;、&lt;code&gt;qwen-image-3.0-pro&lt;/code&gt;、画幅和输出尺寸。&lt;/p&gt;
&lt;p&gt;生成的多视图可以帮助后续视频理解主体外观，但背面、侧面等未被原始素材展示的内容仍可能由模型推测，不能当作真实结构证据。&lt;/p&gt;
&lt;p&gt;多视图成图是否加入视频参考，应由使用者选择。还要说明合成图只是外观参考，避免视频直接生成分栏或多个重复主体。&lt;/p&gt;
&lt;h2 id="六本地图片需要先转成云端可访问的地址"&gt;&lt;a href="#%e5%85%ad%e6%9c%ac%e5%9c%b0%e5%9b%be%e7%89%87%e9%9c%80%e8%a6%81%e5%85%88%e8%bd%ac%e6%88%90%e4%ba%91%e7%ab%af%e5%8f%af%e8%ae%bf%e9%97%ae%e7%9a%84%e5%9c%b0%e5%9d%80" class="header-anchor"&gt;&lt;/a&gt;六、本地图片需要先转成云端可访问的地址
&lt;/h2&gt;&lt;p&gt;当前项目的视频提交接口使用 HTTPS 素材地址。电脑上的文件路径和浏览器的 &lt;code&gt;blob:&lt;/code&gt; 地址都不能直接供云端模型读取。&lt;/p&gt;
&lt;p&gt;实际上传链路是：&lt;/p&gt;
&lt;p&gt;浏览器选图 → 尺寸与体积处理 → &lt;code&gt;/api/uploads&lt;/code&gt; → 临时媒体服务 → 返回 HTTPS 地址 → 提交模型。&lt;/p&gt;
&lt;p&gt;这里有两个值得记录的排障经验。&lt;/p&gt;
&lt;p&gt;第一个是上传超时。历史上，本地 Worker 的流式上传与媒体服务不兼容，后来改成带明确 &lt;code&gt;Content-Length&lt;/code&gt; 的 multipart 请求。&lt;/p&gt;
&lt;p&gt;第二个是 &lt;code&gt;413 Payload Too Large&lt;/code&gt;。模型允许的图片大小，并不代表浏览器到模型之间的每一层代理都允许同样大小。当前网页把图片压缩目标设为约 800KiB，为上传请求留出空间。&lt;/p&gt;
&lt;p&gt;排查时应分别检查浏览器、本地代理、上传接口、媒体服务和模型的限制，不能一遇到上传失败就归因于模型。&lt;/p&gt;
&lt;h2 id="七视频生成采用异步任务机制"&gt;&lt;a href="#%e4%b8%83%e8%a7%86%e9%a2%91%e7%94%9f%e6%88%90%e9%87%87%e7%94%a8%e5%bc%82%e6%ad%a5%e4%bb%bb%e5%8a%a1%e6%9c%ba%e5%88%b6" class="header-anchor"&gt;&lt;/a&gt;七、视频生成采用异步任务机制
&lt;/h2&gt;&lt;p&gt;网页提交后，模型通常先返回任务 ID，随后才完成生成。&lt;/p&gt;
&lt;p&gt;项目将任务状态统一为：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PENDING → RUNNING → SUCCEEDED / FAILED
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;当前代码中，图片任务约每 5 秒查询一次，视频任务约每 8 秒查询一次；进入终态后停止正常轮询。&lt;/p&gt;
&lt;p&gt;最重要的保存时机是拿到任务 ID 的时候。此时就应记录服务商、模型、提示词、参数、素材顺序和任务状态，不能等成片后才保存，否则刷新页面可能丢失任务入口。&lt;/p&gt;
&lt;p&gt;项目还遇到过“云端任务已经成功，但流程阶段仍显示排队”的问题。这说明任务状态和流程阶段状态需要同步恢复，不能各自保留一套互相矛盾的结果。&lt;/p&gt;
&lt;h2 id="八任务索引与本地媒体文件共同构成历史记录"&gt;&lt;a href="#%e5%85%ab%e4%bb%bb%e5%8a%a1%e7%b4%a2%e5%bc%95%e4%b8%8e%e6%9c%ac%e5%9c%b0%e5%aa%92%e4%bd%93%e6%96%87%e4%bb%b6%e5%85%b1%e5%90%8c%e6%9e%84%e6%88%90%e5%8e%86%e5%8f%b2%e8%ae%b0%e5%bd%95" class="header-anchor"&gt;&lt;/a&gt;八、任务索引与本地媒体文件共同构成历史记录
&lt;/h2&gt;&lt;p&gt;项目早期只保存任务信息和远程链接，后来改为将图片、视频自动保存到用户选定的本地文件夹。&lt;/p&gt;
&lt;p&gt;主要结构包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;happyhorse-studio-history.json&lt;/code&gt;：整个工作区的历史索引。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HappyHorse任务/任务ID/任务记录.json&lt;/code&gt;：单个任务记录。&lt;/li&gt;
&lt;li&gt;任务下的图片、视频目录：实际生成文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本地目录访问使用浏览器文件系统能力，目录句柄通过 IndexedDB 保存；浏览器仍可能要求重新授权。&lt;/p&gt;
&lt;p&gt;历史恢复时不能只相信总索引。旧版本曾出现文件已经存在、索引却缺少路径的情况，因此需要扫描任务目录并补回记录。&lt;/p&gt;
&lt;p&gt;去重应优先使用任务 ID 等稳定标识。临时云端链接和本地 &lt;code&gt;blob:&lt;/code&gt; 链接会变化，按 URL 去重曾导致同一张图片重复显示。&lt;/p&gt;
&lt;p&gt;云端生成成功、本地下载成功、页面预览成功，也应视为三个独立结果分别判断。&lt;/p&gt;
&lt;h2 id="九临时链接用于交付本地文件用于长期保留"&gt;&lt;a href="#%e4%b9%9d%e4%b8%b4%e6%97%b6%e9%93%be%e6%8e%a5%e7%94%a8%e4%ba%8e%e4%ba%a4%e4%bb%98%e6%9c%ac%e5%9c%b0%e6%96%87%e4%bb%b6%e7%94%a8%e4%ba%8e%e9%95%bf%e6%9c%9f%e4%bf%9d%e7%95%99" class="header-anchor"&gt;&lt;/a&gt;九、临时链接用于交付，本地文件用于长期保留
&lt;/h2&gt;&lt;p&gt;云端返回的签名链接有有效期。历史记录里有链接，不代表之后始终能够播放或下载。&lt;/p&gt;
&lt;p&gt;项目后来采用的体验是：成片可先在线播放，同时后台保存；本地保存成功后，再切换到本地文件播放。&lt;/p&gt;
&lt;p&gt;刷新后重新读取文件、创建新的 &lt;code&gt;blob:&lt;/code&gt; 地址，不应把旧 &lt;code&gt;blob:&lt;/code&gt; 地址当作永久路径。&lt;/p&gt;
&lt;p&gt;“复制尾帧”也优先读取本地视频，再截取接近结尾的可用画面，减少重复下载。这个方法适合衔接参考，但不等同于经过严格逐帧解码得到的最后编码帧。&lt;/p&gt;
&lt;h2 id="十多服务商接入要隔离协议密钥和权益"&gt;&lt;a href="#%e5%8d%81%e5%a4%9a%e6%9c%8d%e5%8a%a1%e5%95%86%e6%8e%a5%e5%85%a5%e8%a6%81%e9%9a%94%e7%a6%bb%e5%8d%8f%e8%ae%ae%e5%af%86%e9%92%a5%e5%92%8c%e6%9d%83%e7%9b%8a" class="header-anchor"&gt;&lt;/a&gt;十、多服务商接入要隔离协议、密钥和权益
&lt;/h2&gt;&lt;p&gt;项目使用 React、TypeScript 和 Vinext，后端接口与前端放在同一个工程中，实际图像与视频生成由云端模型完成。&lt;/p&gt;
&lt;p&gt;百炼与 MiniMax 需要分别处理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;API 地址与鉴权密钥。&lt;/li&gt;
&lt;li&gt;模型和输入模式。&lt;/li&gt;
&lt;li&gt;时长、清晰度、图片数量。&lt;/li&gt;
&lt;li&gt;任务状态查询和结果下载。&lt;/li&gt;
&lt;li&gt;账户额度与计费规则。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例如，当前 MiniMax 查询链路需要先取得 &lt;code&gt;file_id&lt;/code&gt;，再换取下载地址；不能直接套用百炼的任务解析方式。任务历史也必须保存 provider，刷新后按原服务商查询。&lt;/p&gt;
&lt;p&gt;当前源码中的 MiniMax 接入仍限制为：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MiniMax-Hailuo-2.3＋文生/单张首帧图生＋6秒＋768P
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这是项目当前实现的限制。后来要求增加其他 MiniMax 模型、首尾帧和主体参考能力的会话，只提出了扩展方案，没有完成落地，不能记为已支持。&lt;/p&gt;
&lt;p&gt;账户方面也要分清：Key 鉴权成功、模型可见、账户有额度、任务被受理、最终生成成功，是不同层次的证据。历史查询到的额度只代表当时状态，不能反推出套餐名称、购买价格或今天剩余的次数。&lt;/p&gt;
&lt;h2 id="十一密钥保护与验证方式也是工作流的一部分"&gt;&lt;a href="#%e5%8d%81%e4%b8%80%e5%af%86%e9%92%a5%e4%bf%9d%e6%8a%a4%e4%b8%8e%e9%aa%8c%e8%af%81%e6%96%b9%e5%bc%8f%e4%b9%9f%e6%98%af%e5%b7%a5%e4%bd%9c%e6%b5%81%e7%9a%84%e4%b8%80%e9%83%a8%e5%88%86" class="header-anchor"&gt;&lt;/a&gt;十一、密钥保护与验证方式也是工作流的一部分
&lt;/h2&gt;&lt;p&gt;当前项目已从早期前端密码门禁，升级为服务端登录验证：服务端保存密码哈希，登录后签发会话 Cookie，生成、上传、查询和下载接口检查登录状态。&lt;/p&gt;
&lt;p&gt;服务商 Key 保存在服务端配置或密钥文件中；手动填写的 Key 仅用于当前页面会话，不写入任务历史。排障时只输出变量是否存在、HTTP 状态和脱敏错误，不直接打印密钥。&lt;/p&gt;
&lt;p&gt;验证可以分层进行：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;检查页面和参数校验。&lt;/li&gt;
&lt;li&gt;检查鉴权、模型目录或额度查询。&lt;/li&gt;
&lt;li&gt;模拟任务状态变化，验证刷新恢复、停止轮询和保存失败处理。&lt;/li&gt;
&lt;li&gt;获得生成授权后，再提交真实视频并观看验收。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;历史会话里曾在验证过程中真实提交测试视频，带来消耗额度的问题。这条经验应保留：测试网页交互和状态恢复时，优先使用模拟响应；真实生成需要明确计入测试成本。&lt;/p&gt;
&lt;h2 id="当前工作流的准确描述"&gt;&lt;a href="#%e5%bd%93%e5%89%8d%e5%b7%a5%e4%bd%9c%e6%b5%81%e7%9a%84%e5%87%86%e7%a1%ae%e6%8f%8f%e8%bf%b0" class="header-anchor"&gt;&lt;/a&gt;当前工作流的准确描述
&lt;/h2&gt;&lt;p&gt;目前网页中的“全流程 AI 视频生成”保留两步：多视图生成和参考生视频。早期内置的在线分镜生成界面及接口已经移除。&lt;/p&gt;
&lt;p&gt;因此，现阶段可以这样描述整套流程：&lt;/p&gt;
&lt;p&gt;在工作台外完成分镜与提示词设计，在工作台内按需生成多视图、上传参考素材、分段生成视频、自动保存成片并复制尾帧，最后使用剪辑工具完成拼接、字幕、音乐和片头片尾。&lt;/p&gt;</description></item><item><title>AI 视频思考：用 AI，让现在的自己与年轻的自己跨时空重逢</title><link>https://xedczq.cn/post/ai_video_reflections/</link><pubDate>Mon, 29 Jun 2026 10:38:00 +0800</pubDate><guid>https://xedczq.cn/post/ai_video_reflections/</guid><description>&lt;h1 id="用-ai让现在的自己与年轻的自己跨时空重逢"&gt;&lt;a href="#%e7%94%a8-ai%e8%ae%a9%e7%8e%b0%e5%9c%a8%e7%9a%84%e8%87%aa%e5%b7%b1%e4%b8%8e%e5%b9%b4%e8%bd%bb%e7%9a%84%e8%87%aa%e5%b7%b1%e8%b7%a8%e6%97%b6%e7%a9%ba%e9%87%8d%e9%80%a2" class="header-anchor"&gt;&lt;/a&gt;用 AI，让现在的自己与年轻的自己跨时空重逢
&lt;/h1&gt;&lt;p&gt;这次我做的是一支专家主题短片：把每位专家年轻时和现在的照片，生成“跨时空相望、对话、互动”的视频，再剪辑成一支完整的致敬影片。&lt;/p&gt;
&lt;p&gt;最初的想法是“新老自己相拥”。做下来发现，真正打动人的，是从注意到对方、认出自己，到交流、靠近、给予鼓励的情绪过程。整个工作流也逐渐从“上传两张照片，写一段提示词”，发展成了素材管理、动作设计、接口生成和后期剪辑相结合的制作流程。&lt;/p&gt;
&lt;h2 id="一先整理素材让每个人都有明确的对应关系"&gt;&lt;a href="#%e4%b8%80%e5%85%88%e6%95%b4%e7%90%86%e7%b4%a0%e6%9d%90%e8%ae%a9%e6%af%8f%e4%b8%aa%e4%ba%ba%e9%83%bd%e6%9c%89%e6%98%8e%e7%a1%ae%e7%9a%84%e5%af%b9%e5%ba%94%e5%85%b3%e7%b3%bb" class="header-anchor"&gt;&lt;/a&gt;一、先整理素材，让每个人都有明确的对应关系
&lt;/h2&gt;&lt;p&gt;素材来源是一份嵌有照片的 Excel，以及少量单独存放的图片。第一步是按表格顺序提取照片，并统一命名：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;01-姓名-young.jpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;01-姓名-old.jpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;02-姓名-young.jpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;02-姓名-old.jpeg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最终从表格中提取了 27 条记录、54 张图片。其中有两位专家在表格中重复出现，分别对应不同的照片组合，因此保留不同编号，没有直接去重。&lt;/p&gt;
&lt;p&gt;统一命名的价值很明显：上传时能快速找到配对照片，生成的视频也可以沿用相同编号，后期剪辑不会混淆。&lt;/p&gt;
&lt;p&gt;随后检查图片规格，统一满足：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;单张小于 10 MB。&lt;/li&gt;
&lt;li&gt;短边大于 400 像素。&lt;/li&gt;
&lt;li&gt;保留原始文件名和新老照片的对应关系。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;实际处理了 5 张不符合要求的图片：4 张等比放大至短边 512 像素，1 张超过 10 MB 的图片压缩至约 5.13 MB。这里的放大只是满足输入尺寸要求，并不能恢复原图中本来就缺失的面部细节。&lt;/p&gt;
&lt;h2 id="二先建立统一规则再针对每位专家修改"&gt;&lt;a href="#%e4%ba%8c%e5%85%88%e5%bb%ba%e7%ab%8b%e7%bb%9f%e4%b8%80%e8%a7%84%e5%88%99%e5%86%8d%e9%92%88%e5%af%b9%e6%af%8f%e4%bd%8d%e4%b8%93%e5%ae%b6%e4%bf%ae%e6%94%b9" class="header-anchor"&gt;&lt;/a&gt;二、先建立统一规则，再针对每位专家修改
&lt;/h2&gt;&lt;p&gt;为了让几十条视频剪在一起有系列感，我逐步确定了几条统一规则：&lt;/p&gt;
&lt;p&gt;年轻的自己固定在画面左侧，现在的自己固定在右侧；采用横屏 16:9；单条时长由最初的 5 秒调整为 8 秒；整体保持写实、温暖、克制的电影感。&lt;/p&gt;
&lt;p&gt;但每个人的照片和经历不同，背景、动作不能完全照搬。因此，提示词采用“统一骨架＋个人适配”的方式。&lt;/p&gt;
&lt;p&gt;统一骨架负责位置、时长、人物身份、画面风格和动作顺序；个人适配负责照片类型、背景补全、服装、道具及具体互动。&lt;/p&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;证件照没有真实环境，需要依据年代、服装和身份补全场景。&lt;/li&gt;
&lt;li&gt;旅游照尽量保留原来的景点、天气和旅行氛围。&lt;/li&gt;
&lt;li&gt;工作照、讲课照保留职业环境和人物工作状态。&lt;/li&gt;
&lt;li&gt;多人照片必须明确只选哪个目标人物。&lt;/li&gt;
&lt;li&gt;年轻照片中抱着玩偶时，需要明确人物识别不受玩偶影响。&lt;/li&gt;
&lt;li&gt;毕业照可以设计为如今的自己为年轻的自己拨穗，再给予鼓励。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些细节决定了视频是不是“这个人的故事”。&lt;/p&gt;
&lt;h2 id="三人物比例和面部真实是最需要反复强调的部分"&gt;&lt;a href="#%e4%b8%89%e4%ba%ba%e7%89%a9%e6%af%94%e4%be%8b%e5%92%8c%e9%9d%a2%e9%83%a8%e7%9c%9f%e5%ae%9e%e6%98%af%e6%9c%80%e9%9c%80%e8%a6%81%e5%8f%8d%e5%a4%8d%e5%bc%ba%e8%b0%83%e7%9a%84%e9%83%a8%e5%88%86" class="header-anchor"&gt;&lt;/a&gt;三、人物比例和面部真实，是最需要反复强调的部分
&lt;/h2&gt;&lt;p&gt;两张照片的拍摄距离和构图往往差别很大。一张可能是大头照，另一张是全身照。如果直接继承原图的人物大小，就容易出现一个人头大、另一个人身体小，或者新老自己身高差过大的问题。&lt;/p&gt;
&lt;p&gt;因此，我把比例要求提前到提示词最前面：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;忽略参考照片中的人物像素大小和拍摄距离，从视频第 0 秒开始，以统一、真实、自然的人体比例呈现两个阶段的人物。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;两人应处在可比较的地面和景深位置，头部大小、肩宽和身体比例自然协调。对于明确知道身高的专家，可以补充真实身高，例如年轻时 177 cm、现在 176 cm，视觉上应几乎同高。但这些数值只是生成指导，最终仍要看实际画面，不能靠提示词保证厘米级准确。&lt;/p&gt;
&lt;p&gt;另一个重要要求是不美化脸部。年轻和现在的面部特征要分别忠于各自照片，保留真实脸型、五官比例、发际线、肤色、皱纹与年龄痕迹。年轻的青涩、现在的从容，都来自原照片，不额外磨皮、瘦脸或年轻化。&lt;/p&gt;
&lt;h2 id="四把相拥改成有情绪起伏的动作过程"&gt;&lt;a href="#%e5%9b%9b%e6%8a%8a%e7%9b%b8%e6%8b%a5%e6%94%b9%e6%88%90%e6%9c%89%e6%83%85%e7%bb%aa%e8%b5%b7%e4%bc%8f%e7%9a%84%e5%8a%a8%e4%bd%9c%e8%bf%87%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;四、把“相拥”改成有情绪起伏的动作过程
&lt;/h2&gt;&lt;p&gt;最初的提示词常常把“相望、穿越、走近、握手、拥抱、微笑”全部塞进 5 秒里，动作容易仓促。&lt;/p&gt;
&lt;p&gt;后来调整为 8 秒，并明确先后关系：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;各自在自己的背景中自然活动
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 察觉对方
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 转头、目光相接
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 简短交流
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 背景融合、走近
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 完成一次主要互动
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 自然停留
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其中最重要的是“察觉到对方”。人物不能一开始就机械地看向画面中心，要先做自己的事，再停下动作、移动视线、轻轻转头，最后看向另一个自己。&lt;/p&gt;
&lt;p&gt;对话采用轻微口型、点头和自然手势表达，不预设具体台词。头部、眼神、肩部和手部动作要连贯，人物的注意力应落在对方身上，而不是看向镜头。&lt;/p&gt;
&lt;p&gt;在这支影片的动作设计中，男性专家主要采用握手、拍肩、扶上臂等鼓励动作；女性专家主要采用牵手、轻握双手、温柔拥抱等互动。这是本片的创作选择，也会依据具体人物气质调整。&lt;/p&gt;
&lt;p&gt;每次只选一组主要动作，变化可以来自谁先伸手、停顿多久、是否轻拍肩膀、如何回应。单靠“随机动作”几个字无法保证每次不同，更稳妥的办法是给每位专家分配明确的动作版本。&lt;/p&gt;
&lt;h2 id="五背景变化承担穿越时间的表达"&gt;&lt;a href="#%e4%ba%94%e8%83%8c%e6%99%af%e5%8f%98%e5%8c%96%e6%89%bf%e6%8b%85%e7%a9%bf%e8%b6%8a%e6%97%b6%e9%97%b4%e7%9a%84%e8%a1%a8%e8%be%be" class="header-anchor"&gt;&lt;/a&gt;五、背景变化承担“穿越时间”的表达
&lt;/h2&gt;&lt;p&gt;我希望开场能同时看到两个时期：&lt;/p&gt;
&lt;p&gt;左侧保留年轻照片的环境，右侧保留现在照片的环境。两个人先在各自背景下相望、交流，之后右侧当代背景逐渐淡出，最终融合到年轻时期的场景中。&lt;/p&gt;
&lt;p&gt;这样，现在的自己像是回到过去，与人生起点的自己相遇。&lt;/p&gt;
&lt;p&gt;背景转换要有空间连续性，避免突然换景、闪白或夸张特效。没有背景的照片，则依据已有信息补全合理场景，而不是所有人都使用同一个金色房间。&lt;/p&gt;
&lt;h2 id="六通过百炼-api-验证多图生成流程"&gt;&lt;a href="#%e5%85%ad%e9%80%9a%e8%bf%87%e7%99%be%e7%82%bc-api-%e9%aa%8c%e8%af%81%e5%a4%9a%e5%9b%be%e7%94%9f%e6%88%90%e6%b5%81%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;六、通过百炼 API 验证多图生成流程
&lt;/h2&gt;&lt;p&gt;实际调用时，确认使用的多参考图模型是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;happyhorse-1.1-r2v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;它采用异步流程：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;提交图片和提示词
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 获得 task_id
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 查询任务状态
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 成功后取得视频链接
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 下载保存
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;请求中的图片顺序很重要：第一张参考图对应 &lt;code&gt;[Image 1]&lt;/code&gt;，第二张对应 &lt;code&gt;[Image 2]&lt;/code&gt;。不能仅凭“年轻、现在”的惯例判断，必须每次检查绑定关系。&lt;/p&gt;
&lt;p&gt;接口需要服务端可访问的图片地址，本机文件路径不能直接作为公网图片 URL 使用。模型、API Key 和接口地域也需要匹配。&lt;/p&gt;
&lt;p&gt;我使用系统环境变量 &lt;code&gt;QWEN_KEY&lt;/code&gt; 做了一次真实测试，提交官方示例图片后，任务经历了 &lt;code&gt;PENDING&lt;/code&gt;、&lt;code&gt;RUNNING&lt;/code&gt;，最终返回 &lt;code&gt;SUCCEEDED&lt;/code&gt; 和视频下载链接。这验证了当前密钥能够调用该视频模型。&lt;/p&gt;
&lt;p&gt;这次还发现一个容易误判的地方：OpenAI 兼容接口的模型列表里没有显示某个视频模型，并不能据此断定百炼不支持它；应以对应模型的原生 API 文档为准。&lt;/p&gt;
&lt;h2 id="七生成失败时先看清是哪一层出了问题"&gt;&lt;a href="#%e4%b8%83%e7%94%9f%e6%88%90%e5%a4%b1%e8%b4%a5%e6%97%b6%e5%85%88%e7%9c%8b%e6%b8%85%e6%98%af%e5%93%aa%e4%b8%80%e5%b1%82%e5%87%ba%e4%ba%86%e9%97%ae%e9%a2%98" class="header-anchor"&gt;&lt;/a&gt;七、生成失败时，先看清是哪一层出了问题
&lt;/h2&gt;&lt;p&gt;遇到过 &lt;code&gt;DataInspectionFailed&lt;/code&gt;，其中两类提示要分开看：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;text (input)：输入文本审核未通过
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;image (input)：输入图片审核未通过
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;错误信息只指出被拦截的输入类型，不能据此确定具体是哪一个词、哪一个图像元素触发。之前对制服、标识或动作词的推测，都不能当成已经确认的原因。&lt;/p&gt;
&lt;p&gt;文本问题可以先检查表达是否准确、冗长或自相矛盾；图片问题则应确认素材内容、使用权限和平台要求，必要时换用更清晰、适合该平台的照片，或联系平台反馈误判。修改提示词并不能解决已经明确指向图片的审核失败。&lt;/p&gt;
&lt;h2 id="八批量制作需要任务记录和并发控制"&gt;&lt;a href="#%e5%85%ab%e6%89%b9%e9%87%8f%e5%88%b6%e4%bd%9c%e9%9c%80%e8%a6%81%e4%bb%bb%e5%8a%a1%e8%ae%b0%e5%bd%95%e5%92%8c%e5%b9%b6%e5%8f%91%e6%8e%a7%e5%88%b6" class="header-anchor"&gt;&lt;/a&gt;八、批量制作需要任务记录和并发控制
&lt;/h2&gt;&lt;p&gt;多位专家的视频可以分别提交，但“提交成功”和“同时开始生成”是两回事。账号实际能同时运行多少任务，要看模型配额和平台限流。&lt;/p&gt;
&lt;p&gt;批量制作时，每条任务至少记录：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;专家编号、姓名
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;两张参考图的顺序
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;提示词版本、动作版本
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;task_id、任务状态
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;下载文件名、审核结果
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;并发数量应根据实际额度逐步调整。任务成功后及时下载，避免临时链接过期；查询任务状态即可，不需要反复创建相同任务。&lt;/p&gt;
&lt;h2 id="九片头片尾采用设计图驱动动画"&gt;&lt;a href="#%e4%b9%9d%e7%89%87%e5%a4%b4%e7%89%87%e5%b0%be%e9%87%87%e7%94%a8%e8%ae%be%e8%ae%a1%e5%9b%be%e9%a9%b1%e5%8a%a8%e5%8a%a8%e7%94%bb" class="header-anchor"&gt;&lt;/a&gt;九、片头片尾采用设计图驱动动画
&lt;/h2&gt;&lt;p&gt;片头文字是：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;与年少的自己跨时空对话&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;片尾文字是：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;医路漫漫，薪火相传，步履不停&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;最初尝试让视频模型直接生成中文大字，后来为了减少错字，改为先设计好静态文字图，再让模型生成蓝色背景流动、星轨、金色微光和字体鎏金扫光。&lt;/p&gt;
&lt;p&gt;整体视觉统一为深蓝渐变背景、克制的金色光效、立体艺术字和庄重温暖的电影感。&lt;/p&gt;
&lt;p&gt;不过，参考图也不能保证生成过程中每一帧文字都不变形。需要严格准确的中文时，最可靠的做法是生成背景动画，再在剪辑软件里叠加原始标题图或文字图层，单独添加扫光、浮雕和淡入淡出效果。&lt;/p&gt;
&lt;h2 id="十后期剪辑把独立片段连接成完整作品"&gt;&lt;a href="#%e5%8d%81%e5%90%8e%e6%9c%9f%e5%89%aa%e8%be%91%e6%8a%8a%e7%8b%ac%e7%ab%8b%e7%89%87%e6%ae%b5%e8%bf%9e%e6%8e%a5%e6%88%90%e5%ae%8c%e6%95%b4%e4%bd%9c%e5%93%81" class="header-anchor"&gt;&lt;/a&gt;十、后期剪辑把独立片段连接成完整作品
&lt;/h2&gt;&lt;p&gt;整支长片由每位专家的独立短视频、片头片尾、音乐和字幕共同组成。&lt;/p&gt;
&lt;p&gt;单条生成后，重点检查：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;人物身份、年轻与现在的脸是否准确。&lt;/li&gt;
&lt;li&gt;年轻在左、现在在右的关系是否稳定。&lt;/li&gt;
&lt;li&gt;身高、头部和身体比例是否自然。&lt;/li&gt;
&lt;li&gt;视线是否看向对方，动作有没有跳变。&lt;/li&gt;
&lt;li&gt;手部接触、握手、拍肩或拥抱是否合理。&lt;/li&gt;
&lt;li&gt;背景变化与结尾是否便于衔接。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每人生成 8 秒，不代表剪辑时必须全部用完。可以保留最动人的几秒，让整片的节奏有变化。较长的个人故事也可以拆成多个镜头，但需要持续核对脸、服装、背景和道具的连续性。&lt;/p&gt;
&lt;h2 id="这次制作留下的思考"&gt;&lt;a href="#%e8%bf%99%e6%ac%a1%e5%88%b6%e4%bd%9c%e7%95%99%e4%b8%8b%e7%9a%84%e6%80%9d%e8%80%83" class="header-anchor"&gt;&lt;/a&gt;这次制作留下的思考
&lt;/h2&gt;&lt;p&gt;AI 视频提示词越长，并不意味着结果越稳定。真正重要的是明确身份、参考图用途、左右位置、比例、动作起点和终点。&lt;/p&gt;
&lt;p&gt;“温暖、感人、电影感”只能提供方向。让情绪落地的，是具体动作：先停下手里的事，认出对方；对视时短暂停顿；握手后轻轻拍肩；拥抱时留一点时间。&lt;/p&gt;
&lt;p&gt;这支影片想表达的，是走过多年之后，终于有机会回头看一眼年轻的自己，给予理解、感谢和鼓励。技术流程的每一次调整，都是为了让这个瞬间更真实。&lt;/p&gt;</description></item></channel></rss>