aigifmaker

Turn text into animated GIFs with AI GIF Maker. Native GIF generation — no video conversion. Type what you want and download your GIF in about a minute.

This is the official Elixir client for AI GIF Maker. One call sends your prompt, waits for the GIF and returns its URL.

def deps do
  [{:aigifmaker, "~> 0.1"}]
end
{:ok, url} = Aigifmaker.generate("a corgi in sunglasses dancing on a beach, looping")

No dependencies: :httpc from OTP and the standard JSON module. Elixir 1.18+.

API key

Create a key at https://aigifmaker.ai/settings/apikeys, then pass it as api_key: or export it:

export AIGIFMAKER_API_KEY=sk-...

Each GIF costs 1 credit on your AI GIF Maker account, the same as on the website. New accounts get one free GIF (it carries a small aigifmaker.ai badge). A GIF that fails to generate gives its credit back. Credit packs are on the pricing page.

{:ok, left} = Aigifmaker.credits()   # remaining credits, free to call

Options

Every function takes api_key:, base_url: and timeout: (milliseconds generate/2 waits, 15 minutes by default):

Aigifmaker.generate("a tiny dragon sneezing a puff of glitter", api_key: "sk-...", timeout: 900_000)

Submit now, collect later

{:ok, task_id} = Aigifmaker.submit("happy birthday text bouncing in rainbow letters")
{:ok, %{"status" => status}} = Aigifmaker.status(task_id)   # pending | processing | success | failed
{:ok, url} = Aigifmaker.wait(task_id)                        # polls every 3 seconds

A run from an account that has not bought credits yet may wait in a short queue first ("queued" => true while status stays processing). That is normal; generate/2 and wait/2 keep polling.

Errors worth matching

Failures are {:error, reason, message}:

Tests

mix test              # mocked, offline
mix test --only live  # two free live checks, no generation

MIT licensed. Questions: support@aigifmaker.ai