Commit Graph
77 Commits
Author SHA1 Message Date
Azmat@qq.com bd4799151c 登陆优化 2026-09-17 10:28:37 +08:00
Azmat@qq.com a95cd159db 视频创作解决已发现问题 2026-09-16 10:21:29 +08:00
Azmat@qq.com 3fed9b9435 优化全能创作 2026-09-14 15:58:20 +08:00
Azmat@qq.com 463613c0d7 优化全能创作 2026-09-14 11:47:49 +08:00
Azmat@qq.com dbcac8a44b 优化全能创作 2026-09-11 10:47:19 +08:00
Azmat@qq.com 43f80a4d90 优化全能创作部分优化脚本 2026-09-10 18:59:08 +08:00
Azmat@qq.com 538d4aeefe 添加账户中心 2026-09-07 10:46:00 +08:00
Azmat@qq.com 75b1665f76 一件成片积分计算补上 2026-09-04 18:30:43 +08:00
Azmat@qq.com 0d042edc73 一键成片优化 2026-09-04 18:16:43 +08:00
Azmat@qq.com 15718a60bf 大量优化修改扣积分规则 2026-09-04 17:20:22 +08:00
Azmat@qq.com 3e904479d9 修改全能创作发现问题 2026-09-03 19:00:59 +08:00
Azmat@qq.com 6a628b0ca7 添加全能创作功能 2026-09-03 13:11:46 +08:00
Azmat@qq.com 22ed2833ad 优化脚本生成卡住问题 2026-09-02 15:12:50 +08:00
Azmat@qq.com c9522eea08 优化多个视频带字幕问题 2026-09-02 11:51:08 +08:00
Azmat@qq.com 5e02c1081a 修改yunqikey 2026-09-02 09:08:39 +08:00
Azmat@qq.com 0603a85d83 优化替换角色添加音频 2026-09-01 17:55:57 +08:00
Azmat@qq.com e24ca1b0de 视频复刻优化替换商品和替换角色 2026-08-31 16:40:16 +08:00
Azmat@qq.com 6b6146e595 优化视频复刻和商品内容大小 2026-08-28 18:42:28 +08:00
Azmat@qq.com c0a0b9603b 优化脚本 2026-08-28 14:45:38 +08:00
Azmat@qq.com 849b14a0f6 完善视频提炼和视频复刻完善提交测试 2026-08-28 10:15:15 +08:00
Azmat@qq.com 51620bf25b 完成视频复刻和优化 2026-08-27 11:54:47 +08:00
Azmat@qq.com c25060c6c6 优化住流程和添加复刻视频页面 2026-08-26 18:44:03 +08:00
Azmat@qq.com 0ee498d807 测试极速成片 2026-08-26 15:18:18 +08:00
Azmat@qq.com 245525ec53 解决极速成片问题 2026-08-26 09:19:53 +08:00
Azmat@qq.com 43d0b088e4 优化极速成品 2026-08-26 09:00:00 +08:00
Azmat@qq.com 2f70d3e8a0 完成极速成片 2026-08-25 18:46:20 +08:00
Azmat@qq.com df6784b90c 优化脚本 2026-08-25 16:40:22 +08:00
Azmat@qq.com e2ec2d14af 完成极速成品和脚本优化 2026-08-25 11:13:07 +08:00
Azmat@qq.com 2f5b7304b0 添加视频复刻和优化脚本旁白 2026-08-24 10:48:01 +08:00
Azmat@qq.com c2d3a786a3 优化脚本 2026-08-21 10:28:35 +08:00
Azmat@qq.com dfe94a923e 完善二期清单 2026-08-18 14:11:05 +08:00
Azmat@qq.com d1ecb52125 大量修改二期功能清单内容 2026-08-17 18:26:42 +08:00
hh e81d7170ed fix: 统一AI生成失败提示 2026-07-15 13:12:35 +08:00
hh fc0f0ca370 feat: 解耦角色与模特并完善模特库 2026-07-13 11:02:30 +08:00
hh 564215dc53 fix: 完善商品—模特库-视频项目-自由创作等删除先进垃圾桶及可恢复等流程 2026-07-10 15:06:07 +08:00
zycandClaude Sonnet 5 bf20de956c feat(billing): 计费商业化重构(积分制)+ 团队差异化调价
统一计价引擎 apps/billing/pricing.py:1积分=¥0.1,平台成本(¥)与用户价(积分)双记账,
视频按火山真实 usage.total_tokens 结算(true-up,终结¥1/段倒贴)+ 首发×1.5毛利系数。
Team.price_multiplier 差异化调价(jimeng同款):挂牌价×系数两步HALF_UP取整,视频类
按下单时的价格/汇率快照结算(中途改配不影响在途任务)。

BillingConfig 单例(汇率/毛利系数/预留buffer,admin可调即刻生效)。存量数据 ×10 rescale
迁移(RunPython+atomic,MySQL 迁移不可中断重跑)。开户赠送归零(DEFAULT_TRIAL_CREDITS=0,
商业决策)。audit_billing 加 I9(卖亏审计)。271 条测试 + tsc/build 全绿。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 10:04:00 +08:00
zycandClaude Fable 5 c5f7eb2acc feat(ai): 自由创作视频生成全量移植(/free-create)——Seedance 文/图生视频+按时长计费+人物素材库
后端:
- free_video.py: 提交/轮询/收藏/软删全链路,复用 AITask(新增 is_deleted/is_favorited, migration 0022)
- video_pricing.py: 按时长 token 计费(×1.10 buffer+clamp); video_errors.py 错误归一; media_probe.py 时长探测
- catalog/volcano: Seedance free-video 模型接入+seed(migration 0023)
- 素材库: FreeAssetGroup/FreeAsset(火山 Assets API 引用登记, migration 0009)+ 上传/轮询/删除接口
- settings: FREE_VIDEO_MAX_CONCURRENT 团队并发闸(默认3); CELERY_TASK_ALWAYS_EAGER 本地联调开关(生产恒关)
- 测试: test_free_video.py 新增; billing/products/projects tests 配套调整

前端:
- /free-create 页面+components/free-create/ 全套(输入栏/@mention 素材引用/生成卡/视频详情弹窗/素材库弹窗)
- api.ts/types.ts 扩展 free-video 与 free-assets 接口; 路由/侧边栏入口接入

bug/: 测试清单 (11)(12) 与截图归档

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 10:58:36 +08:00
zycandClaude Opus 4.8 22268d608b fix: 测试清单一轮bug修复(商品库/视频项目/设置/消费/平台套图)
- 商品库编辑删图假成功+悬停无删除图标;商品三视图错显角色三视图
- 视频项目演员删除入口;角色三视图防呆;故事板审核失败原因透出
- 设置:管理团队死按钮/通知未接入项屏蔽/邮箱验证链路
- 消费:账单流水切换类型重置分页+独立总页数
- 资产库上传按钮隐藏;月限额两处对齐
- 平台套图:提示词框放大/选模型胶囊内嵌/未读任务角标/工作台记录持久化
- 新建商品独立添加卖点按钮;商品库超1920自适应

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 19:46:35 +08:00
zycandClaude Opus 4.8 4d2b9343b3 feat: 角色重跑参考当前立绘+提示词,保持人物一致 (row42)
原「重跑」立绘是纯文生图,每次重抽成另一个随机人。改为:角色已有当前立绘时,
重跑传该立绘作参考图 → 后端走 image_edit(参考立绘+提示词),保持同一人物相貌/发型/身份一致。

- generate_base_asset 新增 reference_asset_id;person 有参考图则 image_edit + build_person_portrait_prompt_refs
- run_base_asset_task image_edit size 按 kind 区分(person 立绘竖 1024x1536,商品三视图横)
- 全链路透传 reference_asset_id:pipeline.regenPortrait(传 viewPortraitAsset)→ genBaseAsset →
  onGenerateBaseAsset → api.generateBaseAsset → generate-base-asset 端点
场景重跑不受影响(仍文生图);需部署生效(后端)。

构建: tsc=0/build=0; py_compile OK; projects+assets 测试无新增回归(基线 4 fail 2 err)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 13:20:47 +08:00
zycandClaude Opus 4.8 76d59d06fe fix: 视频项目第二步复用商品库已生成的三视图,不再「缺三视图」(ZWQ#5 续2)
商品库三视图走 standalone Asset、视频项目走项目级 BaseAssetGroup,两套存储不互通 →
商品库生成/采用的商品三视图,进视频项目第二步基础资产读不到、显示「缺三视图」。

修:项目详情 retrieve 时惰性单向同步(幂等,沿用 settle_video_completion 同款自愈模式)——
若商品已有 standalone 三视图(metadata.view=three_view + product_id)但项目商品组尚无采用资产,
就 seed 进项目商品 BaseAssetGroup(candidate+adopted)。已在项目内生成过的不覆盖。
依赖上一commit给商品库三视图打的 view=three_view 标记。

projects 测试:基线已有 4 失败 2 错误(环境 provider 未配),本改动无新增回归。需部署生效。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 11:47:07 +08:00
zycandClaude Opus 4.8 b0b3ac2348 fix(test-round): 测试清单一批 bug 修复 + 团队月限额持久化
后端:
- accounts: 团队级月限额持久化(Team.monthly_credit_limit 三态 + PATCH/GET
  /api/auth/team/settings/,刷新不丢,PMC#12);头像上传 500→502 可读错误;
  设备下线真失效(删并重建 token,旧 token 401)
- assets: 审核类目加 model_portrait,消除三视图"无需审核"误报
- ai/projects/products: 模特已有三视图复用、产品三视图同步回商品库
  (metadata.view=three_view)、真人模特三视图回写

前端:
- 商品图删除判断改用真实图片数;团队成员弹窗禁点外部关闭
- 图片预览骨架铺满占位;平台套图左侧栏折叠改导航同款;收件箱长文换行对齐
- 团队月限额改真落库(乐观更新+失败回滚)

测试:新增 TeamSettingsTests(5 条),accounts 全套 36 tests 通过;前端 build 0 error

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 18:50:22 +08:00
zycandClaude Opus 4.8 00e606a6a6 fix: 清单4 未完成项二轮(视频项目收口/选用角色/场景空镜/场景刷新 + 4:5 尺寸)
ZWQ#15 视频进度卡 3/4(真因补全):
- current_stage 没推到 VIDEO 时 settle 守卫直接返回 → 永不收口。
  submit/poll/adopt 幂等补推 current_stage→VIDEO;进详情(retrieve)检测全段已出片即自愈收口。
  存量卡死项目一打开就自动变「已完成」。+2 测试

ZWQ#7 演员库选用角色未自动「已过审/已采用」:
- 真实流程是 attach(选用),非详情弹窗按钮。attach 时显式置 adopt=adopted +
  人物立绘自动送审(on_commit)。+1 测试

ZWQ#13 场景出真人致视频被拒(加强):
- 场景空镜约束改为显式压过脚本描述里的人物词(「即使上文提到人也只画环境」)。

ZWQ#17 场景生成中刷新跳新窗口:
- 正在生成的场景草稿不再落盘 → 生成中刷新页面不会与新实体卡并存成两个窗口。

附:平台套图 4:5 尺寸 1664x2080→1728x2160(≥Seedream 5.0 最小面积 3686400px,否则 ARK 退 400)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 17:03:17 +08:00
zycandClaude Opus 4.8 8f32ad69d3 fix: 电商测试清单一轮 bug 修复(视频项目角色/场景 + 图片工作台 + 视频收口)
视频项目(ZWQ):
- 演员工作台保存后「我的演员」仍 0 个:保存时加入资产库(in_library=True)
- 资产详情「应用当前角色」自动送审(不再要手动点灰盾)
- 「我的演员」卡 + 待生成 seed 卡补删除入口(垃圾桶,两步确认)
- 新增场景未生成就刷新会丢:sceneDrafts 按项目持久化 localStorage
- 场景 AI 生成强制叠加「无真人」约束,避免出真人致视频被火山拒
- 进入项目默认落到当前阶段(不再恒显第 1 阶段)
- 视频已出但进度卡 3/4:submit/poll/adopt 幂等补推 current_stage→VIDEO,
  否则 settle_video_completion 因阶段守卫直接返回、永不收口 completed

图片工作台(PMC):
- 生图走 action 全局单飞锁致并发重跑/多平台套图被拒成「失败/少出图」:
  action 加 concurrent 选项,生图不占单飞锁
- 切模块再切回状态丢/数量少:每批各自落盘 pendingIds(onSubmitted 回传),
  切回时全部批次各自续轮询

附:含一处早前未提交的图片创作改动(选火山+传参考图强制切 gpt-image-2 + gen 气泡溢出 CSS)。
新增/通过测试:AttachOfficialModel、商品图删除、视频卡阶段收口、参考图强切模型。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 15:11:29 +08:00
zyc ce7eaefe1d 生图模型可选(火山/gpt-image)+ 模特上身图提示词强化 + 多会话等改动
本轮(生图模型选择 + 火山接入):
- 工作室新增「生图模型」选择器(模特上身图/平台套图头部 chip + 图片创作底部 Pill),
  默认火山 Seedream,可切 gpt-image-2;选择写入 localStorage,下次进页面读回
- 后端 resolve_image_model 解析所选模型;enqueue_standalone_images 接 image_model
- worker 按模型能力分流:有 image_edit(gpt-image)走多图编辑;无(火山)走
  image_generation(image=参考图);新增 _ratio_to_volcano_size 让火山按比例出图
  → 内衣等敏感品类用火山可绕开 gpt-image 的 sexual 内容审核

模特上身图提示词:
- 穿戴/非穿戴分流、按 index 变化动作场景镜头、负面词尾接、多图参考序号自适应
- _product_reference_urls:商品参考真实上传图优先、排除 AI 生成图、可多张

其他(并入此前各会话未提交改动):
- 图片创作多会话(ImageConversation + migration 0019)、任务中心按类型过滤
- accounts/projects/assets/team/auth 等零散调整、相关测试
- 测试脚本(tryon_*.py)、测试清单(core/bug/*.xlsx)
2026-06-27 14:00:28 +08:00
zycandClaude Opus 4.8 8222a46202 fix(pipeline): 视频为末步时收口项目完成态 + 列表 5→4 步同步
V1 雪藏「拼接导出」第 5 阶段后,完成态(COMPLETED)只在 export.py 拼接成片时
才置,导致视频全部出片的项目永远卡在 videoing,列表末格一直闪烁。

- 后端:新增 settle_video_completion(幂等)+ VIDEO_IS_FINAL_STAGE 开关。
  全部片段出片→项目 completed、video 阶段标成功;某段被重跑→退回 videoing。
  挂 retrieve(自愈历史卡住项目)/poll-video-segment/submit-video-segment/
  adopt-video-version 四入口;收口直接查库,不吃 prefetch 旧缓存致误判。
  V2 恢复导出把 VIDEO_IS_FINAL_STAGE 置 False,完成判定交回 export.py。
- 前端:项目列表/网格进度从 5 步同步成 4 步(PROJ_STAGE_TOTAL=4),
  export 阶段并入第 4;已完成项目末格走 done(绿)不再用闪烁的 cur。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 17:32:12 +08:00
zycandClaude Opus 4.8 658aaa222f feat(storyboard): 故事板改分镜制(单场独立重跑/历史)+ 视频过审闸 + 审核前端如实化
三块改动在 services/views/pipeline/App/api 等文件按行交织、且过审闸后端依赖故事板新
模型,无法拆成各自独立可编译的提交,故合并为一次:

· 故事板分镜制:新增 StoryboardShot/StoryboardShotVersion(对标 VideoSegment/Version)
  + 数据迁移(采用版每帧转一 shot+已采用版本)。每镜一个 shot,各自历史版本,可单场
  重跑、逐场切换/采用,新增「开始生成故事板/单场重跑/采用某版」端点。重跑非阻塞(后台
  静默轮询出图,不锁其它场按钮);历史「查看」与「采用」分离(切版本不丢在制重跑)。
  视频取分镜图/删分镜清理/过审闸全部改读 storyboard_shots。
· 视频生成前过审闸:点生成校验含真人脸的人物立绘/故事板分镜是否过审,未过审弹窗列出
  哪一镜/哪个,可一键送审,挡住不生成(collect_video_review_blockers + precheck 端点)。
· 审核前端如实化:不再 `|| "processing"` 伪造审核中;送审失败经 onNotify 如实提示;
  审核轮询扩到视频阶段,送审后能看着盾变绿。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 17:11:55 +08:00
zycandClaude Opus 4.8 d2aa26248d fix(video): 视频片段数对齐采用版分镜数,修「删分镜后视频步骤仍显示旧数量」
项目创建固定铺 4 段视频片段,而 _sync_video_segments_to_script 仅在
增删分镜且该脚本 is_adopted 时才收口。用户通常「采用前」就增删分镜,
那些编辑被 is_adopted 闸跳过;adopt_script 自身又不收口 → 视频步骤
一直停在 4 段,与故事板/采用版分镜对不上。

- adopt_script:采用时按这版分镜数收口视频片段
- poll/skip-storyboard:进入视频阶段前再收口一次(安全网)
- retrieve:视频阶段详情加载时自愈历史脏项目(只裁从未生成过的尾段)
- 已生成/生成中的段绝不动;新增 3 个回归测试

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 14:33:23 +08:00
seaislee1209andClaude Opus 4.8 c2c2dfdc77 feat(review): 故事板分镜图挂火山人像审核盾 + 红盾可重新送审
- 后端 StoryboardFrameSerializer 暴露 review_status + 驳回原因(之前没给,前端画不出盾)
- 前端故事板趴:每张分镜图(缩略图角上只留盾 / 大图左上完整徽章)挂 ReviewBadge,
  与人物/场景卡同款(审核中橙光 / 已过审绿 / 未过审红);故事板趴每 8s 轮询刷新审核态
- ReviewBadge:红盾(未过审)也可点「重新送审」——「审核超时」是误判(分镜图在 processing
  卡太久被本地超时兜底标失败,非火山真违规),重提即可再审;灰盾/红盾两处(分镜图+人物卡)行为一致
- compact 模式:嵌在 overflow:hidden 容器里的盾(分镜图)改用原生 title 提示,避免 CSS 气泡被裁看不见

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 17:23:18 +08:00
seaislee1209andClaude Opus 4.8 4074c13733 fix(video): 提交报错接住返 JSON 不再白屏 + 分镜图 processing 也走素材库 asset://
- submit-video-segment 视图接住 submit_video_segment 的异常 → 返回干净 JSON(真实火山报错文案),
  不再让它变成 500 整页 HTML 报错栈 → 前端把 101KB HTML 怼进 toast 撑爆白屏
- 前端 request():非 JSON 错误体只显示状态行,绝不把整页 HTML 塞进 toast(白屏兜底)
- _seedance_ref_url:只要分镜图/人物已进素材库(有 remote_id)就走 asset://,不再卡 active —— 故事板
  刚重生成时分镜图还是 processing,卡 active 会回落原始直链 → 火山以「疑似真人」拒。实测 processing
  的素材 asset:// 照样可引用,根治「重生成故事板后重跑视频被人脸拒」

真机验证:场4 完整提交(人物/分镜图 asset:// + 场景/商品直链)ACCEPTED 出片;后端测试通过,tsc/build 过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 16:57:37 +08:00
seaislee1209andClaude Opus 4.8 c8cb6d3d51 fix(extract): 实体提取改异步(worker+轮询),根治 502 + 刷新丢 loading + 重复扣费
问题:进资产页点"提取人物/场景"——同步死等豆包思考模型(数十秒)→ 撞网关超时
502;"提取中"loading 是纯前端内存态,刷新即丢;且无幂等,刷新后重点会重复扣费。

改动(对齐全站异步三件套:出图/三视图/故事板同款):
- 后端 submit_extract_entities:Web 只建 RESERVED 任务 + 预留额度秒回(不再 502);
  已有在途提取则复用,绝不二次预扣(防刷新后重点 / 并发重复扣费)。
- 后端 run_extract_entities_task(Celery worker):流式调豆包 + 解析 + 落库 + 扣费;
  失败退费并把可读错误记进 task.error_message。
- 新增 AITask.Type.entity_extraction(迁移 0011)+ extract-status 端点(轮询进度/成败)。
- 前端 runExtract 改提交+轮询;进资产页自动认领在途提取,刷新后 loading 自己回来。

验收:完整 Django 套件 149/149 全绿(含新增 4 测:异步落库+计费一次 / content空
回退 reasoning / 在途防重复扣费 / 状态端点成败透出);tsc + vite build 全绿;
makemigrations --check 无遗漏。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 23:15:11 +08:00