v0.1.0¶
Release Date: 2026-06-29
Initial release of OmniImage, a unified Go library for AI image generation.
Highlights¶
- Unified interface for multiple image generation providers
- OpenAI support with GPT Image and DALL-E models
- Fal AI support with FLUX and Stable Diffusion models
- Comprehensive MkDocs documentation site
Added¶
Core Library¶
- Provider interface with
Generate,Edit,Variations, andUpscaleoperations - Request/response types for all operations
- Image size, quality, and style enums
- Structured error types with provider-specific details
- Client with automatic provider factory
OpenAI Provider¶
- Image generation with GPT Image 2, GPT Image 1, DALL-E 3, and DALL-E 2 models
- Image editing with mask support (DALL-E 2)
- Image variations (DALL-E 2)
- Quality levels: standard and HD
- Response formats: URL and base64
Fal AI Provider¶
- Image generation with FLUX Pro, FLUX Dev, FLUX Schnell, and SDXL models
- Image upscaling with Clarity Upscaler
- Negative prompts for content exclusion
- Seed control for reproducible generation
- Inference steps and guidance scale parameters
- Custom image dimensions via ProviderOptions
Documentation¶
- Getting started guide
- Provider comparison and selection guide
- API reference for client, types, and providers
- Best practices for prompts, performance, and security
- Error handling patterns
- Image size reference
Installation¶
Quick Start¶
package main
import (
"context"
"fmt"
"log"
"github.com/plexusone/omniimage"
"github.com/plexusone/omniimage/provider"
)
func main() {
client, err := omniimage.NewClient(omniimage.ClientConfig{
Providers: []omniimage.ProviderConfig{
{Provider: omniimage.ProviderNameOpenAI},
},
})
if err != nil {
log.Fatal(err)
}
defer client.Close()
resp, err := client.Generate(context.Background(), &provider.GenerateRequest{
Model: omniimage.ModelGPTImage2,
Prompt: "A sunset over the ocean",
Size: provider.Size1024x1024,
})
if err != nil {
log.Fatal(err)
}
fmt.Println(resp.Images[0].URL)
}