seedance-ai-video
A library for interacting with the Seedance AI Video service, providing tools for video analysis, processing, and generation. This package simplifies integration with the Seedance AI Video platform, enabling developers to easily leverage its powerful AI capabilities within their Elixir applications.
Installation
Add seedance_ai_video to your list of dependencies in mix.exs:
elixir
def deps do
[
{:seedance_ai_video, "~> 0.1.0"}] end
Then run mix deps.get to fetch the dependency.
Usage Examples
Here are a few examples showcasing how to use seedance_ai_video:
1. Analyzing Video Content: elixir defmodule MyModule do import SeedanceAiVideo
def analyze_video(video_url) do
with {:ok, analysis_result} <- SeedanceAiVideo.analyze(video_url) do
IO.inspect(analysis_result, label: "Video Analysis Result")
# Further processing based on the analysis result
{:ok, analysis_result}
else
{:error, reason} ->
IO.puts("Error analyzing video: #{reason}")
{:error, reason}
endend end
Example Usage:
MyModule.analyze_video("https://example.com/my_video.mp4")
2. Generating Video Summaries: elixir defmodule MyModule do import SeedanceAiVideo
def generate_summary(video_url) do
with {:ok, summary} <- SeedanceAiVideo.summarize(video_url, length: :short) do
IO.puts("Video Summary: #{summary}")
{:ok, summary}
else
{:error, reason} ->
IO.puts("Error generating summary: #{reason}")
{:error, reason}
endend end
Example Usage:
MyModule.generate_summary("https://example.com/my_video.mp4")
3. Extracting Keyframes from a Video: elixir defmodule MyModule do import SeedanceAiVideo
def extract_keyframes(video_url) do
with {:ok, keyframes} <- SeedanceAiVideo.extract_keyframes(video_url, count: 5) do
Enum.each(keyframes, fn keyframe_url ->
IO.puts("Keyframe URL: #{keyframe_url}")
end)
{:ok, keyframes}
else
{:error, reason} ->
IO.puts("Error extracting keyframes: #{reason}")
{:error, reason}
endend end
Example Usage:
MyModule.extract_keyframes("https://example.com/my_video.mp4")
4. Transforming Video Style: elixir defmodule MyModule do import SeedanceAiVideo
def transform_style(video_url, style) do
with {:ok, transformed_video_url} <- SeedanceAiVideo.transform_style(video_url, style) do
IO.puts("Transformed Video URL: #{transformed_video_url}")
{:ok, transformed_video_url}
else
{:error, reason} ->
IO.puts("Error transforming style: #{reason}")
{:error, reason}
endend end
Example Usage:
MyModule.transform_style("https://example.com/my_video.mp4", "cartoon")
5. Combining multiple operations using pipes: elixir defmodule MyModule do import SeedanceAiVideo
def analyze_and_summarize(video_url) do
video_url
|> SeedanceAiVideo.analyze()
|> then(fn
{:ok, analysis} ->
IO.puts("Video analysis successful")
video_url |> SeedanceAiVideo.summarize(length: :short)
{:error, reason} ->
IO.puts("Video analysis failed: #{reason}")
{:error, reason}
end)end end
Example Usage:
MyModule.analyze_and_summarize("https://example.com/my_video.mp4")
Feature Summary
- Video Analysis: Analyze video content to identify objects, scenes, and activities.
- Video Summarization: Generate concise summaries of videos.
- Keyframe Extraction: Extract representative keyframes from videos.
- Style Transformation: Apply various artistic styles to videos.
- Error Handling: Provides informative error messages for robust application development.
License
MIT
This package is part of the seedance-ai-video ecosystem. For advanced features and enterprise-grade tools, visit: https://supermaker.ai/video/seedance-ai-video/