Ideogram4 Turbo — GGUF build

Turbo-merged text-to-image with a FLUX.2 VAE and a Qwen3-VL-8B text encoder. 8 steps, CFG off.

What this repo is: a requantized, split-layout build of the upstream model — weights only, not a retrain. The recommended settings below are the values these weights are actually run with day to day, not copied from the upstream card.


Samples

prompt: a red apple on a rustic wooden table beside a window, soft daylight, fine skin texture and wood grain, studio photograph, sharp focus — 1024×1024, 8 steps, guidance 1.0, seed 12345prompt: portrait of an older fisherman with a weathered face, natural window light, shallow depth of field, photorealistic — 1024×1024, 8 steps, guidance 1.0, seed 99
**prompt:** `a red apple on a rustic wooden table beside a window, soft daylight, fine skin texture and wood grain, studio photograph, sharp focus` — 1024×1024, 8 steps, guidance 1.0, seed 12345**prompt:** `portrait of an older fisherman with a weathered face, natural window light, shallow depth of field, photorealistic` — 1024×1024, 8 steps, guidance 1.0, seed 99
prompt: a rain-slicked Tokyo street at night, neon signs reflecting in puddles, cinematic, 35mm photograph — 1024×1024, 8 steps, guidance 1.0, seed 1234
**prompt:** `a rain-slicked Tokyo street at night, neon signs reflecting in puddles, cinematic, 35mm photograph` — 1024×1024, 8 steps, guidance 1.0, seed 1234

img2img

Two sources: a photograph, and the tests/ideogram4/ fixture. Each source sits beside the results made from it.

photographic sourcephotographic source restyled
**source** — `a red apple on a rustic wooden table beside a window, soft daylight, visible wood grain, studio photograph, sharp focus`**img2img prompt:** structured JSON (below) — 1024×1024, **16 steps**, **guidance 1.0**, **strength 0.97**, seed 999
fixture source, one image used by all threeoil renderwatercolor rendersketch render
**source** — one `tests/ideogram4/` image, used for all three**img2img prompt:** `An oil painting of an abstract composition with a large glowing golden circle at the center over a flowing rainbow gradient, thick visible brushstrokes and canvas texture.` — 1024×1024, **16 steps**, **guidance 1.0**, **strength 0.98**, seed 42**img2img prompt:** `A watercolor painting of an abstract composition with a soft golden circle over a rainbow wash, bleeding edges and transparent layers on rough paper.` — 1024×1024, **16 steps**, **guidance 1.0**, **strength 0.97**, seed 999**img2img prompt:** `An impressionist oil painting of an abstract composition with a golden circle at the center over a vivid rainbow gradient, lively broken brushwork in the same bright colors.` — 1024×1024, **16 steps**, **guidance 1.0**, **strength 0.97**, seed 456

⚠ Always set guidance: 1.0

This is a turbo merge, and guidance: 1.0 means CFG off — not weak CFG. The sampler blends v = g·cond + (1−g)·uncond, so at 1.0 the output is the pure conditional branch.

Leave it unset and the pipeline falls back to the full model's per-step schedule (7.0 main, 3.0 for the last three), which this merge was never trained for, giving a compounding loss of brightness. Same source, prompt, strength and seed, at 8 steps:

guidance mean luminance vs source
source 140.3 1.00
1.0 (correct) 103.8 0.74
unset → 7.0/3.0 47.1 0.34
2.0 85.5 0.61

Because the error applies per step, more steps make it worse. Across the three fixtures, correct guidance gives luminance 87 / 113 / 99 against 47 / 90 / 55 with it omitted.

Steps: 16 for restyling, 8 for general use

A turbo model needs far fewer steps than the 48 quoted for full ideogram4. At correct guidance, 4 steps barely transforms, 8 gives visible paint texture, 16 is where the brushwork lands. By 24 this typography-focused model begins hallucinating lettering.

strength must be high — 0.97

The model anchors hard to source content; the usable restyle band starts around 0.93. Below it the model reconstructs the source and largely ignores the prompt. At a fixed step count the exact value matters little — 0.95/0.97/0.99 are near-indistinguishable — so set 0.97 and tune steps.

The prompts are structured JSON

Captions show each prompt's high_level_description. In full:

oil — full structured prompt
{
  "high_level_description": "An oil painting of an abstract composition with a large glowing golden circle at the center over a flowing rainbow gradient, thick visible brushstrokes and canvas texture.",
  "compositional_deconstruction": {
    "background": "A flowing rainbow gradient painted in thick impasto oil strokes, red tones sweeping from the left into greens and violets toward the lower right, visible canvas weave beneath the paint.",
    "elements": [
      {
        "type": "obj",
        "desc": "A large luminous golden circle at the center of the canvas, built from swirling concentric brushstrokes of cadmium yellow and amber with raised paint ridges catching the light."
      }
    ]
  }
}
watercolor — full structured prompt
{
  "high_level_description": "A watercolor painting of an abstract composition with a soft golden circle over a rainbow wash, bleeding edges and transparent layers on rough paper.",
  "compositional_deconstruction": {
    "background": "Transparent watercolor washes blending red through green to violet across rough cold-press paper, soft bleeding edges where the pigments meet, granulation visible in the wet areas.",
    "elements": [
      {
        "type": "obj",
        "desc": "A soft-edged golden yellow circle at the center, painted wet-into-wet so its rim feathers into the surrounding washes, a lighter halo where the paper shows through."
      }
    ]
  }
}
sketch — full structured prompt
{
  "high_level_description": "An impressionist oil painting of an abstract composition with a golden circle at the center over a vivid rainbow gradient, lively broken brushwork in the same bright colors.",
  "compositional_deconstruction": {
    "background": "A vivid rainbow gradient built from short broken impressionist brushstrokes, reds and magentas on the right flowing through greens and blues to violet on the left, dabs of pure color set side by side.",
    "elements": [
      {
        "type": "obj",
        "desc": "A large golden yellow circle at the center painted in swirling dabs of cadmium yellow and warm orange, its edge broken into short strokes that mingle with the surrounding colors."
      }
    ]
  }
}

Note on test_03: the fixture is named sketch, but its prompt asks for "An impressionist oil painting … lively broken brushwork" — no pencil, no graphite. The output matches the prompt, not the filename.

Recommended settings

Values this build is run with in practice. They are read out of a live config when this card is generated, so they cannot drift from what is actually used.

Parameter Production value Meaning
width 1024 Output width in pixels
height 1024 Output height in pixels
steps 8 Denoising steps
guidance 1.0 Guidance scale
max_sequence_length 512 Max prompt tokens
strength 0.95 img2img denoise strength (1.0 = ignore the input image)

Supported modes: txt2img, img2img

Notes and gotchas

  • guidance: 1.0 is CFG-off here. The sampler blends v = g·cond + (1−g)·uncond, so at 1.0 the output is purely conditional.
  • Never leave guidance unset. Omitting it falls back to a 7.0/3.0 CFG schedule that the turbo merge was not trained for.
  • The 8B text encoder plus two transformers is a large working set, so offloading the text encoder to CPU after each prompt encoding is recommended.
  • An unconditional transformer ships alongside the main one for the CFG path; the turbo profile does not use it.

Layout

Components ship as separate files rather than one bundle: the transformer, the text encoder(s) and the VAE each load independently, with configs and tokenizers under config/. Any loader that accepts explicit per-component paths can consume this directly — point it at the files listed below.

A generic diffusers snippet is deliberately omitted. This is a repacked split layout with substituted encoders, so an upstream example will not load it unmodified, and an untested snippet would be worse than none.


Files

File Size Role
split/ideogram4_unconditional_Q6_K.gguf 7.14 GB transformer (main weights)
split/ideogram4-turbo-Q6_K.gguf 7.10 GB quantized weights
split/text_encoders/Qwen3VL-8B-Instruct-Q4_K_M.gguf 4.68 GB text encoder
split/vae/flux2-vae.safetensors 320.64 MB VAE
config/tokenizer/tokenizer.json 6.71 MB tokenizer / processor
config/tokenizer/tokenizer_config.json 10.61 KB tokenizer / processor
config/tokenizer/chat_template.json 5.37 KB tokenizer / processor
config/tokenizer/config.json 1.44 KB tokenizer / processor
config/tokenizer/generation_config.json 269 B tokenizer / processor

Provenance

  • Upstream base model: not publicly published
  • This build: requantized and relaid out into a split component layout. Weights are not retrained; only the format and directory layout differ.
  • License: left as unknown in this repo's metadata. Refer to the upstream model's license for redistribution and commercial-use terms — several of these bases are non-commercial.
Downloads last month
402
GGUF
Model size
9B params
Architecture
Hardware compatibility
Log In to add your hardware

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support