1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//! Runway ML Provider
//!
//! Provides integration with Runway ML's video and image generation APIs.
//! Supports Gen-3 Alpha, Gen-3 Alpha Turbo, and image-to-video generation.
//!
//! # Features
//!
//! - **Text-to-Video**: Generate videos from text prompts using Gen-3 models
//! - **Image-to-Video**: Animate still images into videos
//! - **Async Generation**: Submit tasks and poll for completion
//!
//! # Example
//!
//! ```rust,no_run
//! use litellm_rs::core::providers::runwayml::{RunwayMLProvider, RunwayMLConfig};
//!
//! async fn example() -> Result<(), Box<dyn std::error::Error>> {
//! // Create provider with API key
//! let config = RunwayMLConfig::new("your-api-key");
//! let provider = RunwayMLProvider::new(config)?;
//!
//! // Generate a video
//! let video = provider.generate_video(
//! Some("A cat playing piano in a jazz club".to_string()),
//! None, // No input image
//! Some("gen3a_turbo"),
//! Some(5), // 5 seconds
//! Some("16:9".to_string()),
//! None, // No seed
//! ).await?;
//!
//! println!("Video URLs: {:?}", video.video_urls);
//! Ok(())
//! }
//! ```
//!
//! # Configuration
//!
//! The provider can be configured via environment variables:
//!
//! - `RUNWAYML_API_KEY`: Required. Your Runway ML API key.
//! - `RUNWAYML_API_BASE`: Optional. Override the API base URL.
//! - `RUNWAYML_POLLING_DELAY`: Optional. Seconds between status polls (default: 2).
//! - `RUNWAYML_POLLING_RETRIES`: Optional. Max polling retries (default: 300).
//! - `RUNWAYML_VIDEO_DURATION`: Optional. Default video duration in seconds (5 or 10).
//! - `RUNWAYML_VIDEO_RESOLUTION`: Optional. Default resolution (720p or 1080p).
//! - `RUNWAYML_WATERMARK`: Optional. Whether to add watermark (true/false).
pub use RunwayMLConfig;
pub use RunwayMLErrorMapper;
pub use ;
pub use ;