SupermakerAIVideoDownloader

A robust Elixir library for downloading videos from Supermaker AI. This package provides a simple and efficient way to programmatically retrieve video content.

Installation

Add supermaker_ai_video_downloader to your list of dependencies in mix.exs: elixir def deps do [

{:supermaker_ai_video_downloader, "~> 0.1.0"}

] end

Then, run mix deps.get to fetch the dependency.

Usage

This library provides straightforward functions for interacting with the Supermaker AI video service. Here are some examples:

1. Basic Video Download: elixir alias SupermakerAIVideoDownloader

video_url = "https://supermaker.ai/video/your_video_id"

case SupermakerAIVideoDownloader.download(video_url, "path/to/save/video.mp4") do {:ok, file_path} ->

IO.puts "Video downloaded successfully to: #{file_path}"

->

IO.puts "Error downloading video: #{reason}"

end

2. Handling Different Download Outcomes: elixir alias SupermakerAIVideoDownloader

video_url = "https://supermaker.ai/video/another_video_id"

SupermakerAIVideoDownloader.download(video_url, "path/to/save/another_video.mp4") |> case do {:ok, file_path} ->

IO.puts "Video saved at #{file_path}"

->

IO.puts "The provided URL is invalid."

->

IO.puts "A network error occurred during the download."

->

IO.puts "An unexpected error occurred: #{reason}"

end

3. Downloading with Custom Headers (if required): elixir alias SupermakerAIVideoDownloader

video_url = "https://supermaker.ai/video/yet_another_video_id" headers = [{"Authorization", "Bearer your_api_key"}] # Example: Add authorization headers if needed

SupermakerAIVideoDownloader.download(video_url, "path/to/save/yet_another_video.mp4", headers: headers) |> case do {:ok, file_path} ->

IO.puts "Video downloaded successfully!"

->

IO.puts "Download failed: #{reason}"

end

4. Using Pipes for Concise Code: elixir alias SupermakerAIVideoDownloader

"https://supermaker.ai/video/a_video_id" |> SupermakerAIVideoDownloader.download("path/to/save/a_video.mp4") |> case do {:ok, file_path} -> IO.puts "Downloaded to: #{file_path}" {:error, reason} -> IO.puts "Error: #{reason}" end

5. Asynchronously Downloading (Example with Task): elixir alias SupermakerAIVideoDownloader

Task.async(fn -> case SupermakerAIVideoDownloader.download("https://supermaker.ai/video/async_video_id", "path/to/save/async_video.mp4") do

{:ok, file_path} -> IO.puts "Async download complete: #{file_path}"
{:error, reason} -> IO.puts "Async download failed: #{reason}"

end end) |> Task.await() # Wait for the task to complete (optional)

Features

License

MIT

This package is part of the supermaker-ai-video-downloader ecosystem. For advanced features and enterprise-grade tools, visit: https://supermaker.ai/video/