The catalog was text. It is not only text now. Scalattice serves image generation on POST /v1/images/generations. The first SKU is qwen-image-2512, Alibaba’s Qwen-Image 2512 checkpoint, run by providers who enable that row.
This is not vision chat. Vision SKUs take a photo and return words. Image SKUs take a prompt and return pictures. Do not send qwen-image-2512 to /v1/chat/completions. Do not send a chat model here.
What you call
Same base URL, same slt_ key. The body is the OpenAI images shape: prompt, optional n (1–4, catalog cap), size, and response_format: "b64_json" (the only format). 1024x1024, 1792x1024, and 1024x1792 mean those pixels. You can also send WIDTHxHEIGHT between 64 and 2048. Qwen-Image remaps the OpenAI aliases to its native 1328-class sizes.
The JSON is { created, data: [{ b64_json }], usage: { images }, scalattice }. No caption. No chat text. Jobs are tier1 only: no streaming, no output vetting.
curl https://api.scalattice.cloud/v1/images/generations \
-H "Authorization: Bearer slt_..." \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-2512",
"prompt": "A red bicycle parked in morning fog",
"n": 1,
"size": "1024x1024",
"response_format": "b64_json"
}'
from openai import OpenAI
client = OpenAI(base_url="https://api.scalattice.cloud/v1", api_key="slt_...")
response = client.images.generate(
model="qwen-image-2512",
prompt="A red bicycle parked in morning fog",
n=1,
size="1024x1024",
response_format="b64_json",
)
print(response.data[0].b64_json[:80])
What it costs
Image jobs bill per generated picture, not per million tokens. Snapshot for Qwen Image 2512 on 14 Sep 2026: $0.0245 per image. Rates move with demand. Live number: pricing and the model row in Cloud.
Edits are a different SKU
Text-to-image only means a prompt. To condition on existing pictures, use an image_edit catalog row when it is live, and POST /v1/images/edits (or image / images on generations). Same per-output-image bill. A text-to-image checkpoint returns 400 if you attach references. Qwen-Image 2512 is the generate model. Edit weights are a separate Diffusers repo.
If you host GPUs
Image SKUs are still catalog inference, not arbitrary containers. Enable the row. The agent downloads an isolated Python and a Diffusers runtime for that GPU family (CUDA, ROCm, DirectML, Intel XPU, or Apple Silicon MPS). It does not use Python already on the machine. You earn on completed images the same way you earn on completed chat tokens: majority share of developer spend. Disk and VRAM floors are on the catalog row. Start from the hosting guide and providers.
What comes next
2512 is the first image model, not the last. More generate and edit SKUs will land the same way chat families did: a stable product ID, published rate, and providers who actually have the weights loaded. Pin the ID in config. Check models for what is live today.
API reference: developer docs, section on image generation. Chat setup is unchanged: OpenAI SDK → Scalattice.