必须完成鉴权、构造请求、轮询状态、下载结果四步闭环,漏掉任一环节会导致任务卡在running或失败无感知;需开通视频生成服务并勾选权限,使用3.1.0+ sdk,resolution填"1080p",轮询时捕获异常,下载时校验content-length且强制.mp4后缀。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Java项目中调用火山引擎Seedance 2.5 API生成1080P视频,必须完成鉴权、构造请求、轮询状态、下载结果四步闭环,漏掉任一环节都会导致任务卡在RUNNING或失败后无感知。
获取Access Key与开通服务
访问火山引擎控制台 → 进入「访问密钥」页面 → 创建新的AK/SK对 → 复制AccessKeyId和SecretAccessKey。这一步必须在「视频生成(Seedance)」服务已开通的前提下进行,未开通时API调用会直接返回403错误。
【务必勾选「视频生成」服务权限】,否则即使AK/SK正确,后续所有请求均会被拦截。
开通路径:控制台 → 全部产品 → AI与大模型 → 视频生成 → 立即开通(首月赠送50秒720P额度,1080P需单独开启计费)。
引入SDK与依赖配置
在pom.xml中添加火山引擎官方Java SDK 3.1.0+版本:
注意:低于3.0.0的旧版SDK不支持Seedance 2.5新增的1080P resolution参数和asset_manifest字段,强行使用会导致400 Bad Request。
构造并提交生成任务
第一步:初始化VodClient,传入AK/SK和Region(国内默认cn-north-1);
第二步:构建CreateVideoTaskRequest对象,设置以下必填字段:
• prompt:中文描述不能超过200字,含标点;
• resolution:固定填"1080P"(大小写敏感,填"1080p"或"1080"均报错);
• duration:取值范围5~30,单位为秒;
• model_version:必须显式指定"seedance-2.5",不可省略。
第三步:调用client.createVideoTask(request) → 获取返回的task_id,这是后续所有操作的唯一凭证。
轮询任务状态直到完成
① 使用task_id调用getVideoTaskStatus接口,初始状态为CREATED;
② 每隔3秒重试一次,最大重试次数设为120次(对应6分钟超时);
③ 当status字段变为DELIVERED时,从response中提取video_url;若变为FAILED或REJECTED,立即终止轮询并打印error_code与error_msg;
④ 注意:status为REVIEWING表示正在人工审核(仅限含真人肖像/商标素材的任务),此时需等待,不可当作失败处理。
这一步不能用简单for循环硬等,必须捕获IOException和VolcEngineException,否则网络抖动会导致整个线程卡死。
下载生成的1080P视频文件
拿到video_url后,用HttpURLConnection发起GET请求,设置connectTimeout=30000、readTimeout=60000;
检查响应头Content-Length是否大于10MB(1080P 5秒视频最小约12MB),小于则说明URL已过期或内容异常;
将输入流写入本地FileOutputStream,文件扩展名强制用.mp4,不要依赖URL后缀。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











