利用首尾帧控制功能,创建无缝衔接的连续视频序列
Doubao-Seedance-1.5-pro 模型支持返回生成视频的尾帧图片。通过将前一段视频的尾帧作为下一段视频的首帧,可以实现多段视频的无缝拼接,生成长篇幅的连续故事。
returnLastFrame: true 获取尾帧lastFrameUrl 作为下一段的 firstFrameUrl使用首帧生成第一段视频,并开启"返回尾帧"选项
从第一段视频的响应中获取 lastFrameUrl
将尾帧作为第二段视频的首帧,继续生成
重复上述步骤,生成长篇幅的连续故事
import { VideoGenerationClient, Config } from 'coze-coding-dev-sdk';
const config = new Config();
const client = new VideoGenerationClient(config);
const scenePrompts = [
'一个女孩在森林中行走,阳光透过树叶洒下',
'女孩发现了一座隐藏的瀑布,镜头缓慢推进',
'女孩坐在瀑布旁,享受宁静的时光'
];
const videoUrls: string[] = [];
let lastFrameUrl: string | null = null;
for (const prompt of scenePrompts) {
const contentItems = [
{ type: 'text', text: prompt }
];
if (lastFrameUrl) {
contentItems.unshift({
type: 'image_url',
image_url: { url: lastFrameUrl },
role: 'first_frame'
});
}
const response = await client.videoGeneration(contentItems, {
model: 'doubao-seedance-1-5-pro-251215',
resolution: '720p',
ratio: '16:9',
duration: 5,
returnLastFrame: true, // 关键:返回尾帧
});
if (response.videoUrl) {
videoUrls.push(response.videoUrl);
lastFrameUrl = response.lastFrameUrl; // 保存尾帧
}
}
console.log('连续视频生成完成:', videoUrls);确保所有场景的描述风格保持一致,避免突兀的风格变化
使用相同的时长设置,确保视频节奏一致
在提示词中详细描述场景之间的过渡方式,如"平滑过渡"、"缓慢推进"
在每段描述中包含前一段的上下文,帮助模型理解场景的连续性
开启音频生成,让视频更加生动和专业