Grok Image Generator

A lightweight Elixir library for generating images based on text prompts using the Grok model. Simplifies image creation workflows within your Elixir applications.

Installation

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

{:grok_image_generator, "~> 0.1.0"} # Replace with the actual version

] end

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

Usage

This library provides a simple interface for interacting with the Grok image generation model. Remember to configure your API keys appropriately (see the library's configuration documentation for details).

Example 1: Basic Image Generation elixir alias GrokImageGenerator

prompt = "A futuristic cityscape at sunset" {:ok, image_data} = GrokImageGenerator.generate_image(prompt)

image_data now contains the raw image data (e.g., as a binary).

You can then save it to a file or process it further.

For example, saving to a file:

File.write!("image.png", image_data)

Example 2: Handling Errors elixir alias GrokImageGenerator

prompt = "This prompt will likely fail due to inappropriate content" case GrokImageGenerator.generate_image(prompt) do {:ok, image_data} ->

# Process the image data
File.write!("image.png", image_data)

->

IO.puts "Image generation failed: #{reason}"

end

Example 3: Using Options for Customization elixir alias GrokImageGenerator

prompt = "A portrait of a cat wearing a hat" options = %{ resolution: "1024x1024", style: "digital art" }

= GrokImageGenerator.generate_image(prompt, options) File.write!("cat_portrait.png", image_data)

Example 4: Image Generation with Pipe Operator elixir alias GrokImageGenerator

"A serene landscape painting" |> GrokImageGenerator.generate_image() |> case do {:ok, image_data} ->

File.write!("landscape.png", image_data)

->

IO.puts "Error generating image: #{reason}"

end

Example 5: Extracting Image URL (if API returns it instead of the binary)

(Adapt this example if the API returns a URL instead of raw binary data. If the API always returns binary, this example is not needed.) elixir alias GrokImageGenerator alias HTTPoison

prompt = "A minimalist abstract design" case GrokImageGenerator.generate_image(prompt) do {:ok, %{url: image_url}} ->

# Assuming the API returns a JSON with a "url" field
{:ok, response} = HTTPoison.get(image_url)
File.write!("abstract.png", response.body)

->

  File.write!("abstract.png", image_data) # Fallback, if API returns raw data.

->

IO.puts "Image generation failed: #{reason}"

end

Feature Summary

License

MIT

This package is part of the grok-image-generator ecosystem. For advanced features and enterprise-grade tools, visit: https://supermaker.ai/blog/-grok-image-generator-model-on-supermaker-ai-twitterready-images-made-simple/