Skip to main content

Images

Generate images using the OpenAI-compatible chat completions format with modalities.

Endpoint

POST https://api.scalellm.dev/v1/chat/completions

Examples

from openai import OpenAI

client = OpenAI(
    base_url="https://api.scalellm.dev/v1",
    api_key="sk_your_key"
)

response = client.chat.completions.create(
    model="gemini-3-pro-image-preview",
    messages=[
        {"role": "user", "content": "Generate an image of a cat"}
    ],
    extra_body={"modalities": ["image", "text"]}
)

print(response.choices[0].message.content)

Request Body

ParameterTypeRequiredDescription
modelstringYesModel ID (gemini-3-pro-image-preview)
messagesarrayYesArray of message objects
modalitiesarrayYesMust include ["image", "text"] for image generation
max_tokensintegerNoMaximum tokens to generate
temperaturefloatNoRandomness (0-2, default 1)

Message Object

FieldTypeDescription
rolestringsystem, user, or assistant
contentstringMessage content (image prompt)

Response

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1699000000,
  "model": "gemini-3-pro-image-preview",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": [
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/png;base64,iVBORw0KGgo..."
            }
          }
        ]
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 0,
    "total_tokens": 10
  }
}

More Examples

Artistic Image

from openai import OpenAI

client = OpenAI(
    base_url="https://api.scalellm.dev/v1",
    api_key="sk_your_key"
)

response = client.chat.completions.create(
    model="gemini-3-pro-image-preview",
    messages=[
        {"role": "user", "content": "An oil painting of a serene mountain landscape at dawn"}
    ],
    extra_body={"modalities": ["image", "text"]}
)

print(response.choices[0].message.content)

Product Visualization

from openai import OpenAI

client = OpenAI(
    base_url="https://api.scalellm.dev/v1",
    api_key="sk_your_key"
)

response = client.chat.completions.create(
    model="gemini-3-pro-image-preview",
    messages=[
        {"role": "user", "content": "A sleek smartphone on a minimalist white desk, product photography"}
    ],
    extra_body={"modalities": ["image", "text"]}
)

print(response.choices[0].message.content)

Available Models

ModelDescription
gemini-3-pro-image-previewMultimodal with native image generation

Headers

HeaderRequiredDescription
AuthorizationYesBearer sk_your_key
Content-TypeYesapplication/json
For Gemini native format, see the Gemini Images endpoint.