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}
end

end 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}
end

end 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}
end

end 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}
end

end 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

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/