Skip to main content
boogu avatar

Boogu-Image API

boogu/boogu-image

Generate high-quality images from a text prompt with fine-grained control over the CFG guidance schedule.

0.04 per megapixel of image

Model Input

Input

The text prompt describing the image to generate.

The size of the generated image. Use a preset string (e.g. 'landscape_16_9') or a custom {width, height} object.

The negative prompt to use. Use it to address details that you don't want in the image.

Additional Settings

Customize your input with more control.

Min: 20 - Max: 50

The number of inference steps to perform. More steps can improve detail at the cost of speed.

Min: 1 - Max: 8

The CFG (Classifier Free Guidance) scale. Higher values increase adherence to the prompt.

The format of the generated image.

The same seed and the same prompt given to the same version of the model will output the same image every time.

Min: 1 - Max: 4

The number of images to generate. Each generated image is billed.

You need to be logged in to run this model and view results.
Log in

Model Output

Output

Generated image output
Generated in 15.994 seconds
Logs (1 lines)

Model Example Requests

Examples

Example output 1Example output 2

Boogu-Image API

Boogu-Image is a text-to-image AI model by boogu. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.04 per megapixel.

POST https://queue.modelrunner.run/boogu/boogu-image

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/boogu/boogu-image \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A serene Japanese garden with a red maple tree reflected in a calm koi pond at golden hour, ultra detailed, cinematic",
    "image_size": "square_hd",
    "num_images": 1,
    "output_format": "jpeg",
    "guidance_scale": 4,
    "negative_prompt": "",
    "num_inference_steps": 30,
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/boogu/boogu-image/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/boogu/boogu-image/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("boogu/boogu-image", {
  input: {
    "prompt": "A serene Japanese garden with a red maple tree reflected in a calm koi pond at golden hour, ultra detailed, cinematic",
    "image_size": "square_hd",
    "num_images": 1,
    "output_format": "jpeg",
    "guidance_scale": 4,
    "negative_prompt": "",
    "num_inference_steps": 30
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/boogu/boogu-image",
    headers=headers,
    json={
      "prompt": "A serene Japanese garden with a red maple tree reflected in a calm koi pond at golden hour, ultra detailed, cinematic",
      "image_size": "square_hd",
      "num_images": 1,
      "output_format": "jpeg",
      "guidance_scale": 4,
      "negative_prompt": "",
      "num_inference_steps": 30
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

NameTypeRequiredDescription
promptstringyesThe text prompt describing the image to generate.
image_sizeenumnoThe size of the generated image. Use a preset string (e.g. 'landscape_16_9') or a custom {width, height} object. Default: "square_hd".
negative_promptstringnoThe negative prompt to use. Use it to address details that you don't want in the image. Default: "".
num_inference_stepsintegernoThe number of inference steps to perform. More steps can improve detail at the cost of speed. Default: 30.
guidance_scalenumbernoThe CFG (Classifier Free Guidance) scale. Higher values increase adherence to the prompt. Default: 4.
output_formatenumnoThe format of the generated image. Default: "jpeg".
seedintegernoThe same seed and the same prompt given to the same version of the model will output the same image every time.
num_imagesintegernoThe number of images to generate. Each generated image is billed. Default: 1.

Machine-readable: OpenAPI schema · llms.txt

Use Boogu-Image from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and Boogu-Image becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint boogu/boogu-image.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run boogu/boogu-image on ModelRunner to generate image”. MCP setup guide.

Model Details

Model Details

Boogu-Image turns a text prompt into a high-quality image. Provide a prompt describing the scene, pick an aspect ratio, and it renders detailed, coherent images with strong prompt adherence. Its distinctive control is a CFG guidance schedule: you can shape how strongly the prompt is enforced across the denoising process, which helps balance fidelity to your wording against natural-looking detail. It can produce up to four images per request and supports common aspect ratios from square to wide landscape.

## Best for - General text-to-image generation: scenes, characters, products, concept art, and illustrations from a written description - Iterating on a single idea by generating several variations at once (up to four per request) - Targeting a specific aspect ratio (square, portrait, or landscape) without cropping - Dialing in prompt adherence vs. detail through the guidance scale and CFG schedule

## Choose another model when - You want to edit, inpaint, or restyle an existing image rather than generate from scratch — use an image-editing model - You need to render long, precisely-spelled text inside the image as the primary goal — use a model specialized for in-image text - You need video output — use a text-to-video or image-to-video model

## Tips - Put the subject and the most important details early in the prompt; use `negative_prompt` to suppress unwanted elements - Raise `guidance_scale` for tighter prompt adherence, lower it for more natural, less constrained results - Set `output_format` to `png` when you need lossless output; the default `jpeg` is smaller and faster - Pass a fixed `seed` to reproduce a result or to vary one knob at a time

To run via the ModelRunner JavaScript client: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("boogu/boogu-image", { input: { prompt: "A red apple on a white marble table, soft studio lighting", image_size: "square_hd", num_images: 1, }, }); ```