diff --git a/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/mod.rs b/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/mod.rs index 93e24ca980..92c85b788d 100644 --- a/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/mod.rs +++ b/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/mod.rs @@ -1,3 +1,6 @@ -pub mod veo_3p1_first_last_frame_image_to_video; +pub mod veo_3p1_fast_first_frame_image_to_video; +pub mod veo_3p1_fast_first_last_frame_image_to_video; +pub mod veo_3p1_fast_text_to_video; pub mod veo_3p1_first_frame_image_to_video; +pub mod veo_3p1_first_last_frame_image_to_video; pub mod veo_3p1_text_to_video; \ No newline at end of file diff --git a/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_first_frame_image_to_video.rs b/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_first_frame_image_to_video.rs new file mode 100644 index 0000000000..78e271a2b9 --- /dev/null +++ b/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_first_frame_image_to_video.rs @@ -0,0 +1,47 @@ +use crate::prelude::{Deserialize, FalRequest, Serialize}; + +#[derive(Debug, Serialize, Deserialize, Default)] +pub struct Veo3p1FastFirstFrameImageToVideoInput { + pub prompt: String, + + /// Starting frame + pub image_url: String, + + /// Possible enum values: auto, 9:16, 16:9, 1:1 + /// Default value "16:9" + #[serde(skip_serializing_if = "Option::is_none")] + pub aspect_ratio: Option, + + /// Duration in seconds + /// Possible enum values: 4s, 6s, 8s + /// Default value 8s + #[serde(skip_serializing_if = "Option::is_none")] + pub duration: Option, + + /// Generate audio + /// Default value "true" + #[serde(skip_serializing_if = "Option::is_none")] + pub generate_audio: Option, + + /// Possible enum values: 720p, 1080p + /// Default value 720p + #[serde(skip_serializing_if = "Option::is_none")] + pub resolution: Option, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct Veo3p1FastFirstFrameImageToVideoOutput { + 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 veo_3p1_fast_first_frame_image_to_video( + params: Veo3p1FastFirstFrameImageToVideoInput, +) -> FalRequest { + FalRequest::new("fal-ai/veo3.1/fast/image-to-video", params) +} diff --git a/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_first_last_frame_image_to_video.rs b/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_first_last_frame_image_to_video.rs new file mode 100644 index 0000000000..4ae6b25e9d --- /dev/null +++ b/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_first_last_frame_image_to_video.rs @@ -0,0 +1,50 @@ +use crate::prelude::{Deserialize, FalRequest, Serialize}; + +#[derive(Debug, Serialize, Deserialize, Default)] +pub struct Veo3p1FastFirstLastFrameImageToVideoInput { + pub prompt: String, + + /// Starting frame + pub first_frame_url: String, + + /// Ending frame + pub last_frame_url: String, + + /// Duration in seconds + /// Possible enum values: 4s, 6s, 8s + /// Default value 8s + #[serde(skip_serializing_if = "Option::is_none")] + pub duration: Option, + + /// Possible enum values: auto, 9:16, 16:9, 1:1 + /// Default value "auto" + #[serde(skip_serializing_if = "Option::is_none")] + pub aspect_ratio: Option, + + /// Possible enum values: 720p, 1080p + /// Default value 720p + #[serde(skip_serializing_if = "Option::is_none")] + pub resolution: Option, + + /// Generate audio + /// Defaults to "true" + #[serde(skip_serializing_if = "Option::is_none")] + pub generate_audio: Option, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct Veo3p1FastFirstLastFrameImageToVideoOutput { + 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 veo_3p1_fast_first_last_frame_image_to_video( + params: Veo3p1FastFirstLastFrameImageToVideoInput, +) -> FalRequest { + FalRequest::new("fal-ai/veo3.1/fast/first-last-frame-to-video", params) +} diff --git a/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_text_to_video.rs b/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_text_to_video.rs new file mode 100644 index 0000000000..f6946638aa --- /dev/null +++ b/crates/vendor/fal-rs/src/endpoints/fal_ai/veo/veo3_1/veo_3p1_fast_text_to_video.rs @@ -0,0 +1,58 @@ +use crate::prelude::{Deserialize, FalRequest, Serialize}; + +#[derive(Debug, Serialize, Deserialize, Default)] +pub struct Veo3p1FastTextToVideoInput { + pub prompt: String, + + /// Possible enum values: 9:16, 16:9, 1:1 + /// Default value "16:9" + #[serde(skip_serializing_if = "Option::is_none")] + pub aspect_ratio: Option, + + /// Duration in seconds + /// Possible enum values: 4s, 6s, 8s + /// Default value 8s + #[serde(skip_serializing_if = "Option::is_none")] + pub duration: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub negative_prompt: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub enhance_prompt: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub seed: Option, + + /// Whether to automatically attempt to fix prompts that fail content policy or other validation checks by rewriting them + /// Default value: true + #[serde(skip_serializing_if = "Option::is_none")] + pub auto_fix: Option, + + /// Possible enum values: 720p, 1080p + /// Default value 720p + #[serde(skip_serializing_if = "Option::is_none")] + pub resolution: Option, + + /// Generate audio + /// Default value "true" + #[serde(skip_serializing_if = "Option::is_none")] + pub generate_audio: Option, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct Veo3p1FastTextToVideoOutput { + 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 veo_3p1_text_to_video( + params: Veo3p1FastTextToVideoInput, +) -> FalRequest { + FalRequest::new("fal-ai/veo3.1/fast", params) +}