Using imageclassic on Chutes
imageclassic bundles four standalone text-to-image models into one Chutes deployment: FLUX.1-schnell plus three Stable Diffusion XL checkpoints (Dreamshaper XL 1.0, iLustMix v80, Juggernaut XL Ragnarok). All four pipelines load at startup, so you pick a model per request with a single string field instead of running four separate chutes.
Overview
FLUX.1-schnell (model: flux) is Black Forest Labs' fast FLUX.1 variant, a 12B rectified-flow transformer (parameter count per the chute readme) timestep-distilled for 1-4 step generation. Strong prompt following from short prompts; no negative prompt. Apache-2.0.
Dreamshaper XL 1.0 (model: dreamshaper) is Lykon's fine-tune of stabilityai/stable-diffusion-xl-base-1.0, a versatile general-purpose checkpoint for portraits, fantasy, sci-fi, and stylized scenes. CreativeML OpenRAIL++.
iLustMix v80 (model: ilustmix) is an illustration/anime checkpoint by GZees, built on the Illustrious-XL base (SDXL family): semi-realistic characters, detailed anatomy, cinematic and anime-style art. Fair AI Public License 1.0-SD.
Juggernaut XL Ragnarok (model: juggernaut) is RunDiffusion's photorealistic SDXL checkpoint: photography-style realism, digital painting, improved poses and anatomy.
Model specifications
| Model | model value | Endpoint | Base / family | Default steps | Default guidance | Negative prompt | License |
|---|---|---|---|---|---|---|---|
| FLUX.1-schnell | flux | POST /image/flux | 12B rectified-flow transformer | 4 | 3.5 | No (ignored) | Apache-2.0 |
| Dreamshaper XL 1.0 | dreamshaper | POST /image/dreamshaper | SDXL base 1.0 fine-tune | 25 | 7.5 | Yes | CreativeML OpenRAIL++ |
| iLustMix v80 | ilustmix | POST /image/ilustmix | Illustrious-XL (SDXL family) | 25 | 7.5 | Yes | Fair AI Public License 1.0-SD |
| Juggernaut XL Ragnarok | juggernaut | POST /image/juggernaut | SDXL checkpoint | 25 | 7.5 | Yes | Not verified (see FAQ) |
All endpoints are text-to-image only, default to 1024x1024, and return image/jpeg at quality 85.
Quick start
The chute is served on https://vonkaiser-imageclassic.chutes.ai. Use the unified POST /generate with the required model field, or the per-model endpoints. Bodies are flat JSON; the response body is the JPEG itself.
# Unified endpoint: pick the checkpoint with the model field
curl -X POST "https://vonkaiser-imageclassic.chutes.ai/generate" \
-H "Authorization: Bearer $CHUTES_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux",
"prompt": "a serene mountain lake at sunset",
"width": 1024,
"height": 1024,
"seed": 42
}' \
--output output.jpgimport os
import requests
# Model-specific endpoint: SDXL checkpoint with a negative prompt
resp = requests.post(
"https://vonkaiser-imageclassic.chutes.ai/image/juggernaut",
headers={"Authorization": f"Bearer {os.environ['CHUTES_API_KEY']}"},
json={
"prompt": "a serene mountain lake at sunset, golden hour photography",
"negative_prompt": "blurry, oversaturated",
"guidance_scale": 7.5,
"num_inference_steps": 25,
"seed": 42,
},
timeout=180,
)
resp.raise_for_status()
with open("output.jpg", "wb") as f:
f.write(resp.content)const resp = await fetch("https://vonkaiser-imageclassic.chutes.ai/generate", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CHUTES_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "ilustmix",
prompt: "semi-realistic anime portrait, cinematic lighting",
negative_prompt: "extra fingers, lowres",
num_inference_steps: 25,
}),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const jpeg = Buffer.from(await resp.arrayBuffer()); // write to disk or serveParameters and tuning
| Field | Type | Default | Notes |
|---|---|---|---|
model | string | required on /generate | flux, dreamshaper, ilustmix, or juggernaut. Not used on per-model endpoints. |
prompt | string | required | flux does well with short prompts; SDXL checkpoints reward style keywords. |
negative_prompt | string | "" | SDXL only; ignored for flux. Keep it short and targeted. |
guidance_scale | number | 3.5 flux / 7.5 SDXL | On /generate, omitting it applies the per-family default. |
num_inference_steps | integer | 4 flux / 25 SDXL | FLUX.1-schnell is optimized for 1-4 steps; more buys little. |
width / height | integer | 1024 / 1024 | Keep moderate while iterating. |
seed | integer | null | Set for reproducible output. |
Treat the two families differently. flux wants few steps, light guidance, and everything in the positive prompt. The SDXL checkpoints benefit from stronger guidance (7-9), 25+ steps, and a short negative prompt covering obvious failure modes (extra fingers, lowres, blur) rather than long boilerplate lists.
What it's best at
The bundle covers four distinct styles behind one host: fast drafts and clean prompt-faithful renders (flux), general-purpose portraits, fantasy, and sci-fi (dreamshaper), anime and semi-realistic illustration with detailed anatomy (ilustmix), and photography-grade realism and digital painting (juggernaut). A practical workflow is drafting compositions on flux at 4 steps, then re-rendering the chosen direction on the matching SDXL checkpoint. The unified /generate endpoint is also a drop-in for legacy image clients that already post to /generate.
These are classic checkpoints: for state-of-the-art prompt adherence or in-image text rendering, newer models on Chutes (Qwen-Image-2512, Z-Image Turbo) do better. There is no image input on any endpoint, so editing and img2img workflows need a dedicated edit chute, and negative prompting is unavailable on flux.
How Chutes serves this model
The chute (owner vonkaiser) loads all four pipelines at startup on its own host, so switching models between requests has no cold-start penalty. Five endpoints: unified POST /generate plus POST /image/flux, /image/dreamshaper, /image/ilustmix, and /image/juggernaut. Requests are flat JSON authenticated with Authorization: Bearer $CHUTES_API_KEY; every response is raw image/jpeg at quality 85.
- Model page: /app/chute/vonkaiser-imageclassic
- Agent integration file: llms.txt
- Callable OpenAPI 3.1 spec: openapi.json
FAQ
How do I pick which model handles my request?
Either set the required model field on POST /generate to flux, dreamshaper, ilustmix, or juggernaut, or call the model-specific endpoint directly (POST /image/flux and so on). The per-model endpoints carry the correct defaults for that checkpoint.
Which model should I use for what?
flux for fast, high-quality images from simple prompts (1-4 steps); dreamshaper for general-purpose portraits, fantasy, and sci-fi; ilustmix for anime and semi-realistic illustration; juggernaut for photography-style realism. Drafting on flux and finishing on an SDXL checkpoint is a common pattern.
Do negative prompts work on all four models?
No. negative_prompt applies to the three SDXL checkpoints (dreamshaper, ilustmix, juggernaut) and is ignored for flux. FLUX.1-schnell is distilled for guidance-light sampling, so express exclusions in the positive prompt instead.
What are the default steps and guidance per model?
flux: 4 steps, guidance 3.5. The SDXL checkpoints: 25 steps, guidance 7.5. On the unified /generate endpoint, omitted guidance_scale and num_inference_steps fall back to these per-family defaults automatically.
What licenses cover the bundled models?
FLUX.1-schnell is Apache-2.0. Dreamshaper XL 1.0 is CreativeML OpenRAIL++ (commercial use allowed with use-based restrictions). iLustMix v80 is under the Fair AI Public License 1.0-SD. A license for the Juggernaut XL Ragnarok checkpoint could not be verified from its Hugging Face mirror; check RunDiffusion's terms before commercial use.
What format do I get back?
Every endpoint returns raw image/jpeg bytes at quality 85, not JSON. Save the response body directly as a .jpg file.
Is there a cold start when switching models?
No. All four pipelines load when the chute starts, so switching the model field between requests does not trigger a reload or redeploy.
Can I do image-to-image or editing with this chute?
No, all endpoints are text-to-image only with no image input fields. For instruction-based editing use a dedicated edit chute such as Qwen-Image-Edit-2511.