Instructions to use fal/ideogram-v4-fast with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use fal/ideogram-v4-fast with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("fal/ideogram-v4-fast", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
- DiffusionBee
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("fal/ideogram-v4-fast", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]You need to agree to share your contact information to access this model
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
By requesting access, you acknowledge the Ideogram Non-Commercial Model Agreement linked above.
Log in or Sign Up to review the conditions and access this model content.
Ideogram 4 Fast β by fal
20 steps. One transformer. No runtime CFG.
Ideogram 4 Fast is an FP4-targeted, speed-distilled text-to-image checkpoint developed and released by
fal, based on ideogram-ai/ideogram-4-fp8.
It folds the guided prediction into a single conditional branch, cutting out the unconditional
forward pass. The checkpoint was trained with quantization-aware distillation (QAD) specifically
for FP4 inference.
Key features
- β‘ 20-step inference β the Fast schedule at 1024Γ1024.
- π― No runtime CFG β one conditional transformer call per denoising step; no negative branch or CFG blend.
- π§ FP4-optimized weights β approximately 9.28 billion parameters, trained with QAD for the NVFP4 execution path.
- π§© Standard Diffusers components β no repository Python code and no
trust_remote_code. - π¦ Transformer-only release β shared components come from Ideogram AI's public, gated Diffusers repository.
Read how fal combined CFG distillation, timestep distillation, QAD, and systems optimization in Serving sub-second Ideogram v4 without quality loss.
Hosted API
The production-optimized model is available on fal through
ideogram/v4/fast.
The hosted endpoint uses fal's optimized NVFP4 production runtime. The weights in this repository are intended for an FP4-capable execution path.
Usage
This model expects Ideogram 4's structured JSON caption format. The hosted fal endpoint expands natural-language prompts automatically; local Diffusers inference does not. Expand the prompt with an Ideogram-compatible magic-prompt model first, or provide a complete structured caption like the one below.
FP4 is required for intended quality. Although the pre-pack tensors are serialized in a loadable floating-point form, this is not a BF16 inference release. QAD adapts the weights to the quantization error of the target FP4 path. Running the transformer directly in BF16 bypasses that path and may produce visibly degraded results.
The component wiring below uses the official public, gated
ideogram-ai/ideogram-4-nf4-diffusers
repository. Only its tokenizer, text encoder, VAE, and scheduler are used; neither of its diffusion
transformers is loaded. You must accept Ideogram's access gate before downloading the components.
Released Diffusers 0.39.0 still expects an unconditional transformer even for a distilled,
single-branch checkpoint. The zero-parameter compatibility module below satisfies that plumbing
without loading or running a second diffusion transformer. With guidance_scale=1.0, the stock
blend is exactly 1.0 * conditional + 0.0 * dummy_unconditional.
This shim addresses the mandatory-CFG plumbing only. It does not apply fal's native terminal timestep or frequency-table corrections, so stock Diffusers 0.39.0 is not bit-exact with the optimized fal runtime.
import json
import torch
from diffusers import Ideogram4Pipeline, Ideogram4Transformer2DModel
repo_id = "fal/ideogram-v4-fast"
components_repo_id = "ideogram-ai/ideogram-4-nf4-diffusers"
components_revision = "1874bc70267ba2c823a7239e1d70dd308c8d64dc"
class ZeroUnconditionalTransformer(torch.nn.Module):
"""Zero-parameter stand-in for Diffusers 0.39.0's mandatory CFG branch."""
def __init__(self, dtype=torch.bfloat16):
super().__init__()
self.register_buffer("_dtype_anchor", torch.empty(0, dtype=dtype), persistent=False)
@property
def dtype(self):
return self._dtype_anchor.dtype
def forward(self, *, hidden_states, **kwargs):
return (torch.zeros_like(hidden_states),)
transformer = Ideogram4Transformer2DModel.from_pretrained(
repo_id,
subfolder="transformer",
torch_dtype=torch.bfloat16,
)
pipe = Ideogram4Pipeline.from_pretrained(
components_repo_id,
revision=components_revision,
transformer=transformer,
unconditional_transformer=None,
torch_dtype=torch.bfloat16,
)
pipe.register_modules(unconditional_transformer=ZeroUnconditionalTransformer())
pipe.to("cuda")
prompt = json.dumps(
{
"high_level_description": (
"A bold typographic poster centered on the exact words FAST BY FAL, "
"printed in black and electric orange on warm white paper."
),
"compositional_deconstruction": {
"background": (
"Warm white textured paper with even studio lighting and generous negative space."
),
"elements": [
{
"type": "text",
"text": "FAST BY FAL",
"desc": (
"Large uppercase geometric sans-serif lettering with crisp print edges, "
"precisely centered."
),
}
],
},
},
ensure_ascii=False,
separators=(",", ":"),
)
generator = torch.Generator(device="cuda").manual_seed(42)
image = pipe(
prompt,
height=1024,
width=1024,
num_inference_steps=20,
guidance_scale=1.0,
guidance_schedule=None,
mu=0.0,
std=1.75,
generator=generator,
).images[0]
image.save("ideogram4-fast.png")
The compatibility module has no parameters and its trivial zero output is multiplied by zero; no unconditional model is loaded and there is no effective runtime CFG. The snippet demonstrates the standard pipeline wiring; use a compatible NVFP4 quantization runtime before evaluating Fast image quality.
Repository layout
.
βββ README.md
βββ LICENSE.md
βββ NOTICE
βββ assets/
β βββ ideogram-v4-by-fal.mp4
βββ transformer/
βββ config.json
βββ diffusion_pytorch_model-00001-of-00004.safetensors
βββ diffusion_pytorch_model-00002-of-00004.safetensors
βββ diffusion_pytorch_model-00003-of-00004.safetensors
βββ diffusion_pytorch_model-00004-of-00004.safetensors
βββ diffusion_pytorch_model.safetensors.index.json
Weights and provenance
This is the QAD-trained, FP4-targeted Fast checkpoint. The repository stores the pre-pack tensors needed by runtime-specific FP4 quantizers; it is not a statically packed NVFP4 export and must not be presented as a BF16 inference checkpoint. Direct BF16 execution may be lower quality because it does not reproduce the quantization path used during QAD.
During conversion, fused QKV tensors were split into the standard Diffusers to_q, to_k, to_v,
and to_out layout without changing their values.
The transformer was derived from ideogram-ai/ideogram-4-fp8. Shared inference components are
loaded from ideogram-ai/ideogram-4-nf4-diffusers; neither transformer in that repository is loaded
or used.
Ideogram 4 was created by Ideogram AI. This derivative checkpoint was developed and released by fal and is not an official Ideogram product or endorsed by Ideogram AI.
License
As a derivative of Ideogram 4, this model inherits the Ideogram 4 Non-Commercial Model Agreement.
The complete inherited license is included in
LICENSE.md and governs use
and redistribution of this model.
- Downloads last month
- -
Model tree for fal/ideogram-v4-fast
Base model
ideogram-ai/ideogram-4-fp8
# Gated model: Login with a HF token with gated access permission hf auth login