Imgo API

Effortlessly integrate state-of-the-art AI image generation into your applications. Free, fast, and easy to use.

Usage & Credit System

To keep this service free, we use a Credit System. Each end-user is granted 15 credits PER DAY. Generating an image costs 2 credits for Flux and 4 credits for Zimage. This limit is tracked entirely by us on the server-side (via IP/UUID). Remaining credits are continuously returned via the X-Credits-Remaining header on successful requests.

Endpoint

GET https://imgoo.puter.work/generate

Query Parameters

Pass these parameters to customize your image generation. Default values are used if optional parameters are omitted.

Parameter Type Required Description
prompt string Required The text description of the image you want to generate. Be descriptive for best results.
model string Optional The AI model to use.
flux (Flux Schnell - Best - 2 Credits)
zimage (Zimage - 4 Credits)
width integer Optional Width of the image. Default 1024. Max 2048.
height integer Optional Height of the image. Default 1024. Max 2048.
seed integer Optional Seed for deterministic generation. Random if omitted.
negative_prompt string Optional Elements to exclude from the image (e.g., "blur, distortion").
safe boolean Optional Enable safety filters (NSFW filter). Default: true.

Code Examples

JavaScript (Fetch)
const url = 'https://imgoo.puter.work/generate';
const params = new URLSearchParams({
    prompt: 'A cyberpunk city with neon lights',
    model: 'flux'
});

fetch(`${url}?${params}`)
    .then(response => {
        console.log("Remaining Credits:", response.headers.get("X-Credits-Remaining"));
        return response.blob();
    })
    .then(blob => {
        const imageUrl = URL.createObjectURL(blob);
        console.log('Image generated:', imageUrl);
        // document.getElementById('myImg').src = imageUrl;
    });
Python (Requests)
import requests

url = "https://imgoo.puter.work/generate"
params = {
    "prompt": "Astronaut riding a horse on Mars",
    "model": "zimage",
    "seed": "42"
}

response = requests.get(url, params=params)

if response.status_code == 200:
    remaining_credits = response.headers.get("X-Credits-Remaining")
    print(f"Remaining Credits: {remaining_credits}")
    with open("output.jpg", "wb") as f:
        f.write(response.content)
    print("Saved to output.jpg")
else:
    print("Error:", response.text)