速影 AI · SwiftReel —— 图生视频 SaaS

版本 :v2.6

撰写日期 :2026-06-14

核心定位 :以 Coze 工作流编排 Seedance 2.0 为 AI 引擎、自建前端 + 自建账户体系 的图生视频 SaaS 产品。本阶段聚焦实现 :把"图 + 文案 → Seedance 2.0 出片"的完整链路开发跑通。

配套交付

  • 4 张 D2 架构图(v2_diagrams/
  • 1 套可直接打开的前端体验 Demo(speedreel_demo.html,单文件、桌面双击即可体验)
  • 完整对外文案(落地页、API 介绍、社交媒体话术)

一、产品定位

1.1 一句话定位

「上传一张图,写一句话,30 秒生成一条专业短视频。」

------ 速影 AI · SwiftReel,最懂中文创作者的图生视频 SaaS。

1.2 目标用户画像

客群 占比目标 核心痛点
个人创作者 / 自媒体(小红书 / 抖音 / B站) 60% 不会剪辑、出片慢、买不起专业工具
电商商家 / 个体卖家 25% 商品视频化批量制作、人手不够
MCN / 代运营机构 / 教培机构 10% 日更需求大、要 API 和子账号
B 端 SaaS / 集成方 5% 需稳定 OpenAPI、SLA

1.3 差异化卖点(vs Coze 套壳 / 同类产品)

  1. 只用 SOTA 的精品定位:全平台只跑 Seedance 2.0(2026 榜首),音画一体 4K 直出,不用二流模型凑数。
  2. 失败自动重试 / 不出片不留痕:生成失败自动重试或重新排队,体验顺滑。
  3. 本土化合规接 1w+ 火山方舟预置虚拟形象规避肖像权,AI 标识水印依法烧入。
  4. B 端可白牌 :企业版支持自定义 logo / 域名 / 工作流,可作为客户自有 SaaS 输出

二、整体技术架构

关键设计原则

  • Coze 只做"AI 引擎",不做"产品" :Coze 工作流以"无界面 OpenAPI"形式被业务后端调用,前端 / 账户 / OSS 全部自建,杜绝 Coze 套壳风险与平台依赖
  • 单模型 = 2 条工作流 :在 Coze 里只维护"单条生成 / 批量生产"2 条工作流,均由 Seedance 2.0 驱动,画质仅靠入参 resolution(1080p/4K)区分;Seedance 限流时只需切直连火山方舟兜底,对外接口不变
  • 用量记录:账户体系保留生成记录(时长 / 清晰度 / 状态)落 MySQL,为运营分析与排障提供数据。
  • Webhook 异步回调:Coze 工作流执行时长 30--180s,必须异步 + Webhook,前端用 WebSocket / SSE 推进度。

三、Coze 引擎设计(核心 · 单模型 Seedance 2.0)

产品决策(v2.3)只接 Seedance 2.0 一个模型,不接其他 (即梦 / 可灵 / Sora / Runway / ComfyUI 全部不做)。理由:Seedance 2.0 是 2026 SOTA、原生音画一体、4K 直出,一个模型即可覆盖全部画质需求,架构大幅简化------无需多模型路由、无需 Auto 跨模型选择、无需多档位工作流。

3.1 为什么"单模型 + Coze 编排"

维度 Coze 编排 Seedance 直连火山方舟 自建 ComfyUI
上线速度 1 周 2--3 周 6--10 周
文案扩写 / 合成 / 字幕 Coze 节点拖拽即用 需自己写 需自己写
维护成本 (可视化改流程)
平台依赖 中(保留直连兜底缓解)
画质 Seedance 2.0 顶级 同左 受限开源模型

结论:Seedance 的"文案扩写 → 图生视频 → 字幕 → 合成"链路用 Coze 拖拽节点编排最快;直连火山方舟仅作故障兜底(§3.5)。

3.2 单工作流设计(无档位)

只维护 2 条 Coze 工作流,均由 Seedance 2.0 驱动,差异仅在"单条 / 批量":

工作流 ID 名称 模型 入参 业务用途
wf_seedance_single 单条生成 Seedance 2.0 {images[], text, duration, ratio, resolution} C 端创作 / API 单条
wf_seedance_batch 批量生产 Seedance 2.0 同上 + count MCN 日更 / 电商批量

画质差异 只通过入参 resolution(1080p / 4K)控制,不再有"经济/标准/高端/旗舰"档位概念 。Seedance 2.0 原生音画一体,配音 / BGM / 口型在模型内一次生成,省掉独立 TTS 与剪映合成节点

3.3 生成前置:需求澄清 + 效果预演 + 消耗预估(省资源 / 省成本)

核心思想 :调用 Seedance 2.0 出片是整条链路里最贵、最慢的一步。在真正调模型之前,先用文字层把需求对齐、把效果预演出来、把消耗预估清楚,确认无误后再生成------这样能大幅减少"生成完才发现不对 → 反复重做"造成的算力与成本浪费。

⚠️ 这一层必须用最好的模型(如 Claude),不要图便宜用小模型 :需求理解是否到位、分镜脚本写得好不好,直接决定喂给 Seedance 的 prompt 质量,进而决定整条成片效果------garbage in, garbage out。相比一次视频生成,文字层即便用顶级模型开销仍可忽略,却是整条链路里性价比最高、最值得投入的一步。

三步前置闸门,全部在文字 / 轻量 LLM 层完成,不触发视频生成

步骤 做什么 用什么 价值
① 需求澄清对话 多轮确认关键参数:画面主体、风格、镜头运动、时长、比例、清晰度、配音 / BGM / 字幕;缺失项主动追问 顶级 LLM(Claude) 避免参数不全就开跑
② 文字效果预演 不生成视频,先产出"分镜 / 画面描述 / 预期成片说明 / 优化后的 Seedance prompt"给用户预览;满意才进入生成,不满意在文字层反复改 顶级 LLM(Claude)生成分镜脚本 零视频算力消耗地试错,直接决定成片质量
③ 消耗预估 依据确认后的参数(时长 × 分辨率 × 批量)估算本次资源量级(token / 算力)与预估成本区间,展示后再提交 预估函数 让用户"看到代价"再决定

预估口径(伪代码,单价 / 系数待实测标定后填入):

python 复制代码
def estimate(duration: int, resolution: str, batch: int = 1) -> dict:
    # 分辨率系数:4K 资源消耗约为 1080p 的 N 倍(N 待实测标定)
    res_factor = {"1080p": 1.0, "4k": RES_4K_FACTOR}[resolution]
    units = duration * res_factor * batch          # 预估消耗单元
    return {
        "est_units": units,                        # 预估资源 / token 量级
        "est_cost": units * UNIT_PRICE,            # 预估成本(单价后续填)
        "note": "实际以生成完成后回传的真实消耗为准",
    }

落地形态 :把这三步做成生成按钮前的"确认弹层"------展示分镜预览 + 预估消耗 ,用户点「确认生成」才真正调用 §3.4 的 create_video()。澄清与预演这一层用顶级模型(Claude)承担,把模糊需求打磨成高质量分镜与 prompt,再交给 Seedance 出片------它是整条链路的"质量入口"。

3.4 调用方式(伪代码 · 生成链路)

python 复制代码
import uuid, requests

COZE_API = "https://api.coze.cn/open_api/v1/workflow/run"
WF_SINGLE = "7421...wf_seedance_single_id"
WF_BATCH  = "7421...wf_seedance_batch_id"

def create_video(user_id: str, images: list, text: str,
                 duration: int, ratio: str = "9:16",
                 resolution: str = "1080p", batch: int = 1) -> dict:
    # 1. 内部生成 task_id
    task_id = f"vid_{uuid.uuid4().hex[:16]}"

    # 2. 提交 Coze 工作流(异步)
    resp = requests.post(COZE_API, json={
        "workflow_id": WF_BATCH if batch > 1 else WF_SINGLE,
        "parameters": {
            "images": images, "text": text,
            "duration": duration, "ratio": ratio,
            "resolution": resolution, "count": batch,
            "task_id": task_id,
            "callback_url": f"https://api.swiftreel.ai/v1/webhook/coze/{task_id}",
        },
    }, headers={"Authorization": f"Bearer {COZE_TOKEN}"}, timeout=30)
    resp.raise_for_status()

    # 3. 写库(记录用量)
    db.tasks.insert(task_id=task_id, user_id=user_id,
                    duration=duration, resolution=resolution, count=batch,
                    coze_run_id=resp.json()["run_id"], status="running")
    return {"task_id": task_id}

3.5 Coze 单点依赖与降级方案

单模型 + 单平台,依赖链更短但单点更集中。两层降级(不再有"跨档位降级"):

层级 触发条件 降级行为
L1 Coze 工作流返回 5xx / 超时 重试 2 次(指数退避)
L2 Coze 平台整体故障(健康探测 3 次失败) 直连火山方舟 Seedance API,旁路 Coze(业务侧自己做文案扩写 + 合成)

直连火山方舟兜底链路 通过功能开关(Feature Flag)控制,平时 0 流量灰度(每天定时探活),故障时秒级切换。由于上游同为 Seedance 2.0,切换后画质完全一致,用户无感。

⚠️ 单模型集中风险:若 Seedance 2.0 本身(字节侧)限流 / 下线 / 收紧对外开放,Coze 与直连两条链路会同时受影响。这是单模型策略的核心风险,详见 §10 风险评估。

3.6 Coze 配额与 QPS 管理

Coze 企业版单 Token 默认限制(当前 60/min,并发 10),高峰期撑不住。三招扩容:

  1. Token 池化:申请 5--10 个企业 Token 轮询使用,单池 QPS × 5
  2. 优先级队列:4K / 急单走 P0 队列、1080p 走 P2 队列
  3. 流量整形:业务侧 Redis 令牌桶预限流,避免下游 429

3.7 可观测性(日志 / 追踪 / 告警)

  • Trace ID 全链路 :业务 → Coze → Seedance → OSS,每个调用透传 X-Trace-Id
  • Coze 调用日志持久化 :每次调用入参 / 出参 / 耗时 / 结果保存到 MySQL 数据库保留 90 天
  • 三大核心告警 (企业微信 / PagerDuty):
    • 失败率 > 5%(5 分钟滑动窗口)
    • P95 延迟 > 240s
    • 单小时 Seedance 调用量异常突增
  • 每日运营报表:调用次数、失败率、平均时长、清晰度分布

四、用户旅程

4.1 首次激活漏斗(关键指标)

步骤 目标转化率 优化手段
访问首页 → 注册 25% Hero 区直接放"立即免费试用"按钮,无需注册可先体验 1 次
注册 → 首次生成 70% 注册成功跳工作台,已预填示例图 + 文案模板
首次生成 → 二次生成 50% 出片页推荐相似模板 + "再生成一条"
二次生成 → 留存 --- 引导收藏作品 + 关注公众号

4.2 留存与召回

  • 次日推送:站内信 + 微信公众号"你昨天的作品已被 X 人收藏"
  • 7 日召回:推送"新模板上线,来试试"
  • 30 日召回:流失用户推送"新功能解锁"

五、前端产品结构

5.1 页面清单

页面 路由 关键模块
首页 / Hero 视频墙 + 案例瀑布流 + CTA
工作台 /studio 上传 / 文案 / 清晰度 / 时长 / 进度
我的作品 /works 网格列表 / 详情 / 重新生成 / 下载
账户 /account 用量记录(生成历史)
API 文档 /docs Quickstart / Reference / Webhook
帮助中心 /help 教程 / 案例 / 社区 / 联系客服

5.2 可直接体验的 Demo

打开仓库根目录的 speedreel_demo.html(双击即可在浏览器打开),包含完整可交互的:

  • 首页(Hero + 案例)
  • 工作台(图片拖拽上传 + 清晰度/时长切换 + 模拟生成进度)
  • 账户页(用量记录 mock)

:Demo 用 setTimeout 模拟生成进度,无需后端即可演示完整用户流。可用作客户演示、UI 评审。

5.3 视频规格矩阵(必备产品配置)

维度 选项 说明
比例 9:16(抖音/视频号/小红书)/ 16:9(B 站/横屏)/ 1:1(朋友圈/IG) 默认 9:16,覆盖 80% 创作场景
时长 3s / 5s / 8s / 10s / 15s Seedance 2.0 单镜最长 15s
清晰度 1080p / 4K 4K 分辨率更高,渲染资源消耗更大
帧率 24 / 30 fps 默认 24,电影感
音轨 静音 / 音画一体(含配音+BGM+口型) Seedance 2.0 原生画-声同步,模型内一次生成

六、模板市场与风格预设(核心黏性)

6.1 为什么模板是护城河

API 谁都能调,模板才是差异化与黏性来源。模板 = "封装好的工作流 + 预设参数 + 示例素材",让用户从"自己写脚本"降级为"换图换文案即可出片"。

6.2 三类模板矩阵

类别 示例 目标用户
场景模板 书单号 / 商品口播 / 探店 Vlog / 地产看房 / 教培金句 / 婚礼快剪 自媒体、电商、教培
风格预设 电影感 / 二次元 / 国风 / 赛博朋克 / 黏土风 / 复古胶片 全人群
节日模板 春节祝福 / 双 11 倒计时 / 七夕表白 / 圣诞带货 短期热点

6.3 模板生态(UGC)

  • 官方模板:内部出品,免费提供
  • 创作者模板:UGC 用户可发布自制模板到模板市场(激励机制后续设计)
  • 模板审核:上架前内容审核 + 法务审版权

6.4 实现层(Coze 工作流变体)

每个模板对应一个 Coze 工作流 variant:

复制代码
wf_template_bookreview_v3     # 书单号 v3
wf_template_movie_style       # 电影感预设
wf_template_clay_animation    # 黏土风预设

用户选模板 → 业务后端把对应 workflow_id 替换路由表 → 同样的 OpenAPI 调用,效果完全不同。

6.5 模板挖掘机制(增长飞轮)

  • 监控用户手工组合的高频参数 → 自动生成"推荐模板"候选
  • 爆款作品(点赞 / 分享 Top 1%)→ 提取参数 → 沉淀为可复用模板
  • 模板趋势榜首页透出,制造 FOMO

七、B 端 API 工程细节

7.1 OpenAPI 设计(OpenAI 兼容)

http 复制代码
POST /v1/videos
Authorization: Bearer sk-xxxxxx
Content-Type: application/json
Idempotency-Key: req_xxxxxx     ← 幂等
X-Trace-Id: trace_xxxxxx        ← 追踪

{
  "model": "seedance-2.0",          // 单模型,固定值
  "images": ["https://..."],
  "prompt": "...",
  "duration": 5,                     // 秒,3-15
  "ratio": "9:16",
  "resolution": "1080p" | "4k",
  "addons": ["subtitle", "voice_clone"],
  "webhook_url": "https://your.app/cb"
}

版本管理 :URL 内嵌版本号(/v1/),重大变更出 /v2/ 并提供 12 个月并行期。

7.2 Rate Limit 策略(多维限流)

维度 默认 可申请上限
单 API Key QPS 5 / s 100 / s
单 API Key 并发任务 10 200
单 IP QPS(防爬) 20 / s ---
单租户月度调用量 10 万次 协商

超限返回 429 Too Many Requests + Retry-After header,SDK 自动指数退避。

7.3 Webhook 设计与签名验证

业务方 webhook_url 在任务完成 / 失败 / 超时时被调用,必须验签

复制代码
POST {webhook_url}
X-SwiftReel-Signature: sha256=<HMAC-SHA256(secret, body)>
X-SwiftReel-Timestamp: 1733846400
X-SwiftReel-Event: video.completed

{
  "task_id": "vid_xxx",
  "status": "succeeded" | "failed",
  "video_url": "https://...",
  "duration_actual": 5.0,
  "resolution": "1080p"
}

重试策略 :失败按 1/5/30/120 分钟指数退避,最多 5 次,24h 内可通过控制台手动重投

7.4 沙箱环境(Free / 无审核)

  • 独立域名 sandbox.swiftreel.ai,与生产完全数据隔离
  • 用模拟工作流返回固定示例视频,不真实调用 Seedance
  • 用于客户集成测试 / Demo / CI

7.5 多租户数据隔离

  • 逻辑隔离 :MySQL 行级 tenant_id,Redis key 前缀 t:{tenant_id}:...
  • 物理隔离(企业版):独立数据库实例 / 独立 OSS Bucket / 独立 Coze 工作流副本
  • 数据导出:企业用户可申请导出全量数据(图片 + 视频 + 流水),24h 内 SLA 交付

7.6 SSO 与团队权限

  • SSO 接入:钉钉 / 企业微信 / 飞书 / OIDC / SAML 2.0
  • 角色矩阵:Owner / Admin / Editor / Viewer 四种
  • 审批流:高额 / 批量调用需上级审批(企业版)

7.7 审计日志

所有 API 调用、登录、权限变更入审计日志,保留 1 年,企业用户可申请按月导出符合等保 / ISO27001 审计要求。


八、合规与备案(中国市场上线硬门槛)

⚠️ 没有这一章,任何 AI 视频生成 SaaS 在国内都无法合法上线。 必须在 MVP 上线前 60 天启动以下流程。

8.1 三大法规与三大备案

法规 监管单位 我们需做的备案
《互联网信息服务深度合成管理规定》(2023.1) 网信办 深度合成服务备案
《生成式人工智能服务管理暂行办法》(2023.8) 网信办 + 工信部 生成式 AI 服务备案
《互联网信息服务算法推荐管理规定》(2022.3) 网信办 算法备案(填报算法名称、应用场景、风险评估)

周期 :每项 30--90 天,建议并行启动(需预留三方咨询 / 安全评估的时间)。

8.2 基础备案

  • ICP 备案:阿里云 / 腾讯云协助办理,10--20 天
  • 公安备案:网站上线后 30 天内
  • EDI 经营许可证(涉及增值电信业务):可选,B 端 API 业务建议办

8.3 用户协议三件套(法务必备)

文档 关键条款
《用户服务协议》 服务范围、账户规则、禁止行为、争议解决(中国法律 / 北京仲裁)
《隐私政策》 数据收集范围、用途、保存期、第三方共享(Coze / 模型供应商)、用户权利(查询/删除/导出)
《商用授权协议》 生成视频的版权归属(归用户)、商用范围、二次分发、模型方权益保护

8.4 数据保留与销毁

  • 原始素材:30 天后自动删除(用户可在账户内一键提前清空)
  • 成片:保留 90 天(长期保存策略后续定)
  • 日志:90 天滚动
  • 删除请求:用户可申请永久删除全部数据,7 天内执行(《个人信息保护法》合规)

8.5 未成年人保护

  • 未成年人禁用真人脸生成 / 上传
  • 实名认证强制(< 18 岁限制使用 + 内容审核 100% 通过)
  • 每日生成次数封顶 5 次(防成瘾)

九、内容安全与审核

9.1 三道审核关(任何一关不过即拦截)

复制代码
[用户上传图片] → 图像审核 ───┐
                              ├→ [LLM 文案扩写] → 文本审核 ─┐
[用户输入文案] → 文本审核 ───┘                                ├→ [Coze 生成视频] → 视频审核 → [输出给用户]
                                                              ↓
                                                       拦截 → 失败回滚 + 站内信

9.2 第三方审核服务对接

厂商 主打能力 我们的使用场景
数美 涉政 / 涉黄 / 暴恐 / 广告 / 版权图识别 主用:图片 + 文本
网易易盾 多媒体 + AIGC 鉴伪 视频后审
阿里绿网 综合内容安全 备用 + 兜底
本地 NSFW 离线 CLIP 模型 沙箱 / 高频粗筛

多供应商策略 :主用数美 + 兜底易盾,任一拦截即视为命中(误伤率高于漏放率的产品哲学)。

9.3 AI 生成内容强制标识(不可绕过)

按《深度合成规定》第十六/十七条:

  • 视觉水印 :右下角 "由速影 AI 生成" 字样 + 平台 LOGO,视频底层硬烧入,不可去除
  • 元数据标识 :MP4 metadata 中写入 ai_generated=true + 模型版本 + 时间戳

⚠️ 注意区分两种水印:LOGO 商业水印 (将来可做成可去除的增值项)与 AI 标识水印("由速影 AI 生成",依法强制保留、不可去除)。宣传文案中必须严格区分。

9.4 申诉机制

  • 用户对审核结果不服可申诉,48h 内人工复审
  • 误伤 → 重新生成(补偿形式后续定)
  • 累计 3 次申诉成功 → 该用户标签转白名单

9.5 风控与黑名单

  • 指纹库:拒绝服务名单(IP / 设备 / 手机号 / 实名信息)
  • 行为风控:同 IP 1 小时 > 10 个账号注册 → 验证码强制
  • 薅羊毛识别:免费试用被批量刷取的设备 / IP 立即拉黑
  • 政治敏感关键词:实时更新词库(厂商提供)

十、风险评估

⚠️ 单模型策略最大的风险是"把鸡蛋全放在 Seedance 一个篮子里"(下表 #2),这是本次产品决策的核心代价,必须有预案。

# 风险 概率 影响 应对
1 政策风险:网信办收紧 AIGC 监管,要求重审备案 备案提前 2 个月、专职法务跟进
2 🔴 单模型集中风险:Seedance 2.0 限流 / 下线 / 停止对外 API 致命 预留"快速接入第二模型"的抽象层(VideoProvider 接口),最坏 72h 内可接可灵 / 即梦应急;保持 1 个候选模型的接入预研
3 Coze 平台风险:Coze 限流 / 下线 §3.5 两层降级 + 直连火山方舟 Seedance 旁路 Coze
4 版权 / 肖像诉讼:用户上传他人肖像生成视频被告 强制人脸授权确认 + 火山方舟 1w+ 预置形象 + 用户协议免责
5 同质化竞争:即梦 / 可灵 / 字节自家出 C 端工具 模板生态 + KOL 创作者经济 + 产品体验层差异化
6 内容安全事故:用户生成违规内容流出 致命 三道审核 + 第三方兜底 + 实名制 + 24h 应急响应
7 数据安全事故:用户素材泄露 加密存储 + 访问审计 + 渗透测试
8 核心人员流失:技术或运营核心离职 双备份岗位 + 文档化交付

十一、完整对外文案

11.1 一句话定位(30 字以内)

  • 官方版:「上传一张图,写一句话,30 秒生成电影级短视频。」
  • 小红书版:「这就是我做爆款短视频的神器,姐妹们冲!」
  • B 端版:「Seedance 2.0 图生视频 API,一行代码出片。」

11.2 三段式价值主张

给个人创作者

不会剪辑、不会写脚本、不会配音都没关系。把照片和一句话丢给我们,30 秒后你拿到的是一条带配音、带口型、带 BGM 的电影级成片(Seedance 2.0 音画一体直出)------ 直接发抖音、小红书、视频号。

给电商商家 / MCN

一张商品图 → 一条会说话的带货视频。批量提交、商用授权、API 集成全部支持,比请剪辑实习生灵活得多。

给开发者 / SaaS 集成方

一个 OpenAI 风格的 POST /v1/videos 接口,专注 Seedance 2.0 这一个 SOTA 模型(2026 Artificial Analysis 榜首,超越 Veo 3 / Sora 2 / Gen-4.5)。Webhook 异步回调、Coze 故障自动旁路直连火山方舟。

11.3 落地页 Hero 区文案

复制代码
━━━━━━━━━━━━━━━━━━━━━━━━━━
  上传一张图    写一句话
        ↓
   30 秒    出片
━━━━━━━━━━━━━━━━━━━━━━━━━━

  速影 AI · SwiftReel
  Seedance 2.0 驱动,最懂中文创作者的图生视频

  [ 立即免费试用 ]  [ 查看案例 ]

  ✓ 只用最强:Seedance 2.0(2026 SOTA,音画一体 4K)
  ✓ 一次生成:画面 + 配音 + 口型 + BGM
  ✓ 30 秒出片:进度条丝滑无感
  ✓ 中文优先:方言 / 网感文案 / 抖音风

11.4 核心功能点(Feature 列表)

复制代码
🚀 30 秒出片        异步队列 + 边缘 CDN,进度条丝滑无感
🏆 只用 SOTA       专注 Seedance 2.0,不用二流模型凑数
🎵 音画一体        一次生成 4K 画面 + 配音 + 口型 + BGM
🎙️ 音色克隆        上传 30 秒样音,AI 复刻你的声线
📱 一键分享        抖音 / 小红书 / 视频号原生跳转
🔌 OpenAPI 接入    5 分钟接入,OpenAI 兼容协议

11.5 API 介绍文案(B 端落地页)

复制代码
速影 OpenAPI · 专注 Seedance 2.0,一行代码出片

curl -X POST https://api.swiftreel.ai/v1/videos \
  -H "Authorization: Bearer sk-..." \
  -d '{
    "model": "seedance-2.0",
    "images": ["https://..."],
    "prompt": "夕阳下的海滩,镜头慢慢推近",
    "duration": 10,
    "resolution": "4k"
  }'

→ { "task_id": "vid_xxx" }

✓ OpenAI 兼容协议,迁移零学习成本
✓ Webhook 异步回调,无需轮询
✓ Coze 故障自动旁路直连火山方舟

11.6 社交媒体话术(推广物料)

抖音 / 小红书短文案

「我用 1 张图 + 1 句话,做出了爆款短视频。✨

工具就是这个 → 速影 AI

  • 用的是 Seedance 2.0,画面+配音一次出,电影级
  • 30 秒出片,零剪辑基础
    #图生视频 #AI神器 #自媒体工具」

朋友圈一句话

「试了 10 几个 AI 视频工具,最后留下这个:速影 AI。只用最强的 Seedance 2.0,30 秒出片。」


十二、运营策略与增长

12.1 冷启动(0 → 1w 用户,前 30 天)

  1. 小红书种草:投 1w 粉以下博主,每人发 1 篇带 Demo 视频的种草笔记
  2. 知乎软文:技术博主写"如何用 Coze 搭 SaaS",植入产品
  3. 开发者社区:掘金 / V2EX / GitHub 发开源工具(如"Coze 工作流模板包")反向引流
  4. 裂变:邀请好友注册,双方各得免费试用次数

12.2 增长(1w → 10w,30--90 天)

  1. 信息流投放:百度 / 抖音信息流引流
  2. B 端切入:与 MCN 谈定制工作流
  3. 创作者口碑:作品广场 + 模板复用带来自然传播

12.3 创作者经济与 KOL 合作(核心增长杠杆)

创作者经济三件套

机制 给创作者的激励 平台收益
模板复用 模板被他人使用 → 作者获激励 UGC 内容供给 + 黏性
作品广场 优质作品被展示 → 作者得粉丝 + 曝光 内容广场 SEO + 二次传播
KOL 入驻 1k+ 粉认证 + 推广合作 自带流量 + 转化率高

KOL 三级合作矩阵

  • 种子 KOL(1w 粉以下):月任务奖励、官方私聊
  • 腰部 KOL(1--10w 粉):流量扶持 + 模板冠名
  • 头部 KOL(10w+ 粉):年度独家合作 + 共同发布会 + 联名工作流

12.4 内容广场 / 社区

  • 每个用户作品默认公开(可关闭),他人可"参考此作品"一键复刻
  • 周榜 / 月榜 → 模板趋势 → 模板市场反哺
  • 评论 / 点赞 / 关注体系,沉淀创作者社交关系

12.5 北极星指标

  • N 星:周生成视频数 / 周活跃用户(衡量"工具的使用密度")
  • 辅助指标:注册转化率、首次生成成功率、月留存、模板被使用率

十三、上线 Roadmap

时间 里程碑
W1(已就绪) Coze 单条 + 批量 2 条 Seedance 工作流跑通;前端 Demo 可演示
W2 上线官网 + 账户 + Seedance 单条生成(1080p),免费试用
W3 开放 4K + 批量生产 + 我的作品 + 用量记录
W4 上线 API 控制台 + Webhook 文档;开启小红书投放
M2 子账号 + 商用授权;B 端商务启动
M3 上线直连火山方舟兜底链路;预研第二模型抽象层(防单点)
M6 企业白牌(私有化部署 + 子账号体系深化)

十四、未来扩展(M6+ 锦上添花)

# 方向 触发条件 备注
1 iOS / Android 原生 App H5 月活 > 1w 拍照即剪、推送通知
2 企业 SSO + 钉钉 / 企微 / 飞书 第一个 B 端客户提出 标配 OIDC / SAML 2.0
3 团队协作 / 共享空间 / 审批流 团队客户增多 角色矩阵 + 评论 + 修改建议
4 A/B 测试框架 全功能上线后 内嵌 GrowthBook / 自建
5 私有化部署(Docker / K8s) 政企 / 金融客户咨询 对接客户自有火山方舟账号 / 私有 Seedance 实例
6 AIGC 鉴伪 SaaS 反向产品 商业化探索 给媒体 / 平台用,识别 AI 视频
7 视频再编辑 / 重生成某一段 用户高频反馈 局部 inpainting + 片段重生

十五、技术效果

bash 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>速影 AI · SwiftReel --- 图生视频体验 Demo</title>
<style>
  :root{
    --blue:#3b82f6; --blue-bg:#dbeafe;
    --green:#22c55e; --green-bg:#dcfce7;
    --purple:#a855f7; --purple-bg:#f3e8ff;
    --orange:#f97316; --orange-bg:#ffedd5;
    --yellow:#eab308; --yellow-bg:#fef3c7;
    --red:#ef4444; --red-bg:#fee2e2;
    --gray:#64748b; --gray-bg:#f1f5f9;
    --ink:#0f172a; --muted:#64748b; --line:#e2e8f0;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",Helvetica,Arial,sans-serif;
    color:var(--ink);background:#f8fafc;line-height:1.6;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1080px;margin:0 auto;padding:0 20px}

  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);
    backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;gap:8px;height:60px}
  .logo{font-weight:800;font-size:20px;display:flex;align-items:center;gap:8px}
  .logo .dot{width:26px;height:26px;border-radius:8px;
    background:linear-gradient(135deg,var(--blue),var(--purple));display:inline-block}
  .nav .tabs{display:flex;gap:4px;margin-left:24px}
  .nav .tabs button{border:0;background:none;padding:8px 14px;border-radius:8px;
    font-size:15px;cursor:pointer;color:var(--muted);font-weight:600}
  .nav .tabs button.active{background:var(--blue-bg);color:var(--blue)}
  .nav .spacer{flex:1}
  .free-chip{display:flex;align-items:center;gap:8px;background:var(--green-bg);
    border:1px solid var(--green);border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px;color:#15803d}

  section.page{display:none;padding:32px 0 80px}
  section.page.active{display:block}

  .hero{text-align:center;padding:56px 0 28px}
  .hero .badge{display:inline-block;background:var(--orange-bg);color:var(--orange);
    border:1px solid var(--orange);border-radius:999px;padding:4px 14px;font-size:13px;font-weight:700;margin-bottom:18px}
  .hero h1{font-size:46px;line-height:1.2;letter-spacing:-1px}
  .hero h1 .grad{background:linear-gradient(135deg,var(--blue),var(--purple));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .hero p.sub{font-size:18px;color:var(--muted);margin:16px auto 26px;max-width:560px}
  .btn{border:0;border-radius:12px;padding:13px 26px;font-size:16px;font-weight:700;cursor:pointer}
  .btn.primary{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;
    box-shadow:0 6px 20px rgba(99,102,241,.35)}
  .btn.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
  .btn:active{transform:translateY(1px)}
  .btn[disabled]{opacity:.5;cursor:not-allowed}
  .hero .cta{display:flex;gap:12px;justify-content:center}
  .checks{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;margin-top:30px;color:var(--muted);font-size:14px}
  .checks span::before{content:"✓ ";color:var(--green);font-weight:800}

  .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:46px}
  .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
  .card .ico{font-size:26px}
  .card h3{font-size:16px;margin:8px 0 4px}
  .card p{font-size:13px;color:var(--muted)}

  .cases{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
  .thumb{aspect-ratio:9/16;border-radius:14px;position:relative;overflow:hidden;
    display:flex;align-items:flex-end;padding:12px;color:#fff;font-size:13px;font-weight:700}
  .thumb span{position:relative;z-index:2;text-shadow:0 1px 6px rgba(0,0,0,.6)}
  .thumb::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;
    justify-content:center;font-size:30px;color:rgba(255,255,255,.85);z-index:1}

  h2.sec{font-size:24px;margin:46px 0 6px;text-align:center}
  p.sec-sub{text-align:center;color:var(--muted);margin-bottom:8px}

  .studio{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}
  .panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
  .panel h3{font-size:16px;margin-bottom:14px}
  .drop{border:2px dashed var(--line);border-radius:14px;padding:26px;text-align:center;
    color:var(--muted);cursor:pointer;transition:.15s}
  .drop:hover{border-color:var(--blue);background:var(--blue-bg)}
  .drop.has{border-style:solid;border-color:var(--green);background:var(--green-bg);color:var(--ink)}
  .thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
  .thumbs .t{width:54px;height:54px;border-radius:8px;background:linear-gradient(135deg,#cbd5e1,#94a3b8);
    display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;font-weight:700}
  textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:14px;
    font-family:inherit;resize:vertical;min-height:80px;margin-top:8px}
  .lbl{font-size:13px;font-weight:700;color:var(--muted);margin:18px 0 8px;display:block}
  .seg{display:flex;gap:8px;flex-wrap:wrap}
  .seg button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;
    cursor:pointer;font-size:14px;font-weight:600}
  .seg button.on{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}
  .dur-row{display:flex;align-items:center;gap:14px;margin-top:8px}
  input[type=range]{flex:1;accent-color:var(--blue)}
  .dur-val{font-weight:800;font-size:18px;min-width:54px;text-align:right}

  .side{background:var(--gray-bg);border-radius:14px;padding:18px;position:sticky;top:80px}
  .side .row{display:flex;justify-content:space-between;font-size:14px;padding:6px 0;color:var(--muted)}
  .side .row b{color:var(--ink)}
  .free-note{margin-top:12px;font-size:13px;padding:10px 12px;border-radius:10px;background:var(--green-bg);color:#15803d}
  .gen-btn{width:100%;margin-top:14px}

  .progress-wrap{margin-top:16px;display:none}
  .bar{height:10px;background:var(--line);border-radius:999px;overflow:hidden}
  .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--purple));
    border-radius:999px;transition:width .3s}
  .stage{font-size:13px;color:var(--muted);margin-top:8px}
  .result-video{margin-top:16px;display:none;aspect-ratio:9/16;max-width:240px;border-radius:14px;
    background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;align-items:center;justify-content:center;
    flex-direction:column;gap:8px;text-align:center;padding:16px;position:relative}
  .result-video .play{font-size:40px}
  .wm{position:absolute;right:8px;bottom:8px;font-size:10px;color:rgba(255,255,255,.7)}

  table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;
    border:1px solid var(--line);font-size:14px}
  th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
  th{background:var(--gray-bg);font-size:13px;color:var(--muted)}
  tr:last-child td{border-bottom:0}
  .chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700}
  .chip.ok{background:var(--green-bg);color:#15803d}
  .chip.run{background:var(--yellow-bg);color:#a16207}

  .works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
  .work{aspect-ratio:9/16;border-radius:14px;position:relative;overflow:hidden;color:#fff;
    display:flex;align-items:flex-end;padding:10px;font-size:12px;font-weight:700;
    background:linear-gradient(135deg,#334155,#0f172a)}
  .work .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:rgba(255,255,255,.85)}
  .work span{position:relative;z-index:2}

  .toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(80px);
    background:var(--ink);color:#fff;padding:12px 22px;border-radius:12px;font-weight:600;
    opacity:0;transition:.3s;z-index:99}
  .toast.show{transform:translateX(-50%) translateY(0);opacity:1}
  .footnote{text-align:center;color:var(--muted);font-size:12px;margin-top:50px}
  .stage-banner{background:var(--yellow-bg);border:1px solid var(--yellow);color:#a16207;
    border-radius:12px;padding:10px 16px;font-size:13px;margin-bottom:20px;text-align:center}
  @media(max-width:820px){
    .feature-grid{grid-template-columns:repeat(2,1fr)}
    .cases,.works-grid{grid-template-columns:repeat(2,1fr)}
    .studio{grid-template-columns:1fr}
    .hero h1{font-size:34px}
    .nav .tabs{display:none}
  }
</style>
</head>
<body>

<header>
  <div class="wrap nav">
    <div class="logo"><span class="dot"></span>速影 AI <span style="font-weight:500;color:var(--muted);font-size:14px">· SwiftReel</span></div>
    <div class="tabs">
      <button data-go="home" class="active">首页</button>
      <button data-go="studio">创作工作台</button>
      <button data-go="works">我的作品</button>
    </div>
    <div class="spacer"></div>
    <div class="free-chip">🎬 体验版</div>
  </div>
</header>

<!-- ============ HOME ============ -->
<section class="page active" id="home">
  <div class="wrap">
    <div class="hero">
      <span class="badge">🏆 Seedance 2.0 驱动 · 2026 全球 SOTA</span>
      <h1>上传一张图,写一句话<br><span class="grad">30 秒生成电影级短视频</span></h1>
      <p class="sub">最懂中文创作者的图生视频工具。只用最强的 Seedance 2.0,画面 + 配音 + 口型一次生成。</p>
      <div class="cta">
        <button class="btn primary" data-go="studio">立即免费体验</button>
        <button class="btn ghost" data-go="works">查看作品</button>
      </div>
      <div class="checks">
        <span>只用最强:Seedance 2.0(音画一体 4K)</span>
        <span>一次生成:画面 + 配音 + 口型 + BGM</span>
        <span>30 秒出片:进度丝滑无感</span>
        <span>中文优先:方言 / 网感文案 / 抖音风</span>
      </div>
    </div>

    <h2 class="sec">为什么选速影</h2>
    <p class="sec-sub">一个模型打天下,简单到极致</p>
    <div class="feature-grid">
      <div class="card"><div class="ico">🚀</div><h3>30 秒出片</h3><p>异步队列 + 边缘 CDN,进度条丝滑无感。</p></div>
      <div class="card"><div class="ico">🏆</div><h3>只用 SOTA</h3><p>专注 Seedance 2.0,超越 Veo3 / Sora2 / Gen-4.5,不用二流模型凑数。</p></div>
      <div class="card"><div class="ico">🎵</div><h3>音画一体</h3><p>一次生成 4K 画面 + 配音 + 口型 + BGM,无需后期。</p></div>
      <div class="card"><div class="ico">🎙️</div><h3>音色克隆</h3><p>上传 30 秒样音,AI 复刻你的声线。</p></div>
      <div class="card"><div class="ico">📱</div><h3>一键分享</h3><p>抖音 / 小红书 / 视频号原生跳转。</p></div>
      <div class="card"><div class="ico">🔌</div><h3>OpenAPI 接入</h3><p>5 分钟接入,OpenAI 兼容协议,B 端友好。</p></div>
    </div>

    <h2 class="sec">网红同款案例</h2>
    <p class="sec-sub">点击「创作工作台」即可复刻</p>
    <div class="cases">
      <div class="thumb" style="background:linear-gradient(135deg,#f59e0b,#ef4444)"><span>夕阳海滩 · 治愈Vlog</span></div>
      <div class="thumb" style="background:linear-gradient(135deg,#3b82f6,#8b5cf6)"><span>商品口播 · 带货</span></div>
      <div class="thumb" style="background:linear-gradient(135deg,#10b981,#059669)"><span>书单号 · 金句</span></div>
      <div class="thumb" style="background:linear-gradient(135deg,#ec4899,#be185d)"><span>探店 · 美食</span></div>
    </div>
  </div>
</section>

<!-- ============ STUDIO ============ -->
<section class="page" id="studio">
  <div class="wrap">
    <div class="stage-banner">🚧 开发体验阶段:上传图片与文案,一键生成短视频。</div>
    <h2 class="sec">创作工作台</h2>
    <p class="sec-sub">上传图片 → 写文案 → 选时长/清晰度 → 一键生成</p>
    <div class="studio" style="margin-top:24px">
      <div>
        <div class="panel">
          <h3>① 上传图片(1--9 张)</h3>
          <div class="drop" id="drop">
            <div style="font-size:30px">📁</div>
            <div>点击此处添加示例图片(Demo 模拟)</div>
            <div style="font-size:12px;margin-top:4px">支持拖拽 1--9 张 · JPG/PNG</div>
          </div>
          <div class="thumbs" id="thumbs"></div>

          <label class="lbl">② 文案 / 主题</label>
          <textarea id="prompt" placeholder="例:夕阳下的海滩,镜头缓缓推近,温柔治愈的氛围...">夕阳下的海滩,镜头缓缓推近,温柔治愈的氛围</textarea>

          <label class="lbl">③ 画面比例</label>
          <div class="seg" id="ratioSeg">
            <button class="on" data-ratio="9:16">9:16 抖音</button>
            <button data-ratio="16:9">16:9 横屏</button>
            <button data-ratio="1:1">1:1 朋友圈</button>
          </div>

          <label class="lbl">④ 清晰度</label>
          <div class="seg" id="resSeg">
            <button class="on" data-res="1080p">1080p 标准</button>
            <button data-res="4k">4K 高清</button>
          </div>

          <label class="lbl">⑤ 时长:<span id="durLabel">5</span> 秒</label>
          <div class="dur-row">
            <input type="range" id="dur" min="3" max="15" step="1" value="5">
            <span class="dur-val"><span id="durLabel2">5</span>s</span>
          </div>
        </div>
      </div>

      <div>
        <div class="side">
          <h3 style="margin-bottom:10px">📋 本次生成参数</h3>
          <div class="row"><span>模型</span><b>Seedance 2.0</b></div>
          <div class="row"><span>比例</span><b id="qRatio">9:16</b></div>
          <div class="row"><span>清晰度</span><b id="qRes">1080p</b></div>
          <div class="row"><span>时长</span><b id="qDur">5 秒</b></div>
          <div class="row"><span>音轨</span><b>音画一体(含配音/BGM)</b></div>
          <div class="free-note">🎬 确认参数后,一键生成。</div>
          <button class="btn primary gen-btn" id="genBtn">⚡ 生成视频</button>

          <div class="progress-wrap" id="progWrap">
            <div class="bar"><i id="barFill"></i></div>
            <div class="stage" id="stageTxt">排队中...</div>
          </div>
          <div class="result-video" id="resultVideo">
            <div class="play">▶</div>
            <div>生成完成!</div>
            <div style="font-size:12px;opacity:.8">点击下载 / 分享到抖音·小红书</div>
            <div class="wm">由速影 AI 生成</div>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============ WORKS ============ -->
<section class="page" id="works">
  <div class="wrap">
    <h2 class="sec">我的作品</h2>
    <p class="sec-sub">记录你生成过的作品与参数</p>

    <h3 style="margin:24px 0 10px">作品列表</h3>
    <div class="works-grid" id="worksGrid">
      <div class="work"><div class="play">▶</div><span>示例 · 夕阳海滩 5s</span></div>
    </div>

    <h3 style="margin:30px 0 10px">用量记录</h3>
    <table id="usageTable">
      <tr><th>时间</th><th>模型</th><th>比例</th><th>清晰度</th><th>时长</th><th>状态</th></tr>
      <tr><td>Jun 10 01:12</td><td>Seedance 2.0</td><td>9:16</td><td>4K</td><td>15s</td><td><span class="chip ok">成功</span></td></tr>
      <tr><td>Jun 10 01:08</td><td>Seedance 2.0</td><td>9:16</td><td>1080p</td><td>5s</td><td><span class="chip ok">成功</span></td></tr>
      <tr><td>Jun 10 12:48</td><td>Seedance 2.0</td><td>16:9</td><td>1080p</td><td>10s</td><td><span class="chip ok">成功</span></td></tr>
    </table>
    <p class="footnote">本页为演示 Demo:用量记录存于浏览器 LocalStorage,生成进度为前端模拟,无真实后端。</p>
  </div>
</section>

<div class="toast" id="toast"></div>

<script>
const $ = id => document.getElementById(id);

/* nav */
document.querySelectorAll('[data-go]').forEach(b=>b.addEventListener('click',()=>go(b.dataset.go)));
function go(id){
  document.querySelectorAll('.page').forEach(p=>p.classList.toggle('active',p.id===id));
  document.querySelectorAll('.tabs button').forEach(t=>t.classList.toggle('active',t.dataset.go===id));
  window.scrollTo({top:0,behavior:'smooth'});
}

/* studio config */
let cfg = { ratio:'9:16', res:'1080p', dur:5, imgs:0 };

$('drop').addEventListener('click',()=>{
  if(cfg.imgs>=9){ toast('最多 9 张'); return; }
  cfg.imgs++;
  const t=document.createElement('div'); t.className='t'; t.textContent='图'+cfg.imgs;
  $('thumbs').appendChild(t);
  $('drop').classList.add('has');
  $('drop').querySelector('div:nth-child(2)').textContent = `已添加 ${cfg.imgs} 张图片(点击继续添加)`;
});

function segPick(segId,cb){
  document.querySelectorAll('#'+segId+' button').forEach(b=>{
    b.addEventListener('click',()=>{
      document.querySelectorAll('#'+segId+' button').forEach(x=>x.classList.remove('on'));
      b.classList.add('on'); cb(b); syncParams();
    });
  });
}
segPick('ratioSeg',b=>cfg.ratio=b.dataset.ratio);
segPick('resSeg',b=>cfg.res=b.dataset.res);

$('dur').addEventListener('input',e=>{
  cfg.dur=+e.target.value;
  $('durLabel').textContent=cfg.dur; $('durLabel2').textContent=cfg.dur;
  syncParams();
});

function syncParams(){
  $('qRatio').textContent=cfg.ratio;
  $('qRes').textContent=cfg.res==='4k'?'4K':'1080p';
  $('qDur').textContent=cfg.dur+' 秒';
}

/* generate (mock) */
let busy=false;
$('genBtn').addEventListener('click',()=>{
  if(busy) return;
  if(cfg.imgs===0){ toast('请先上传至少 1 张图片'); return; }

  busy=true; $('genBtn').textContent='生成中...'; $('genBtn').disabled=true;
  $('progWrap').style.display='block'; $('resultVideo').style.display='none';
  const stages=['排队中...','LLM 扩写分镜提示词...','Seedance 2.0 图生视频...','音画一体合成...','烧入 AI 标识水印...','上传 OSS / CDN...'];
  let p=0,si=0;
  const timer=setInterval(()=>{
    p+=Math.random()*16+6; if(p>100)p=100;
    $('barFill').style.width=p+'%';
    const ns=Math.min(stages.length-1,Math.floor(p/100*stages.length));
    if(ns!==si){si=ns;$('stageTxt').textContent=stages[si];}
    if(p>=100){
      clearInterval(timer);
      $('stageTxt').textContent='✅ 完成!';
      $('resultVideo').style.display='flex';
      busy=false; $('genBtn').textContent='⚡ 再生成一条'; $('genBtn').disabled=false;
      recordUsage();
      toast('生成成功!');
    }
  },420);
});

function recordUsage(){
  const now=new Date();
  const hh=String(now.getHours()).padStart(2,'0'), mm=String(now.getMinutes()).padStart(2,'0');
  // 用量记录
  const row = `<tr><td>Jun 12 ${hh}:${mm}</td><td>Seedance 2.0</td><td>${cfg.ratio}</td>
    <td>${cfg.res==='4k'?'4K':'1080p'}</td><td>${cfg.dur}s</td><td><span class="chip ok">成功</span></td></tr>`;
  $('usageTable').querySelector('tr').insertAdjacentHTML('afterend',row);
  // 作品网格
  const w=document.createElement('div'); w.className='work';
  w.innerHTML=`<div class="play">▶</div><span>${cfg.res==='4k'?'4K':'1080p'} · ${cfg.dur}s</span>`;
  $('worksGrid').insertBefore(w,$('worksGrid').firstChild);
}

/* toast */
let tt;
function toast(msg){
  const el=$('toast'); el.textContent=msg; el.classList.add('show');
  clearTimeout(tt); tt=setTimeout(()=>el.classList.remove('show'),2200);
}

/* init */
syncParams();
</script>
</body>
</html>

修订记录

版本 日期 修订
v2.0 2026-06-12 初版:SaaS 产品设计 + Coze 引擎
v2.2 2026-06-12 新增章节:模板市场 / B 端工程 / 合规备案 / 内容审核 / 风险评估
v2.3 2026-06-12 收敛为单模型 Seedance 2.0(去掉多模型 / 多档位)
v2.5 2026-06-14 本阶段聚焦实现:全文聚焦"图 + 文案 → Seedance 2.0 出片"链路;架构图收敛为 4 张
v2.6 2026-06-14 第三章新增 §3.3 生成前置闸门(需求澄清 + 文字效果预演 + 消耗预估),在调用模型前用文字层试错,省算力 / 省成本;原 3.3--3.6 顺延为 3.4--3.7
相关推荐
延凡科技1 小时前
延凡科技光储充能源系统
人工智能·科技·能源
DS随心转插件1 小时前
Kimi 转 pdf 怎么压缩但清晰?AI 导出鸭一站式优化,压缩文件同时留存原版高清内容
人工智能·ai·pdf·豆包·deepseek·ai导出鸭
努力写A题的小菜鸡1 小时前
PyTorch 搭建卷积神经网络:常规写法 vs Sequential 写法详解
人工智能·pytorch·cnn
DogDaoDao1 小时前
AV1 解码器核心:decodeframe.c文件深度剖析
音视频·实时音视频·视频编解码·av1·解码器·decode·vp9
沐籽李1 小时前
Agent入门第三课:上下文不是越长越好,记忆也不是越多越聪明
人工智能·agent·aidd·基础术语·入门概念
zhengfei6111 小时前
第7章 Agent 求职面试准备与行业实践
人工智能
老饼讲解-BP神经网络1 小时前
BP神经网络用什么训练算法(traingd、traingdm、trainlm)
人工智能·神经网络·算法
xiezhr1 小时前
Hermes官方桌面版发布了
人工智能·ai·agent·codex·hermes
Gavynlee1 小时前
ubuntu22.04 配置cluade code & 硅基流动API
人工智能