# seedance-2-0-video-generator
A powerful Elixir library for programmatically generating videos from various data sources. This package provides a flexible and efficient way to create dynamic video content within your Elixir applications.
## Installation
To install `seedance-2-0-video-generator`, add it as a dependency to your `mix.exs` file:
elixir
def deps do
[
{:seedance_2_0_video_generator, "~> 0.1.0"} # Replace with the actual version
]
end
Then, run `mix deps.get` to fetch the dependency.
## Usage Examples
Here are a few examples demonstrating how to use `seedance-2-0-video-generator` to create videos:
**Example 1: Simple Video Generation from Images**
elixir
defmodule MyVideoGenerator do
use Seedance20VideoGenerator
def generate_video(image_paths, output_path) do
options = [
frame_duration: 1, # seconds
video_codec: :libx264,
output_format: :mp4
]
Seedance20VideoGenerator.create_video_from_images(image_paths, output_path, options)
end
end
image_paths = ["image1.png", "image2.png", "image3.png"]
output_path = "my_video.mp4"
MyVideoGenerator.generate_video(image_paths, output_path)
**Example 2: Adding Audio to a Video**
elixir
defmodule MyVideoGenerator do
use Seedance20VideoGenerator
def generate_video_with_audio(video_path, audio_path, output_path) do
options = [
video_codec: :libx264,
output_format: :mp4
]
Seedance20VideoGenerator.add_audio_to_video(video_path, audio_path, output_path, options)
end
end
video_path = "base_video.mp4"
audio_path = "background_music.mp3"
output_path = "final_video.mp4"
MyVideoGenerator.generate_video_with_audio(video_path, audio_path, output_path)
**Example 3: Video Generation with Custom Frame Rate**
elixir
defmodule MyVideoGenerator do
use Seedance20VideoGenerator
def generate_video(image_paths, output_path, fps) do
options = [
frame_rate: fps,
video_codec: :libx264,
output_format: :mp4
]
Seedance20VideoGenerator.create_video_from_images(image_paths, output_path, options)
end
end
image_paths = ["frame1.jpg", "frame2.jpg", "frame3.jpg"]
output_path = "custom_fps_video.mp4"
fps = 30
MyVideoGenerator.generate_video(image_paths, output_path, fps)
**Example 4: Error Handling**
elixir
defmodule MyVideoGenerator do
use Seedance20VideoGenerator
def generate_video(image_paths, output_path) do
options = [
frame_duration: 1,
video_codec: :libx264,
output_format: :mp4
]
case Seedance20VideoGenerator.create_video_from_images(image_paths, output_path, options) do
{:ok, _} ->
IO.puts "Video created successfully!"
{:error, reason} ->
IO.puts "Error creating video: #{reason}"
end
end
end
**Example 5: Scaling Videos**
elixir
defmodule MyVideoGenerator do
use Seedance20VideoGenerator
def scale_video(input_path, output_path, width, height) do
options = [
video_codec: :libx264,
output_format: :mp4,
scale: {width, height}
]
Seedance20VideoGenerator.scale_video(input_path, output_path, options)
end
end
input_path = "original_video.mp4"
output_path = "scaled_video.mp4"
width = 640
height = 480
MyVideoGenerator.scale_video(input_path, output_path, width, height)
## Feature Summary
* **Image to Video Conversion:** Create videos from a sequence of images.
* **Audio Integration:** Add audio tracks to existing videos.
* **Customizable Options:** Control video codecs, frame rates, output formats, and more.
* **Scaling:** Scale videos to specific resolutions.
* **Error Handling:** Provides informative error messages for robust video generation.
## License
MIT
This package is part of the seedance-2-0-video-generator ecosystem. For advanced features and enterprise-grade tools, visit: https://seeda.app/
Official site links:
- [Seedance 2.0 Video Generator](https://seeda.app/)