Skip to content
Ayanlin1688Public

About

Yanlin Smart-Creation Matrix:Windows 桌面批量 AI 视频 / 电商商品图生成工作流。PyQt5 + QFluentWidgets,支持多模型池并发与故障切换、参考图自动匹配、图生图、定时执行、防重复提交、本地历史与激活授权。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Yanlin Smart-Creation Matrix · 阶段5

Yanlin Smart-Creation Matrix 是一款 Windows 桌面批量视频生成工具,使用 Python 3.12、PyQt5 和 QFluentWidgets。支持持久化防重复提交、H3/V2提示词转换、模型识别、动态模型目录、多参考图自动匹配、模型池与并发、产品批处理、定时执行和私人 GitHub 仓库同步。

安装与启动

安装 Python 3.12 和 Git for Windows。私人仓库需要先通过 Git Credential Manager 或 gh auth login 登录有访问权限的 GitHub 账号。

git clone https://github.com/Ayanlin1688/-.git StoryboardVideoStudio
cd StoryboardVideoStudio
python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python main.py

首次启动使用默认配置,无需额外模板或素材。设置和任务历史保存在自动创建的 config.json,该文件不随仓库分发。项目保持 PyQt5 + PyQt-Fluent-Widgets,不要混装 PySide 版本的 Fluent 库。

使用流程

  1. 设置页填写视频 API 地址、API Key、图床上传 URL 和上传 Token。“测试连接”分别检查视频 API 和实际上传一张微型测试图,不创建视频任务。主 API Key 并非所有图床都接受的上传凭据。
  2. 选择提示词根目录、参考图根目录和视频保存目录。提示词为 UTF-8 .txt,图片支持 JPG/JPEG/PNG/WebP 和中文路径。
  3. 查看“匹配详情”中的全部图片,可拖拽调序、添加、移除并保存;“重新自动匹配”可恢复自动结果。“原始格式 / 转换后格式”预览随目标模型变化,修改点击“保存调整”后生效。
  4. 选择模型、比例、分辨率和时长,再点击“开始生成”,或设置定时执行。
  5. 任务历史支持状态筛选、产品列、打开目录和重新查询下载。重新下载沿用原 task_id,不创建新任务。

暂停阻止排队任务启动,已运行的任务继续处理;并发时可点击队列选择要查看或跳过的任务。取消或跳过停止本地后续处理,不代表服务端取消。关闭窗口时等待后台请求返回或超时,避免销毁仍在运行的线程。

产品子文件夹

提示词和参考图根目录下的同名子文件夹对应一个产品:

提示词/
  玫瑰毯子/
    01_展示.txt
    02_细节.txt
  车载风扇/
    01_展示.txt
参考图/
  玫瑰毯子/
    1(1).jpg
    1(2).jpg
    1(3).jpg
    2(1).jpg
  车载风扇/
    1(1).jpg
视频保存/
  玫瑰毯子/
    001_01_展示.mp4
    002_02_细节.mp4
  车载风扇/
    001_01_展示.mp4

产品按文件夹名自然排序,产品内部按提示词相对路径自然排序;当前产品全部结束后自动处理下一个。自然排序让“产品2”排在“产品10”之前。递归扫描仅在各产品内部进行,参考图不会跨产品绑定。同名参考图子文件夹缺失时,日志警告并跳过整个产品,即使选择了文生视频策略也不会提交该产品。

提示词根目录直接包含 TXT 时仍按旧版流程处理(保留递归设置和手动图片选择);根目录 TXT 和产品子文件夹混用时,根目录任务显示为“未分组”,只匹配参考图根目录的直接图片。工作台队列始终展开每个任务,显示产品列、当前产品和总进度。“已完成产品”表示该产品的任务均已结束,包括失败、跳过和取消;成功/失败数量另行统计。

工作台使用四张目录/运行统计卡片、三行展开式任务表格和常驻日志。点击卡片的文件夹图标选择目录;“生成参数”打开参数与任务详情弹窗,“匹配详情”保留完整绑定及提示词预览。参考图点击可放大、缩放,空闲时拖动可调整 Picture 顺序并立即保存;超过三张可横向滚动查看。运行时锁定顺序。行内菜单提供重试、跳过当前、查找日志和打开目录,重试仍经过原有防重复提交账本,重新下载只查询已有 task_id。

顶部 API 状态来自本次模型同步的实际结果;尚未检测时不会显示已连接。上传接口仍在设置页单独测试。“自动保存”控制日志高度和任务筛选等工作台视图偏好;图片顺序、生成参数、历史和提交账本始终即时保存。拖动日志上沿调整高度,日志支持 INFO/SUCCESS/WARNING/ERROR/DEBUG 筛选;DEBUG 内容受设置页调试开关控制。

多图匹配与参数

每个提示词依次按“完全匹配 → 前缀匹配 → 序号匹配”取第一个命中层级的全部图片,再按文件名自然排序。例如 玫瑰毯子1.txt 或 01_展示.txt 自动绑定 1(1).jpg、1(2).jpg、1(3).jpg。编号 1 不匹配编号 10;同系列 JPG/PNG 都会保留。Picture 1 对应 images[0],保存的手动顺序优先。

<Picture 1>、<Picture1>、<Picture 1 >、@Image1 等转换为模型要求的参考图标记。引用编号大于图片数量时,日志警告可能影响生成质量。未匹配提示词策略支持跳过、文生视频或暂停;暂停后点击继续会按文生视频提交该条,也可跳过。

接口模型名 主要参数约束
video-v1 /video/generations,duration 为 5/10/15,不发送分辨率和音频
video-v2 / video-v2-fast /videos,duration 为 5/10/15,默认目录只开放720p,支持音频
video-v3 / seedance-2.5 / seedance2.5 / sd-2.5 / sd2.5 /videos,4–30 秒,720p,16:9/1:1/9:16,支持音频与可选 seed
MiniMax-H3 /videos,4–15 秒;默认目录开放1080p/2K/4K;9:16 + 1080p 提交 size=1088x1920
grok-imagine-1.5-video multipart /videos,1–15 秒,重复 input_reference 文件字段,多图仅 480p/720p

选项随上游能力更新,非法参数在上传和提交前拦截。自动识别与模型池都关闭时严格使用工作台所选模型和参数。已有相同输入、有效参数和 task_id 的任务会被保留,避免重复提交;失败记录可以在历史中重新查询下载。底层适配器仍兼容旧版H3低分辨率及v2多分辨率记录,但界面使用当前目录限制。

防重复提交与恢复(阶段5)

“设置 → 任务策略 → 防重复提交”默认开启。每条记录保存提示词内容 SHA256;生成签名另包含有序图片路径及内容 SHA256、模型、有效参数和 API 地址。提示词改名或仅修改时间戳不会绕过去重;调整图片顺序、内容或生成参数视为不同生成请求。账号用不可逆凭据指纹隔离。

提交账本 submissions.sqlite3 与 config.json 同目录,提交前用 SQLite 事务持久化意图;同一提示词在多个窗口/进程间也只能有一个提交者。命令行直接使用 TaskManager 且没有指定账本路径时,账本放在提示词目录的父目录,名称为 .storyboard-submissions.sqlite3。请保留并一同备份账本和配置,删除账本会失去部分防重记录;这些文件均禁止上传 GitHub。

  • 相同生成已完成或正在运行时,队列标为“重复”并显示“已跳过X个重复任务,避免重复扣费”。已完成任务可从历史点击“重新生成”,确认框默认“不重新生成”;确认后只为该条授权新一次生成。
  • 创建请求连接超时10秒、读取超时30秒。连接中断、超时、429、5xx、异常成功响应,以及无任务ID的401/403/404,均进入“提交待确认”,不自动重发 POST,重启和关闭普通防重开关也不能绕过。
  • 错误响应仍含有效 task_id 时,立即持久化并查询原ID;后续重试、换模型和重新下载都沿用它。只有明确400/422拒绝创建,或远端原任务明确 failed,才允许按重试策略创建下一次尝试,旧ID保留在 attempts。
  • 当前服务文档没有最近任务列表或服务端幂等键契约,因此不猜测是否创建成功。在服务商后台核对后,点击当前任务/历史中的“处理待确认”:填写已创建ID,或明确确认服务端未创建。默认保持待确认,不会自动授权重建。
  • 缺少账号归属的旧版本历史先进入待确认,不直接用新密钥查询旧账号任务。明确归属其他账号的记录不会自动恢复;重新下载前同样检查账号。
  • 429退避为5/10/20/40/60秒,并发上限每次降低1,最低1;连续3次429暂停新提交。5xx同样退避但不降低并发。已有任务继续轮询,用户点击“继续”才解除限流暂停;没有ID的待确认任务仍需单独核对。

H3 / V2提示词转换(阶段5)

转换规则根据提供的两个模板确定,不调用语言模型、不修改源TXT。core/prompt_converter.py提供 detect_format、h3_to_v2、v2_to_h3 和提交/预览共用的 convert_for_model。纯文本不转换;自动识别或故障转移选择另一格式模型时,始终从原始输入转换,不反复转换上一次结果。

H3转V2保留主体、镜头、对白和环境音,去掉时间码、对白标签、保留分析与音乐字段;参考图统一为 @图N,末尾逐字附加固定禁止项和强制声明。V2转H3输出六个有序字段,主体标为 fully_preserved,summary带 [reference generation],音乐为 N/A;第一镜无时间码,后续镜头按有效时长均匀递增。直接调用且未传时长时采用3秒递增。转换不翻译语言,也不凭空编造产品描述。

Work-Fisher首行声明不会提交给API;V2转H3会去掉声线块。跨格式遇到缺字段、缺镜头等无法可靠映射的结构时,在预览和日志明确报错,并在付费提交前拦截。格式转换后还会执行协议参考图适配:H3实际请求用 @参考图N,video-v2用 @ImageN,图片顺序保持不变。

H3格式以至少两个不同的标准字段头识别,普通脚本中的 [Shot 1]、(S1) says 不参与字段计数。只有零个或一个H3字段头的自由文本跨模型时保留原文;命中至少两个字段头但结构残缺的H3转V2仍严格报错。

三个转换开关默认开启:“自动转换提示词格式”“转换后保留原文”“故障转移优先同格式模型”。关闭“保留原文”仅停止保存额外的转换前快照 original_prompt;实际转换文本 converted_prompt 与最终请求文本 submitted_prompt 仍保存用于核对任务,无需转换时两者可能与原文相同。调试日志的原文记录由独立的“调试模式”控制。关闭自动转换仍清除模板作者声明。

模型识别与同步(阶段4)

自动识别默认开启。扫描后队列显示模型标签,与工作台默认值不同时标注“自动”;匹配详情显示完整模型ID。识别规则按以下优先级执行:

  1. H3至少命中两类独立特征,例如 subject_definitions: 和 [Shot 1];只有一类H3特征时回退,不误判为英文模型。
  2. 中文分镜或 @图1 / @图片1 标记使用 video-v2(Seedance 2.0)。提交前转换为 @Image1,不会改变参考图顺序。
  3. 无结构的短自然语言描述使用 video-v3;长文本英文占比超过80%时用 grok-imagine-1.5-video;其他明确的长中文提示词使用 video-v2。
  4. 空文本、模糊结构或证据不足时,使用设置中的“无法识别时使用”;留在自动选项则使用工作台模型。空提示词仍会在提交前校验失败。

队列右键“强制使用模型”或匹配详情下拉可以手动覆盖;详情修改点击“保存调整”生效。“重置模型识别”清除所有手动模型覆盖,不改图片绑定。自动识别模型优先尝试,失败后可按模型池策略故障转移;手动覆盖始终锁定。关闭识别时忽略这些覆盖,保留阶段2B模型池行为;模型池也关闭才统一用工作台模型。模型、参数和目录快照在每批开始时冻结,运行中同步不影响已排队任务。

启动先读取 models_cache.json,再后台请求 GET {api_base}/models(Bearer鉴权、每次请求超时10秒)。缓存有效期24小时;启动时无论是否过期都会尝试刷新,失败保留缓存并警告“使用离线模型缓存”。无API Key时只使用内置目录。缓存按API地址和凭据指纹隔离,不保存凭据;旧账号的迟到响应不会覆盖新账号缓存。设置中的“同步上游模型”可手动刷新并显示同步时间。

模型下拉显示真实ID、分辨率、计费信息,悬停显示描述。接口未给出能力时探测可选详情接口,或从描述解析;仍缺失的字段使用已验证协议族的保守默认值。价格缺失显示“计费未提供”,不会猜测。新增渠道自动出现,模型池中已下架的条目标记禁用;上游明确给出唯一旧名别名时同步更新模型池名称。已有远端任务不因模型下架而重新提交。

H3默认显示1080p/2K/4K,video-v2和video-v3默认720p,video-v3-480p显示480p;单分辨率自动选中并禁用下拉。图片模型及未知提交协议模型可在目录中看到但不可作为视频模型选择。目前 wan-3.0 只保留目录信息及720p能力,提交协议未确认,禁止直接生成;不能因为目录出现某个名字就推断其请求格式。

模型池、重试与并发(阶段2B)

在“设置 → 模型池”打开“启用模型池”(默认关闭),勾选模型并选择策略。轮询按列表顺序循环;随机从可用模型中选取;优先级始终先选列表中第一个可用模型。禁用或冷却中的模型不参与新任务分配。设置在每批启动时读取,运行中修改于下一批生效。

  • 开启自动故障转移时,模型参数校验、明确400/422提交拒绝或远端明确生成失败会使该模型立即冷却,下一次重试选择可用模型。开启“优先同格式”时先选择兼容原提示词格式的模型,再按原池策略选择。关闭故障转移时不切换模型;同一模型达到“连续失败阈值”后仍会冷却。上传、临时查询及下载错误不归因于模型健康。成功任务重置连续失败数。
  • 冷却时间默认30秒,可设1–3600秒;状态以黄点和倒计时显示。全部冷却时等待最快恢复的模型,等待期间可以跳过或取消。恢复后自动显示健康。
  • “失败自动重试”默认开启,最大重试次数默认5,表示首次尝试之外再试5次,最多6次尝试;间隔默认3秒。关闭后任务级失败立即结束。图片上传保留原有内部重试一次(间隔2秒),若仍失败才使用任务重试预算。已全部上传成功的图片URL在本任务提交重试/换模型时复用,顺序和数量不变。
  • 临时轮询失败继续查询原task_id和原模型;下载失败重下原URL,不重新创建视频。只有服务端明确返回生成失败,才允许清除当前ID并重建;旧ID保留在历史的attempts中。每次轮询恢复使用新的最长等待窗口,仍受总重试次数限制。
  • “最大并发数”默认1,可设1–5;每个任务有独立的网络连接与轮询。并发只作用于当前产品,当前产品全部结束才切换下一产品。当前任务卡片显示占用执行名额的任务数(含重试/冷却等待)和排队数,点击队列可查看各自进度。
  • 池内模型的合法参数可能不同:时长选最近的合法秒数(相同时选较长),不支持的比例使用该模型首个比例,分辨率优先720p或目录首个支持值(当前H3为1080p);Grok多图1080p调整为720p。每次调整写入日志,实际模型、有效参数及每次尝试都写入历史。不会自动丢弃参考图;超出图片数量限制时在本地拦截。

提交阶段的不确定错误不消耗自动重建重试预算,而是立即进入“提交待确认”;开启“失败自动重试”也不会绕过阶段5保护。上传、查询和下载仍按各自阶段重试。

已创建任务返回 video_generation_failed 且提示“远程图片下载…”时,归类为服务商侧参考图拉取或校验失败,保留原始code/message、任务号和尝试记录。可直接重试;反复失败时请使用标准JPEG/PNG,并联系中转站确认图床对模型侧可达。仅在开启“失败自动重试”时按既有次数和模型池策略重试。

查询任务详情始终携带 Cache-Control: no-cache 和 Pragma: no-cache。低进度从5秒开始温和退避(×1.2,最多15秒);进度达到70%或连续处理满60秒后每3秒查询,达到95%、连续处理满90秒或已完成但等待下载地址时每2秒查询。进度变化立即回到所属阶段的快速间隔,高进度回退不会退出快速阶段;等待下载地址仍最多45秒。请求本身的网络耗时会叠加到间隔上,不能保证网络异常时仍在2–3秒内发现完成。

检测到完成且取得地址后,在当前任务线程立即开始下载。日志和历史记录保留最近 processing、首次 completed、下载开始/完成时刻及耗时;“距上次轮询”包含本次请求耗时,不等于网页完成延迟。网页显示成功的时刻需人工记录后与同一 task_id 的日志对照。

下载块上限512KiB,读取时保留已到达的短块,支持断线续传、SHA256完整性校验与完整后原子发布。至少4MiB且服务端声明支持字节范围、提供强ETag时,默认使用4个独立连接并发下载;分段数可设为2–8,每段至少1MiB,较小文件自动减少分段数;严格核验每段206/Content-Range/长度/ETag,不支持或校验失败自动退回单流。小文件不额外发HEAD探测,但仍记录Range支持、强ETag是否存在、长度、Content-Encoding和加速开关。可在本地配置把 download_settings.parallel_download 设为 false 关闭分段加速。日志显示实际下载模式、首字节耗时和吞吐量,实际提速取决于服务端与网络。

定时执行

“设置 → 定时执行”中选择时间、仅一次/每天重复、队列结束后保持运行/自动关闭,然后启用开关。工作台顶部显示下次执行时间,关闭开关立即取消。

  • 启动后通过 HTTPS 时间响应校准软件内部时钟,设置页显示当前时间、来源和偏差;不修改 Windows 系统时钟。网络不可用时警告并使用系统时间。
  • 到点复用“开始生成”的完整流程;已有队列或重新下载正在运行时记录日志并跳过该次。跨过开始前五分钟时提醒一次,设置不足五分钟的定时不会给出错误提醒。
  • 执行前先持久化消费本次定时,防止重启后重复提交。一次模式执行后关闭开关,每天模式安排下一天。软件关闭期间错过的定时不补交。
  • 自动关闭仅作用于定时启动的非空队列;手动取消后保持运行。后台工作未结束时仍按安全退出流程等待。
  • 最小化或切换其他软件不影响触发;需要软件持续运行、电脑保持唤醒。关机、退出或系统睡眠期间无法执行;从睡眠恢复后若跨过时刻,会在下次时钟检查中消费当次事件,不补跑多个历史日期。

每天定时处理当前目录中的任务;已有远端 task_id 的相同任务沿用原记录,不每天重新生成相同素材。增加提示词或修改有效输入后会创建新任务。

GitHub 同步

同步目标仅为本人管理仓库 origin(Ayanlin1688/-)的 main;不再向旧仓库 admin11044/StoryboardVideoStudio(原 legacy 镜像)推送,也不会自动添加该远端。不替换 origin,也不强制推送。设置页“同步到GitHub”按钮在后台检查敏感文件、只执行一次 add/commit,然后推送并核对 origin/main;失败时间隔 2 秒重试,最多 3 次,不会重复提交。提交身份固定为 Ayanlin1688 <329457281+Ayanlin1688@users.noreply.github.com>。结果用 InfoBar 和日志提示。

python -X utf8 scripts\sync_github.py

自定义说明可写入 UTF-8 文件,然后执行:

python -X utf8 scripts\sync_github.py --message-file temp\commit-message.txt

说明使用中文,前缀为 feat:、fix:、refactor:、docs:。没有代码改动时也会推送已有本地提交。Git 登录由系统凭据工具处理,首次认证请在终端完成 gh auth login 和 gh auth setup-git,或通过 Git Credential Manager 登录。应用内后台同步不会弹终端索取密码。网络需要代理时配置本机 Git 代理,不把凭据写进远端 URL。

AGENTS.md 已记录后续每批代码修改验证完成后自动提交推送的开发约定。软件不监视磁盘并提交正在编辑的半成品;设置变更只写本地配置。

.gitignore 排除 config.json、密钥/环境文件、视频、日志、缓存、截图、临时文件和本地诊断产物;同步服务还检查实际暂存内容中的本地凭据。不要将密钥写入源代码。同步失败会保留本地提交,修复网络或登录后可重试,不会强制覆盖远端。

配置与诊断

配置采用临时文件加原子替换。paths 保存目录,match_overrides 保存绑定图片及顺序,history 保存产品、task_id、原接口、输出路径和状态,schedule 保存定时时间及已消费事件。

下载命名支持 {序号}、{提示词名}、{模型}、{日期}、{时间}、{task_id};每个产品内重新计数。默认不覆盖已有文件,完整下载后才保存最终文件。非法文件名会清理,输出不能越过选择的目录。

开启“设置 → API 配置 → 调试模式”后显示 DEBUG 日志和已提交图片数:原图路径/尺寸/格式/字节数、上传 URL、提示词替换前后、实际 images 和脱敏请求体。额外匿名下载上传图片核对尺寸/格式/哈希,最多 32MB;诊断异常只警告,不修改图片或中断原流程。关闭后界面和导出只显示 INFO 及以上级别。

图床 URL 从配置读取,multipart 字段为 files,边界由 requests 生成。默认图床使用 Bearer 和 X-Upload-Token,优先单独上传凭据。自定义图床不会自动收到主 API Key。上传响应兼容 files[0].url、data.files[0].url、url、data.url,超时为连接 15 秒/读取 60 秒。

Fluent 深色视觉

界面保持深色主题:垂直渐变背景、半透明圆角卡片、缓存双层柔阴影、当前任务蓝色内光,以及按钮/卡片悬停、页面淡化、进度流光和生成状态呼吸动画。按钮动效200毫秒、页面切换300毫秒;开关继续使用Fluent自带滑动。

卡片使用缓存的柔光渐变与颗粒模拟毛玻璃,不实时模糊桌面或文字。安装了Fluent可选Acrylic依赖时,展开导航和下拉菜单使用库自带Acrylic;否则使用半透明渐变。Windows 10默认使用模拟模式,Mica未启用。循环动效只刷新可见区域,切换到其他页面、滚出视野或最小化后暂停,恢复可见时继续;任务调度和后台生成不受影响。

项目结构

main.py                    程序入口
requirements.txt           Python 依赖
core/                      配置、匹配、任务、API、下载、定时、校时、Git同步
  prompt_detector.py       提示词格式识别及任务模型选择
  prompt_converter.py      H3/V2结构转换与预览共用逻辑
  submission_ledger.py     提交前事务账本、账号隔离及显式恢复
  submission_safety.py     429/5xx退避与新任务提交门控
  model_catalog.py         上游模型元数据、能力和离线缓存
ui/
  main_window.py           Fluent 主窗口
  materials.py             缓存材质、双层阴影和统一色板
  motion.py                交互动画、页面淡化和可见区域动效时钟
  pages/                   工作台、历史、设置
  widgets/                 队列、参数、数据源、当前任务、日志等
  components/              匹配详情与共用控件
scripts/                   启动检查、截图、同步及验收工具
tests/                     单元、真实本地HTTP、Qt界面集成测试
AGENTS.md                  增量开发和自动同步约定
.gitignore                 敏感文件和生成产物排除规则

验证

python -X utf8 -m unittest discover -s tests -v
python -m compileall -q core ui scripts tests main.py
python scripts\check_startup.py
python -X utf8 scripts\verify_stage3.py --wait-minute
python -X utf8 scripts\verify_stage2b.py --native
python -X utf8 scripts\verify_visuals.py --native
python -X utf8 scripts\verify_stage4.py --native
python -X utf8 scripts\verify_stage5.py --native
python -X utf8 scripts\capture_screenshots.py

阶段3验收使用独立配置和本机 HTTP 服务,真实等待 60–120 秒到 UI 选择的整分钟,在最小化状态自动处理“玫瑰毯子 + 车载风扇”,验证三图顺序、上传/提交/轮询、分产品下载和历史。不会调用收费平台;下载为固定测试字节,不代表服务商视频生成结果。结果和日志位于本地 artifacts/stage3/。去掉 --wait-minute 可快速触发相同本地流程。

阶段2B验收关闭自动识别以单独验证模型池,使用本机HTTP接口验证三模型轮询、明确提交错误故障转移、关闭本机端口后停止重建、2并发5任务、冷却恢复及历史实际模型名。--native使用Windows原生窗口,省略则离屏执行。结果、日志及运行中界面证据位于artifacts/stage2b/,不调用收费平台,不读取用户API配置。

python -X utf8 scripts/capture_workspace_dashboard.py 在原生窗口最大化后生成工作台验收三图:screenshot_workspace_full.png、screenshot_table_detail.png、screenshot_image_preview.png,保存于 screenshots/。脚本使用标明为示例的独立配置和本地绘制图片,不提交付费视频。原六图脚本仍可用于历史/设置页检查。截图、真实素材和平台诊断产物均不上传 GitHub。

阶段5验收通过本地HTTP记录实际POST次数,覆盖重复点击、响应丢失、429、503和错误响应含ID,检查重启后仍阻止重建,并输出双向转换示例与退避序列。结果和日志在 artifacts/stage5/,付费平台创建次数为0。单元测试另覆盖跨进程预留、连续三次429后已有任务继续轮询、确认框默认安全、账号迁移和转换预览。

阶段4验收用本地HTTP接口和独立配置,扫描三类提示词、每条自动绑定三张图片,验证模型选择、字段转换、三个URL及模拟下载。日志和结果位于 artifacts/stage4/。加 --upstream 会额外读取本地API配置,仅GET真实模型目录并更新模型缓存,不上传素材、不创建付费视频。单元测试另覆盖手动锁定、故障转移、下架去重、异步缓存隔离、模型改名及空目录。

视觉验收使用独立空白配置,不读取用户密钥、不提交视频。验证鼠标悬停/按下、快速导航、下拉选择、开关保存、动态行删除、进度/圆点可见性与最小化恢复,并记录同时运行5个呼吸圆点及进度动效时的GUI定时响应。报告保存到 artifacts/visual-upgrade/verification.json;其中响应间隔是本机抽样,不等同于屏幕帧率。

需要真实服务商冒烟测试时,先填写本地配置:

python -X utf8 scripts\run_live_smoke.py
python -X utf8 scripts\run_live_smoke.py --submit

第一条只检查配置,第二条可能产生平台费用,最多处理首个提示词。脚本与桌面应用共用配置旁的提交账本和离线模型缓存,已有ID或待确认意图不会因切换入口而重新创建。结果保存在所选配置旁的 live-smoke-result.json(默认仍在项目根目录),不分发到仓库。

About

Yanlin Smart-Creation Matrix:Windows 桌面批量 AI 视频 / 电商商品图生成工作流。PyQt5 + QFluentWidgets,支持多模型池并发与故障切换、参考图自动匹配、图生图、定时执行、防重复提交、本地历史与激活授权。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages