跳转到主要内容

Seedance 图生视频教程:首帧、首尾帧、参考图怎么选,图会被裁多少

Seedance 图生视频先选模式:定开头用首帧,两头都定用首尾帧,只借主体用参考图。图片每边 300–6000 px、小于 30 MB,2.5 首帧比例只能 adaptive。

LaoZhang AI Team发布于20 分钟阅读
文章目录
Seedance 图生视频三种模式:首帧 1 张钉住第一帧,首尾帧 2 张钉住开头和结尾,参考图在 2.5 上最多 30 张只借主体与画风

Seedance 2.5 和 2.0 系列都能把一张静态图做成视频,但图片有三种互斥的用法,一次请求只能选一种:想让视频从这张图开始,用首帧(role: "first_frame",1 张);开头和结尾都要和给定的图一致,用首尾帧(first_frame 加 last_frame,2 张);只想借图里的商品、角色或画风,让模型重新构图,用参考图(reference_image,2.5 最多 30 张,2.0 系列最多 9 张)。截至 2026 年 11 月 2 日,火山方舟创建视频生成任务 API 文档(10 月 28 日更新)就是这样划分的。

上传之前先看图片本身:每条边 300–6000 px,宽高比在 0.4–2.5 之间,单张小于 30 MB,否则接口直接拒收。然后改掉两个默认值。Seedance 2.5 做首帧或首尾帧时 ratio 只能是 adaptive,输出比例跟着首帧图走;2.0 系列可以指定 16:9 之类的比例,但比例和图片不一致时会居中裁剪,4:3 的手机照片按 16:9 出片要丢掉 25% 的高度。2.5 的 duration 默认是 -1,由模型在 4–30 秒里自己定长度,想控制费用就写明 "duration": 5。

在即梦、豆包或 Dreamina 里用,只需要上传图片、写一句运动描述再生成;直接调 API 的,火山方舟、BytePlus ModelArk 和 laozhang.ai 这类兼容中转用的是同一套请求体,下文给出三种模式各自的写法。

说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。

首帧、首尾帧、参考图:按你想控制的画面选一种

三种模式的区别在于图片对成片的约束有多硬:首帧把第一帧钉死,首尾帧把开头和结尾都钉死,参考图只约束“画面里有什么、长什么样”,镜头从哪里开始由模型决定。所以先想清楚要的是哪一种结果,再选模式;三种 role 混在一个请求里,接口不接受。

模式适合什么图片数量与 role支持的模型ratio 规则
首帧让商品图、插画、照片直接动起来,第一帧就是原图1 张,first_frame 或不填2.5、2.0 系列、1.0 pro、1.0 pro fast2.5 只能 adaptive;2.0 系列可指定比例
首尾帧从状态 A 过渡到状态 B,比如商品特写转到成品、一个姿势换到另一个2 张,first_frame 和 last_frame,role 必填,两张可以相同2.5、2.0 系列、1.0 pro同上;两张比例不同时以首帧为准,尾帧被裁
参考图保住角色、商品外观或画风,但镜头和构图交给模型2.5 为 1–30 张,2.0 系列 1–9 张,每张都是 reference_image,还能加参考视频和音频2.5、2.0 系列两代都可指定比例,或 adaptive 由模型按提示词选

拿不准时这样判断:成片第一眼必须是你那张图,就用首帧;最后一帧也要落在指定画面上,就用首尾帧;你只关心“还是这个人、这件商品”,不在乎从哪个角度开拍,就用参考图。参考图模式也可以在提示词里写“图片1 作为首帧”,间接做出首尾帧的效果,但火山方舟文档的建议是,首尾帧必须和图片严格一致时,优先用首尾帧模式。

你的图片能不能用:300–6000 px、宽高比 0.4–2.5、小于 30 MB

一张图能否被接口接收,取决于格式、边长、宽高比和文件大小,任何一项不合格,任务在创建时就会失败。下表是截至 2026 年 11 月 2 日火山方舟接口文档写明的规则,最右一列是同一天本机预检时被拦下的例子;即梦、Dreamina 等产品界面可能另有自己的上传限制。

检查项接口要求被拦下的例子
格式jpeg、png、webp、bmp、tiff、gif;2.0 系列及以后还支持 heic、heif—
边长每条边 300–6000 px256×256 的头像,短边不足 300 px;8000×2000 的全景图,长边超过 6000 px
宽高比宽 ÷ 高 在 0.4–2.5 之间3000×1000 的横幅是 3.00;上面那张全景图是 4.00
单张大小小于 30 MB6000×4000 的 BMP 扫描件 68.7 MB
请求体不超过 64 MB,大文件不要用 Base64同一张 BMP 转成 Base64 后约 91.6 MB
张数首帧 1 张,首尾帧 2 张,参考图 2.5 最多 30 张、2.0 系列最多 9 张2.5 首尾帧只给了 1 张

这些例子来自 2026 年 11 月 2 日的一次本机预检:按上表规则写了一个 Python 脚本,在 macOS 26.1、Python 3.12.1、Pillow 12.0.0 下检查了 9 张不含人物的合成测试图、15 种参数组合。脚本只对照公开规则,不调用模型,所以“通过”只说明符合文档,不代表服务端一定受理,也不涉及画质。

还有一条规则跟尺寸无关:Seedance 2.5 和 2.0 系列都不接受直接上传含真人人脸的图片,换模型版本绕不开。火山方舟允许的替代素材是部分模型生成的含人脸产物、预置的虚拟人像和已授权的真人素材;照片里有人脸被拒时,报错原文和处理办法见 Seedance 提示“输入图片可能包含真人”:2.5 人脸限制与正确处理。

画面被裁掉一块:ratio 和图片比例不一致时会居中裁剪

成片少了头顶或两侧,原因几乎都是输出比例和原图比例不一样。火山方舟文档写明,图生视频选择的宽高比与上传图片不一致时,会对图片做居中裁剪,所以图片离目标比例越远,丢得越多,而且丢的是上下两边或左右两边,不是你想裁的那一边。

2026 年 11 月 2 日的预检算出了两个常见情况。一张 4032×3024 的手机照片是 4:3,在 2.0 系列首帧里设 ratio: "16:9",只能保留 75% 的高度,上下合计裁掉 25%;一张 1179×2556 的手机竖屏截图比 9:16 还要细长,设 9:16 会裁掉 18% 的高度。如果主体靠近画面边缘,这一刀就可能切到它。

Seedance 2.5 没有这个选择:首帧和首尾帧任务只接受 adaptive,输出视频的宽高比自动和首帧图保持一致,传 "16:9" 不符合文档规则,预检里这种请求直接被拦下。代价是 2.5 的成片比例完全由你的原图决定,想要标准 16:9 或 9:16,就得在上传前自己把图裁好。

首尾帧还有一层裁剪:两张图比例不同时,以首帧为准,尾帧被自动裁剪去适配。预检用的是 2048×2048 的方形商品图做首帧、1920×1080 的横图做尾帧,尾帧会被裁成方形,只剩中间 1080×1080,宽度少了 44%。最稳的做法是两张图事先裁成同一个比例,再在 2.0 系列里选与之相同的 ratio,或者直接用 adaptive。

居中裁剪示意:4:3 照片按 16:9 出片裁掉 25% 高度,竖屏截图按 9:16 裁掉 18% 高度,16:9 尾帧配方形首帧时只剩中间 1080×1080

想在上传前批量检查,可以把这两节的规则写成几行代码。下面的函数按火山方舟文档的数值判断图片能否被接收,并在指定比例时算出居中裁剪会丢掉多少;2026 年 11 月 3 日用同一批测试图跑过,结果和上面的预检一致。HEIC 需要另装 Pillow 插件才能读取。

python
import base64, os
from PIL import Image

def check_image(path, ratio=None):
    """按火山方舟图生视频的输入规则检查一张图;ratio 例如 "16:9"。"""
    with Image.open(path) as im:
        w, h, fmt = im.width, im.height, im.format
    mb = os.path.getsize(path) / 1024 / 1024
    problems = []
    if fmt not in {"JPEG", "PNG", "WEBP", "BMP", "TIFF", "GIF"}:
        problems.append(f"格式 {fmt} 不在支持列表里")
    if min(w, h) < 300 or max(w, h) > 6000:
        problems.append(f"{w}×{h}:每条边要在 300–6000 px 之间")
    if not 0.4 <= w / h <= 2.5:
        problems.append(f"宽高比 {w / h:.2f},要在 0.4–2.5 之间")
    if mb >= 30:
        problems.append(f"{mb:.1f} MB,单张要小于 30 MB")
    if ratio:  # 只对 2.0 系列首帧、首尾帧指定比例时有意义
        a, b = map(int, ratio.split(":"))
        target, img = a / b, w / h
        lost = 1 - (target / img if img > target else img / target)
        if lost > 0.01:
            side = "宽度" if img > target else "高度"
            problems.append(f"按 {ratio} 居中裁剪,约丢掉 {lost:.0%} 的{side}")
    return problems

def to_data_url(path):
    """小图转成 Base64 data URL,格式名必须小写。"""
    with Image.open(path) as im:
        fmt = im.format.lower()  # jpeg、png、webp……
    with open(path, "rb") as f:
        data = base64.b64encode(f.read()).decode()
    return f"data:image/{fmt};base64,{data}"

print(check_image("phone-photo.jpg", ratio="16:9"))
# 4032×3024 的照片会得到:['按 16:9 居中裁剪,约丢掉 25% 的高度']

在 Dreamina 里做:上传图片、写运动描述、生成

用产品界面不需要设置 role、ratio 这些参数。Dreamina(CapCut 旗下的国际版)的 Dreamina Seedance 图生视频工具页截至 2026 年 11 月 2 日写的是三步:

  1. 打开图生视频生成器,新建一个项目。
  2. 上传图片,描述你希望它怎么动、给人什么感觉,可以写镜头运动、动作或风格这样的简单提示。
  3. 点击生成,预览结果,需要时调整后再下载。

这个页面没有写图片尺寸限制、可选时长和首尾帧选项,页面上能看到 Seedance 2.0 mini 的生成框和 Seedance 2.5 的入口,上传后出来的比例和长度以界面实际显示为准。国内用户的官方入口是即梦、豆包和火山方舟体验中心,各入口的差别和地区限制见 Seedance 2.0 怎么用:官方入口、在线使用与地区可用性(2026),具体按钮和积分以界面当天显示为准。

分辨率和时长:2.5 的 duration 默认 -1,最长 30 秒

resolution 和 duration 决定成片的像素数和帧数,也就直接决定费用。最容易踩的是 2.5 的 duration:不传或传 -1,模型会在 4–30 秒之间自己定长度,账单可能是 5 秒的好几倍。

分辨率按模型有不同的上限。2.5 可选 480p、720p、1080p,默认 720p;2.0 标准版多一个 4k;2.0 fast 和 2.0 mini 只有 480p 和 720p,预检里给 mini 选 1080p 直接被拦。另外要注意格式:2.5 的 1080p 和 2.0 的 4k 都是 10 bit 的 H.265/HEVC 编码,部分播放器不兼容,要在旧设备或旧软件上用的话,先选 720p 或者转一次码。

时长方面,2.5 可设 4–30 秒,2.0 系列 4–15 秒,两者都可以设 -1 让模型自选;2.0 设 20 秒超出范围,预检里同样被拦。火山方舟文档在这个参数旁边特意写了“视频时长与计费相关,请谨慎设置”,接口返回的 duration 是实际总帧数除以 24 后向下取整。

-1 的风险可以算出来。2026 年 11 月 2 日的预检用一张 1536×2048 的 3:4 插画做 2.5 首帧、720p:写明 5 秒时约 109,586 个 token,按 laozhang.ai 标价约 $1.32;用默认的 -1,如果模型选了最长的 30 秒,就是 721 帧、约 652,989 个 token,约 $7.84。模型不一定每次都选满,但上限摆在那里,批量跑的时候这个差距会被放大,所以每个请求都写明 duration。

说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。

Seedance 2.5 首帧 720p 费用对比:写明 5 秒约 $1.32,默认 -1 选满 30 秒约 $7.84

一条图生视频多少钱:5 秒 720p 约 $0.43–$1.31

按 laozhang.ai 截至 2026 年 11 月 2 日的标价,16:9、5 秒、720p、不带输入视频的一条视频,最便宜的是 2.0 mini,最贵的是 2.5,相差约三倍。按火山方舟的估算公式,输入图片不计入 token 用量,所以同样的输出,用首帧、首尾帧还是参考图,费用一样,只看模型、输出分辨率和时长。

说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。

模型laozhang.ai 每百万 token5 秒 720p5 秒 1080p火山方舟官方示例,5 秒 720p
Seedance 2.5$12.00,1080p 为 $13.20约 $1.31约 $3.23¥7.56
Seedance 2.0$7.88,1080p 为 $8.74约 $0.86约 $2.14¥4.97
Seedance 2.0 fast$6.34约 $0.69不支持¥4.00
Seedance 2.0 mini$3.94约 $0.43不支持¥2.48

表中美元价来自 laozhang.ai 的 Seedance 2.0 与 2.5 视频生成文档,是平台把火山方舟人民币原价乘以 0.1714 得到的美元标价;人民币一列是该文档引用的火山方舟模型价格页官方示例,两列币种不同,不要互相换算。

自己估算用火山方舟给的公式:token 用量 ≈(输入视频时长 + 输出视频时长)× 输出宽 × 输出高 × 帧率 ÷ 1024,再乘每百万 token 的单价。5 秒按实际输出的 121 帧算,720p 16:9 是 1280 × 720 × 121 ÷ 1024 = 108,900 个 token,乘以 2.5 每百万 token 的 $12.00,就是表里的数。比例不同像素数略有变化,4:3 的 720p 是 1112×834,比 16:9 多约 0.6%,费用几乎一样;预检里最便宜的组合是 2.0 mini、480p、1:1、5 秒,约 48,400 个 token、约 $0.19。

在 laozhang.ai 上,每个任务会出现预扣和结算两条消费日志,两条相加才是这一条视频的实际费用。火山方舟、BytePlus 和其他平台折算成每秒是多少,见 Seedance 2.5 API 价格:各渠道每秒价对比,免费额度够不够。

用 API 发图生视频请求:三种模式的请求体

三种模式的请求结构相同,区别只在 content 里放几张图、每张图的 role 是什么,以及 ratio 能不能指定。下面的例子按 laozhang.ai 文档的示例改写,示例图片地址也取自文档;直连火山方舟时换掉地址和密钥即可。

说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。

创建任务的地址有两个。直连火山方舟是 POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks,开通 Seedance 2.5 或 2.0 系列需要满足三个条件之一:账户余额大于 200 元、购买 200 元及以上的节省计划,或者持有还有余量的 Seedance 资源包。走 laozhang.ai 是 POST https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks,路径必须带 /seedance 前缀,令牌必须在 SeeDance2 分组,模型 ID 为 doubao-seedance-2-5-260628、doubao-seedance-2-0-260128、doubao-seedance-2-0-fast-260128 和 doubao-seedance-2-0-mini-260615。BytePlus 的开通门槛和各平台模型 ID 的写法,见 Seedance 2.5 API 接入指南:模型 ID、开通门槛、Python 与 Node.js。

图片放在 image_url.url 里,有三种写法。公网可访问的图片直接填 URL,这是最省事的;本地小图可以转成 Base64,格式是 data:image/png;base64,...,png、jpeg 这类格式名必须小写,上一节的 to_data_url 函数就是做这件事的;Base64 会让数据膨胀约三分之一,大图不要用,否则请求体容易超过 64 MB。素材库里的图用 asset://<ASSET_ID>。

首帧:一张图,2.5 的 ratio 写 adaptive

bash
export LAOZHANG_API_KEY="替换为你的密钥"

curl -s -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  --data-raw '{
    "model": "doubao-seedance-2-5-260628",
    "content": [
      {
        "type": "text",
        "text": "镜头缓慢推近,红苹果在木桌上轻轻转动,水珠反光,背景虚化,不出现人物。"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg"
        },
        "role": "first_frame"
      }
    ],
    "ratio": "adaptive",
    "duration": 5,
    "resolution": "720p",
    "generate_audio": false,
    "return_last_frame": true
  }'

换成 2.0 系列时,把 model 改成对应的 ID,ratio 才可以写 "16:9"、"9:16" 等固定比例,前提是接受上一节说的居中裁剪。

首尾帧:两张图,role 必填

bash
curl -s -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  --data-raw '{
    "model": "doubao-seedance-2-0-260128",
    "content": [
      {
        "type": "text",
        "text": "首帧为图片1,尾帧为图片2。从红苹果产品特写顺滑过渡到苹果果茶成品杯,保持产品外观一致,不出现人物。"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg"
        },
        "role": "first_frame"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic2.jpg"
        },
        "role": "last_frame"
      }
    ],
    "ratio": "adaptive",
    "duration": 5,
    "resolution": "720p",
    "generate_audio": false
  }'

参考图:每张都是 reference_image,比例可以指定

bash
curl -s -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  --data-raw '{
    "model": "doubao-seedance-2-0-260128",
    "content": [
      {
        "type": "text",
        "text": "参考图片1的苹果和图片2的果茶杯,生成一段竖屏广告:苹果切块落入杯中,最后停在成品杯特写,明亮清爽,不出现人物。"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic1.jpg"
        },
        "role": "reference_image"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/r2v_tea_pic2.jpg"
        },
        "role": "reference_image"
      }
    ],
    "ratio": "9:16",
    "duration": 5,
    "resolution": "720p"
  }'

几个默认值值得留意。generate_audio 在 2.x 上默认是 true,会生成双声道的有声视频,只要画面就设成 false;watermark 默认 false,设成 true 会在右下角加“AI 生成”字样;seed 和 camera_fixed 只适用于 Seedance 1.0 pro 和 1.0 pro fast。参数也可以写在提示词末尾,如 --rs 720p --rt 16:9 --dur 5,但那是弱校验,写错了可能被忽略,放在请求体里才会严格校验并报错。

创建成功后响应里只有任务 id,之后用 GET .../contents/generations/tasks/{id} 轮询,status 从 queued、running 变成 succeeded 后,从 content.video_url 下载视频。laozhang.ai 文档说结果链接通常 24 小时内有效,成功后尽快转存。完整的轮询和下载代码见 Seedance 2.5 API 接入指南:模型 ID、开通门槛、Python 与 Node.js;任务一直排队、失败或过期,按 Seedance 2.5 报错、排队和超时排查:先确认任务是否受理 一步步查。

laozhang.ai 返回 “no available channels”:令牌不在 SeeDance2 分组

这个 503 不是图片的问题,而是令牌分组不对:laozhang.ai 的 Seedance 模型只开放在 SeeDance2 分组,default 等其他分组的令牌会被直接拒绝。修法只有一个,在令牌管理里新建一个分组选 SeeDance2 的令牌,再用它发请求。

说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。

2026 年 11 月 2 日,用两个 default 分组的 laozhang.ai 令牌向上面的创建任务地址发了首帧请求,每个令牌对 2.0 和 2.5 各发一次,共 4 次,全部返回 HTTP 503。按次计费的那个令牌收到的是:

Current group default has no available channels for model doubao-seedance-2-0-260128 under billing mode [pay-per-request]

2.5 的报错只是模型 ID 换成了 doubao-seedance-2-5-260628。另一个是按用量计费的令牌,它的两次请求都返回同样的报错,只是括号里写的是 [pay-as-you-go, pay-per-request]。这 4 次请求里放的都是同一张 100×100 px 的图,按规则本该因为边长不足被拒,却没有出现任何图片相关的报错,说明分组检查发生在检查图片之前;请求没有到达模型,也没有扣费。所以看到这条报错时,先别去改图片或参数,换对令牌再说。

想让下一段接着上一段拍:用 return_last_frame 取尾帧

把 return_last_frame 设为 true,任务成功后会额外返回这段视频的最后一帧,再把它当作下一个任务的首帧,就能一段接一段地拼出连续镜头。火山方舟文档把这个用法写在参数说明里,返回的尾帧是 JPEG,宽高和视频一致,没有水印。

具体做法是:第一段的请求体加上 "return_last_frame": true(上面首帧示例里已经加了),任务成功后从查询结果的 content.last_frame_url 拿到尾帧地址,把它填进第二段请求的 first_frame,提示词写下一段要发生的动作。用 2.5 做首帧时比例自动跟随这张尾帧,各段画幅天然一致;用 2.0 系列时,每段都写同一个 ratio。尾帧链接和视频链接一样是临时地址,要在失效前用掉或转存。如果总长不超过 30 秒,也可以直接让 2.5 一次生成,少一次衔接。

Seedance 图生视频的其他问题

运动描述(提示词)该怎么写?

Seedance 的所有模型都支持中文提示词,火山方舟建议中文不超过 500 字。图生视频的提示词重点写镜头怎么动、主体做什么动作,参考图模式下用“图片1”“图片2”指明每张图的用途;镜头脚本和参考素材编号的写法见 Seedance 2 提示词指南:分镜、参考素材与 2.5 编辑示例。

Seedance 图生视频能免费用吗?

产品端可以试:截至 2026 年 11 月 2 日,Dreamina 的 Seedance 图生视频页面说 Seedance 2.0 提供免费试用积分,可以不花钱把图片做成视频,但没有写一条视频扣多少积分。API 按 token 计费,各渠道的价格和有没有免费额度,见 Seedance 2.5 API 价格:各渠道每秒价对比,免费额度够不够。

参考来源3

本文引用的外部页面,按正文出现顺序排列。最后更新于 2026年11月3日。

  1. 1.火山方舟创建视频生成任务 API 文档docs.volcengine.com/docs/ark/create-video-generation-task-api
  2. 2.Dreamina Seedance 图生视频工具页dreamina.capcut.com/tools/seedance-image-to-video
  3. 3.火山方舟模型价格页volcengine.com/docs/82379/1544106
Seedance 2.0 完整使用教程,包含访问方法与操作指南
AI 视频生成

Seedance 2.0 使用教程:任何国家都能用的完整指南(免费与付费方法,2026)

Seedance 2.0 是 ByteDance 推出的 AI 视频生成模型,可生成最长 15 秒、2K 分辨率并带有原生音频的视频片段。本指南涵盖 4 种访问方法(包括免费的 Dreamina)、文生视频与图生视频的分步教程、12 文件多模态参考系统的高级玩法、支持 8 种以上语言的口型同步功能、商业使用指南,以及当前局限性与实用解决方案。

25 分钟