安装扩展

装一次 · 约 30 秒
⬇ 下载扩展(v{{ extLatest || '…' }})
1
下载后解压
文件夹放固定位置,别删
2
装进 Chrome
文件夹
扩展程序 开发者模式
把文件夹拖到这里
chrome://extensions
3
回这页刷新
顶部变绿就能用了
更新后还是旧版本?点这里彻底更新
下载包现在固定叫 dianshang-gaitu-ext.zip,解压永远是同一个文件夹,方便覆盖。彻底更新(治「更新不上、还停在旧版」):到 chrome://extensions 先把旧的「电商自动改图大师」移除,再点「加载已解压的扩展程序」选新解压出的文件夹。日常小更新:把新文件覆盖进同一个文件夹 → 回扩展页点刷新(↻) 即可。
链接裂变
3链接裂变

历史记录

已选 {{ historySelectedIds.length }}

本页没有{{ historyView === 'favorites' ? '收藏' : '' }}记录,翻页或换视图试试。

还没有收藏的图。点击任意图卡右上角的 ☆ 收藏。

共 {{ historyTotal }} 条 · 第 {{ historyCurrentPage }}/{{ historyTotalPages }} 页
加载中…
{{ histEmptyText }}
{{ usage.days }} 天估算
¥{{ usageKpi.totalEstimated.toFixed(2) }}
维度:{{ { vendor:'按供应商', model:'按模型', style:'按风格', preset:'按场景' }[usage.dimension] }}
待对账
{{ usage.reconciliation ? usage.reconciliation.total_pending.toLocaleString() : '—' }}
Step 4 对账机制开发中
命中筛选的调用数
{{ usageKpi.requestCount.toLocaleString() }}
每次 engine 调用 1 条(composite 多条)
月度总额
📊 对账状态 暂无 billing 记录
📤 上传供应商账单 CSV
按 vendor_request_id 回填真实费用 + 计算估算差异(diff_pct)

{{ reconcile.error }}

对账结果

CSV 行数
{{ reconcile.result.total_rows }}
已对账
{{ reconcile.result.matched }}
未匹配
{{ reconcile.result.missing_count }}
差异 >5%
{{ reconcile.result.diff_summary.over_5pct_count }}
均值 {{ reconcile.result.diff_summary.avg_pct }}% · 最大 {{ reconcile.result.diff_summary.max_abs_pct }}%
未匹配示例(前 {{ Math.min(5, reconcile.result.missing.length) }} 条,共 {{ reconcile.result.missing_count }}):
  • {{ m.id }} · {{ m.reason }}
消费趋势
{{ usage.days }} 天 · 按{{ { vendor:'供应商', model:'模型', style:'风格', preset:'场景' }[usage.dimension] }}堆叠 · {{ fmtMetricLabel(usage.metric) }}
维度
指标
{{ providerLabel(k) }}
加载中…
最近 {{ usage.days }} 天暂无数据
{{ fmtAxisValue(t.value) }} {{ bar.date }} · {{ providerLabel(seg.key) }} · {{ fmtAxisValue(seg.value) }} {{ lbl.date }}
调用明细
共 {{ usage.details ? usage.details.total.toLocaleString() : '—' }} 条 · 每次 engine 调用一条
时间 供应商 模型 风格 tokens 估算 ¥ 实际 ¥ 差异 对账 request_id
{{ usage.loading ? '加载中…' : '暂无数据' }}
{{ fmtUsageTime(item.created_at) }} {{ providerLabel(item.vendor) }} {{ item.model || '—' }} {{ item.style_key || '—' }} {{ (item.total_tokens || 0).toLocaleString() }} {{ fmtCny4(item.estimated_cost_cny) }} {{ fmtCny4(item.actual_cost_cny) }} {{ item.diff_pct > 0 ? '+' : '' }}{{ item.diff_pct }}% {{ { estimated:'估算', matched:'已对账', diff:'差异' }[item.recon_status] }} {{ shortReqId(item.vendor_request_id) }}

视频生成失败

{{ videoFailZh(genVideoError) }}

查看原始报错

{{ genVideoError }}

正在生成视频...

通常 30-90s 完成,可以「后台继续」去做别的

原图
第{{ pi + 1 }}张 · {{ p.aspect }}
↓ 生成
生成失败
{{ genErrZh(p.entry.task && p.entry.task.error_message) }}{{ genErrRaw(p.entry.task && p.entry.task.error_message) }}
⏳ 仍在后台生成
完成后自动进「历史记录」
勿重复生成
余额不足 · 已跳过
点右上角余额充值后
↻ 补生成这张
⏳ 排队中…{{ fissionEngLabel(p.entry) }}
生成中…{{ fissionEngLabel(p.entry) }}
✨生成 {{ p.label }}:{{ p.opt }}
{{ p.label }}
生成中… {{ Math.round(98 * (1 - Math.exp(-elapsedSec / 30))) }}%
!

{{ smStatus || '未出图' }}

{{ r.presetName }}
{{ engineLabel(r.task.engine_used) }} ⚠ 降级