From 8553ff9366d03d55e7f85b048df48a8f84dc2bb3 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Mon, 23 Feb 2026 13:44:37 +0700 Subject: [PATCH] wip --- .../generate/generate_video/generate_video.rs | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/crates/lib/artcraft_router/src/generate/generate_video/generate_video.rs b/crates/lib/artcraft_router/src/generate/generate_video/generate_video.rs index c4525b02ad..b1eb2b4f7a 100644 --- a/crates/lib/artcraft_router/src/generate/generate_video/generate_video.rs +++ b/crates/lib/artcraft_router/src/generate/generate_video/generate_video.rs @@ -7,14 +7,16 @@ use crate::errors::artcraft_router_error::ArtcraftRouterError; use crate::generate::generate_video::providers::artcraft::generate_video_artcraft_seedance2p0::generate_video_artcraft_seedance2p0; use tokens::tokens::generic_inference_jobs::InferenceJobToken; +// The flow is thus: +// Generate Video Request -> Generate Video Plan (testable + cost estimate) -> Generate Video -> Job details + pub struct GenerateVideoArgs<'a> { - pub client: &'a RouterClient, - - pub provider: Provider, - /// Which model to use. pub model: CommonVideoModel, + /// Which provider to use. + pub provider: Provider, + /// The prompt for the video generation pub prompt: Option, @@ -26,6 +28,16 @@ pub struct GenerateVideoArgs<'a> { /// The aspect ratio to use pub aspect_ratio: Option, + + /// How many seconds to generate. + pub duration_seconds: Option, + + // /// Whether to turn on/off audio. + // /// Not all models support audio, not all models have a choice. + // pub generate_audio: Option, + + /// The polymorphic router client, which can dispatch to multiple providers. + pub client: &'a RouterClient, } pub struct GenerateVideoResponse {