diff --git a/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/mod.rs b/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/mod.rs index fce224da70..8060c54dde 100644 --- a/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/mod.rs +++ b/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/mod.rs @@ -1 +1,2 @@ -pub mod sora_2_pro_image_to_video; \ No newline at end of file +pub mod sora_2_pro_image_to_video; +pub mod sora_2_image_to_video; \ No newline at end of file diff --git a/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/sora_2_image_to_video.rs b/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/sora_2_image_to_video.rs new file mode 100644 index 0000000000..0e9eb2ab80 --- /dev/null +++ b/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/sora_2_image_to_video.rs @@ -0,0 +1,48 @@ +use crate::prelude::{Deserialize, FalRequest, Serialize}; + +#[derive(Debug, Serialize, Deserialize, Default)] +pub struct Sora2ImageToVideoInput { + pub prompt: String, + + /// Starting frame + pub image_url: String, + + /// Possible enum values: auto, 720p + /// Default value auto + #[serde(skip_serializing_if = "Option::is_none")] + pub resolution: Option, + + /// Possible enum values: auto, 9:16, 16:9 + /// Default value "auto" + #[serde(skip_serializing_if = "Option::is_none")] + pub aspect_ratio: Option, + + /// Duration in seconds + /// Possible enum values: 4, 8, 12 + /// Default value 4 + #[serde(skip_serializing_if = "Option::is_none")] + pub duration: Option, + + /// Whether to delete the video after generation for privacy reasons. + /// If True, the video cannot be used for remixing and will be permanently deleted. + /// Default value: true + #[serde(skip_serializing_if = "Option::is_none")] + pub delete_video: Option, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct Sora2ImageToVideoOutput { + pub video: VideoFile, +} + +#[derive(Debug, Serialize, Deserialize, Default)] +pub struct VideoFile { + /// The URL where the file can be downloaded from. + pub url: String, +} + +pub fn sora_2_image_to_video( + params: Sora2ImageToVideoInput, +) -> FalRequest { + FalRequest::new("fal-ai/sora-2/image-to-video", params) +} diff --git a/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/sora_2_pro_image_to_video.rs b/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/sora_2_pro_image_to_video.rs index e9936e3ebd..aa51f45007 100644 --- a/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/sora_2_pro_image_to_video.rs +++ b/crates/vendor/fal-rs/src/endpoints/fal_ai/sora/sora2/sora_2_pro_image_to_video.rs @@ -41,7 +41,7 @@ pub struct VideoFile { pub url: String, } -pub fn veo_3p1_fast_first_frame_image_to_video( +pub fn sora_2_pro_image_to_video( params: Sora2ProImageToVideoInput, ) -> FalRequest { FalRequest::new("fal-ai/sora-2/image-to-video/pro", params)