Packages
supermaker_ai_image_master
1767063.223.470
Professional Elixir integration for supermaker-ai-image-master. Provides utilities for building links and integrating with https://supermaker.ai/image/.
Current section
Files
Jump to
Current section
Files
lib/supermaker_ai_image_master.ex
defmodule SupermakerAiImageMaster do
@moduledoc """
A module for interacting with the Supermaker AI Image service.
Provides utility functions for constructing URLs and managing image requests.
"""
@base_url "https://supermaker.ai/image/"
@doc """
Builds a URL for the Supermaker AI Image service with optional parameters.
## Examples
iex> build_url("generate", prompt: "A cat wearing a hat")
"https://supermaker.ai/image/generate?prompt=A%20cat%20wearing%20a%20hat"
iex> build_url("edit", image_url: "https://example.com/image.jpg", mask_url: "https://example.com/mask.png")
"https://supermaker.ai/image/edit?image_url=https%3A%2F%2Fexample.com%2Fimage.jpg&mask_url=https%3A%2F%2Fexample.com%2Fmask.png"
"""
def build_url(endpoint, params \\ []) do
url = @base_url <> endpoint
if params == [] do
url
else
query_string =
params
|> Enum.map(fn {key, value} ->
"#{key}=#{URI.encode(value)}"
end)
|> Enum.join("&")
"#{url}?#{query_string}"
end
end
@doc """
Generates a URL for image generation based on a text prompt.
## Examples
iex> generate_url("A futuristic cityscape")
"https://supermaker.ai/image/generate?prompt=A%20futuristic%20cityscape"
"""
def generate_url(prompt) do
build_url("generate", prompt: prompt)
end
@doc """
Generates a URL for image editing, combining an existing image with a mask.
## Examples
iex> edit_url("https://example.com/image.jpg", "https://example.com/mask.png")
"https://supermaker.ai/image/edit?image_url=https%3A%2F%2Fexample.com%2Fimage.jpg&mask_url=https%3A%2F%2Fexample.com%2Fmask.png"
"""
def edit_url(image_url, mask_url) do
build_url("edit", image_url: image_url, mask_url: mask_url)
end
@doc """
Generates a URL for image upscaling.
## Examples
iex> upscale_url("https://example.com/image.jpg", scale: 2)
"https://supermaker.ai/image/upscale?image_url=https%3A%2F%2Fexample.com%2Fimage.jpg&scale=2"
"""
def upscale_url(image_url, opts \\ []) do
build_url("upscale", Keyword.merge([image_url: image_url], opts))
end
@doc """
Generates a URL for removing background from an image.
## Examples
iex> remove_background_url("https://example.com/image.jpg")
"https://supermaker.ai/image/remove_background?image_url=https%3A%2F%2Fexample.com%2Fimage.jpg"
"""
def remove_background_url(image_url) do
build_url("remove_background", image_url: image_url)
end
end