💄 style: add Seedance 1.5 Pro support for OSS (#13035)

* style: add seedance 1.5 support for OSS

* style: update volcengine videoGen models
This commit is contained in:
Zhijie He
2026-03-17 10:43:25 +08:00
committed by GitHub
parent 44e4f6e4b0
commit 2717f8a86c
2 changed files with 153 additions and 4 deletions

View File

@@ -1,4 +1,9 @@
import { type AIChatModelCard, type AIImageModelCard } from '../types/aiModel';
import {
type AIChatModelCard,
type AIImageModelCard,
type AIVideoModelCard,
} from '../types/aiModel';
import { seedance15ProParams } from './lobehub/video';
// https://www.volcengine.com/docs/82379/1330310
@@ -1244,6 +1249,149 @@ const volcengineImageModels: AIImageModelCard[] = [
},
];
export const allModels = [...doubaoChatModels, ...volcengineImageModels];
const volcengineVideoModels: AIVideoModelCard[] = [
{
description:
'Seedance 1.5 Pro by ByteDance supports text-to-video, image-to-video (first frame, first+last frame), and audio generation synchronized with visuals.',
displayName: 'Seedance 1.5 Pro',
enabled: true,
id: 'doubao-seedance-1-5-pro-251215',
organization: 'ByteDance',
parameters: seedance15ProParams,
releasedAt: '2025-12-15',
type: 'video',
},
{
description:
'Seedance 1.0 Pro Fast is a comprehensive model designed to minimize cost while maximizing performance, achieving an excellent balance between video generation quality, speed, and price. It inherits the core strengths of Seedance 1.0 Pro, while offering faster generation speeds and more competitive pricing, delivering creators a dual optimization of efficiency and cost.',
displayName: 'Seedance 1.0 Pro Fast',
id: 'doubao-seedance-1-0-pro-fast-251015',
organization: 'ByteDance',
parameters: {
aspectRatio: {
default: '16:9',
enum: ['21:9', '16:9', '4:3', '1.1', '3:4', '9:16'],
},
cameraFixed: { default: false },
duration: { default: 5, max: 12, min: 2 },
imageUrl: {
aspectRatio: { max: 2.5, min: 0.4 },
default: null,
height: { max: 6000, min: 300 },
maxFileSize: 30 * 1024 * 1024,
width: { max: 6000, min: 300 },
},
prompt: { default: '' },
resolution: {
default: '1080p',
enum: ['480p', '720p', '1080p'],
},
seed: { default: null },
},
releasedAt: '2025-10-15',
type: 'video',
},
{
description:
'Seedance 1.0 Pro is a video generation foundation model that supports multi-shot storytelling. It delivers strong performance across multiple dimensions. The model achieves breakthroughs in semantic understanding and instruction following, enabling it to generate 1080P high-definition videos with smooth motion, rich details, diverse styles, and cinematic-level visual aesthetics.',
displayName: 'Seedance 1.0 Pro',
id: 'doubao-seedance-1-0-pro-250528',
organization: 'ByteDance',
parameters: {
aspectRatio: {
default: '16:9',
enum: ['21:9', '16:9', '4:3', '1.1', '3:4', '9:16'],
},
cameraFixed: { default: false },
duration: { default: 5, max: 12, min: 2 },
endImageUrl: {
aspectRatio: { max: 2.5, min: 0.4 },
default: null,
height: { max: 6000, min: 300 },
maxFileSize: 30 * 1024 * 1024,
requiresImageUrl: true,
width: { max: 6000, min: 300 },
},
imageUrl: {
aspectRatio: { max: 2.5, min: 0.4 },
default: null,
height: { max: 6000, min: 300 },
maxFileSize: 30 * 1024 * 1024,
width: { max: 6000, min: 300 },
},
prompt: { default: '' },
resolution: {
default: '1080p',
enum: ['480p', '720p', '1080p'],
},
seed: { default: null },
},
releasedAt: '2025-05-28',
type: 'video',
},
{
description:
'Stable generation quality with high cost-effectiveness, capable of generating videos from a first frame, first-and-last frames, or reference images.',
displayName: 'Seedance 1.0 Lite I2V',
id: 'doubao-seedance-1-0-lite-i2v-250428',
organization: 'ByteDance',
parameters: {
aspectRatio: {
default: '16:9',
enum: ['21:9', '16:9', '4:3', '1.1', '3:4', '9:16'],
},
cameraFixed: { default: false },
endImageUrl: {
aspectRatio: { max: 2.5, min: 0.4 },
default: null,
height: { max: 6000, min: 300 },
maxFileSize: 30 * 1024 * 1024,
requiresImageUrl: true,
width: { max: 6000, min: 300 },
},
imageUrl: {
aspectRatio: { max: 2.5, min: 0.4 },
default: null,
height: { max: 6000, min: 300 },
maxFileSize: 30 * 1024 * 1024,
width: { max: 6000, min: 300 },
},
duration: { default: 5, max: 12, min: 2 },
prompt: { default: '' },
resolution: {
default: '720p',
enum: ['480p', '720p', '1080p'],
},
seed: { default: null },
},
releasedAt: '2025-04-28',
type: 'video',
},
{
description:
'Stable generation quality with high cost-effectiveness, capable of generating videos based on text instructions.',
displayName: 'Seedance 1.0 Lite T2V',
id: 'doubao-seedance-1-0-lite-t2v-250428',
organization: 'ByteDance',
parameters: {
aspectRatio: {
default: '16:9',
enum: ['21:9', '16:9', '4:3', '1.1', '3:4', '9:16'],
},
cameraFixed: { default: false },
duration: { default: 5, max: 12, min: 2 },
prompt: { default: '' },
resolution: {
default: '720p',
enum: ['480p', '720p', '1080p'],
},
seed: { default: null },
},
releasedAt: '2025-04-28',
type: 'video',
},
];
export const allModels = [...doubaoChatModels, ...volcengineImageModels, ...volcengineVideoModels];
export default allModels;

View File

@@ -50,8 +50,9 @@ export const POST = async (req: Request, { params }: { params: Promise<{ provide
let asyncTaskMetadata: VideoGenerationTaskMetadata | undefined;
try {
// Parse webhook body using provider-specific handler
const runtime = ModelRuntime.initializeWithProvider(provider, {});
const runtime = ModelRuntime.initializeWithProvider(provider, {
apiKey: 'webhook-placeholder',
});
const result = await runtime.handleCreateVideoWebhook({ body });
if (!result) {