Model reference · open weights

Qwen3.6-Magic-Prompt

LLMs fal Text gen · MoE 1 build Open weights 726 dl/mo

Qwen3.6-Magic-Prompt is an open-weight language model from fal. Qwen3.6-35B-A3B-Magic-Prompt-FP8 (FP8) weighs 37.5 GB; the smallest configuration that runs it is L40S 48 GB.

  • Qwen3.6-Magic-Prompt is a 36.0B parameter text-generation model developed by fal and published as fal/Qwen3.6-35B-A3B-Magic-Prompt-FP8.
  • It is designed to expand short image prompts into detailed, structured JSON captions for the Ideogram v4 image renderer.
  • The model uses FP8 quantization and is available under the apache-2.0 licence.

Summary of the fal/Qwen3.6-35B-A3B-Magic-Prompt-FP8 model card, 2026-10-01

What it is

Released byfal
Released2026-07-08
Parameters36.0B
VRAM37.5 GB for the weights

What it runs on

Memory and cards for Qwen3.6-35B-A3B-Magic-Prompt-FP8 (FP8)

37.5 GBweights, file size
20 MBcache per 1K tokens
129 MBfixed state per request
2.5 GBruntime overhead, at least
262,144 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … RTX 5090 32 GB
5 smaller cards
———
L40S 48 GB135185K44.0 GB
A100 80 GB
FP8 without its speed-up here
12847all 256K78.2 GB
H100 80 GB10739all 256K78.1 GB
RTX PRO 6000 Blackwell 96 GB15959all 256K93.8 GB
DGX Spark (GB10) 128 GB unified20576all 256K107 GB
H200 141 GB308114all 256K138 GB
B200 180 GB431159all 256K176 GB
2× RTX 4090 24 GB
tensor parallel
145198K23.4 GB a card
2× RTX 3090 24 GB
tensor parallel · FP8 without its speed-up here
145202K23.4 GB a card
2× RTX 5090 32 GB
tensor parallel
6624all 256K31.0 GB a card
2× L40S 48 GB
tensor parallel
15356all 256K44.0 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
140.2 GB40.7 GB
541.4 GB43.9 GB
842.3 GB46.3 GB
1644.7 GB52.7 GB
3249.4 GB65.5 GB
6458.9 GB91.1 GB

One card, with vLLM's small-card settings.

From the model card

What fal says about Qwen3.6-Magic-Prompt

Read the model card

FP8 prompt-expansion model based on Qwen3.6-35B-A3B for Ideogram v4. Takes a short image prompt and expands it into a richer, more detailed one. Recommended to be served with fal/Qwen3.6-35B-A3B-Magic-Prompt-FP8-DSpark.

Serving

We recommend serving with SGLang using dogacel/sglang:v0.5.14-dspark-cu130 image.

B200:

docker run --gpus all \
  --shm-size 32g \
  --ipc=host \
  -e SGLANG_OVERLAP_PLAN_STREAM=1 \
  -p 8000:8000 \
  -v $HF_HOME:/root/.cache/huggingface \
  dogacel/sglang:v0.5.14-dspark-cu130 \
  python3 -m sglang.launch_server \
    --model-path fal/Qwen3.6-35B-A3B-Magic-Prompt-FP8 \
    --served-model-name qwen36-35b-magic-fp8 \
    --trust-remote-code \
    --speculative-algorithm DSPARK \
    --speculative-draft-model-path fal/Qwen3.6-35B-A3B-Magic-Prompt-FP8-DSpark \
    --speculative-dflash-block-size 8 \
    --linear-attn-prefill-backend flashinfer \
    --linear-attn-decode-backend flashinfer \
    --mamba-radix-cache-strategy extra_buffer \
    --cuda-graph-backend-prefill tc_piecewise \
    --tp-size 1 \
    --max-running-requests 32 \
    --cuda-graph-max-bs-decode 32 \
    --weight-loader-disable-mmap \
    --host 0.0.0.0 \
    --port 8000 \
    --speculative-draft-attention-backend fa4 \
    --attention-backend trtllm_mha \
    --mamba-ssm-dtype bfloat16 \
    --enable-flashinfer-allreduce-fusion \
    --mem-fraction-static 0.6

H100:

docker run --gpus all \
  --shm-size 32g \
  --ipc=host \
  -e SGLANG_OVERLAP_PLAN_STREAM=1 \
  -p 8000:8000 \
  -v $HF_HOME:/root/.cache/huggingface \
  dogacel/sglang:v0.5.14-dspark-cu130 \
  python3 -m sglang.launch_server \
    --model-path fal/Qwen3.6-35B-A3B-Magic-Prompt-FP8 \
    --served-model-name qwen36-35b-magic-fp8 \
    --trust-remote-code \
    --speculative-algorithm DSPARK \
    --speculative-draft-model-path fal/Qwen3.6-35B-A3B-Magic-Prompt-FP8-DSpark \
    --speculative-dflash-block-size 8 \
    --linear-attn-prefill-backend flashinfer \
    --linear-attn-decode-backend flashinfer \
    --mamba-radix-cache-strategy extra_buffer \
    --cuda-graph-backend-prefill tc_piecewise \
    --tp-size 1 \
    --max-running-requests 32 \
    --cuda-graph-max-bs-decode 32 \
    --weight-loader-disable-mmap \
    --host 0.0.0.0 \
    --port 8000 \
    --speculative-draft-attention-backend fa3 \
    --attention-backend fa3 \
    --mem-fraction-static 0.8

Usage

OpenAI-compatible chat completions endpoint (served via SGLang):

import json
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="none")

SYSTEM_PROMPT = """\
You convert a natural-language user idea into a detailed structured JSON caption for an image renderer. Emit one JSON object only.

OUTPUT CONTRACT

The first character must be { and the last character must be }.
Emit exactly this final stored schema:
{"high_level_description":"...","compositional_deconstruction":{"background":"...","elements":[...]}}

Never output aspect_ratio. The user provides aspect ratio only to guide composition.
Never output style_description, bbox, markdown, comments, explanations, or any extra top-level keys.
Never output top-level background or top-level elements; they belong only inside compositional_deconstruction.
Use valid JSON escaping. Do not put raw newline characters inside strings. If visible text needs line breaks, use the two-character escape sequence \\n inside the text field.

Each element must use one of these exact schemas:
{"type":"obj","desc":"..."}
{"type":"text","text":"...","desc":"..."}

No other element keys are allowed. Do not use obj, object, style, role, position, font, color, children, notes, label, or bbox as keys.

TARGET STYLE

Match Ideogram V4 reference magic prompts: concrete, medium-aware, visually specific, and directly renderable. Do not write a short summary. Expand underspecified ideas into a plausible finished image while preserving the user's intent.

Typical target density:
- Ordinary prompt: 7-14 elements and roughly 2500-4200 JSON characters.
- Poster, packaging, infographic, UI, menu, map, complex scene: 12-24 elements when appropriate.
- A one-element answer is wrong unless the user explicitly asks for a lone isolated object on a blank or transparent background.

Avoid generic art-direction drift. Do not automatically add cyberpunk, fantasy, surrealism, luxury advertising, golden-hour nostalgia, hyper-realism, bokeh, lens jargon, dramatic cinematic lighting, famous-artist references, or random named brands unless the user asks for them or the medium clearly requires them.

Prefer neutral observational specificity like the reference captions: concrete materials, colors, placement, lighting, surfaces, local visual anchors, and typography details.

FIELD RULES

high_level_description:
- One sentence, 40-65 words.
- Name the subject, medium, composition, style or era when relevant, and the main visual hook.
- It should read like a polished image prompt, not analysis.

compositional_deconstruction.background:
- 90-170 words.
- Describe the scene shell and global treatment: sky, walls, ground, road, floor, surface, weather, ambient light, palette, depth, print/camera/render treatment, and broad atmosphere.
- Important visible objects still need elements. Do not hide all content in background.

elements:
- Include every important visible component.
- Each obj.desc should be 30-65 words.
- Each text.desc describes visual typography and placement, not a semantic explanation.

SUBJECT COHERENCE

One coherent subject is one element. A person, face, animal, car, building, bridge, bottle, lantern, signboard, product, flower, or piece of furniture is one obj. Describe attached parts inside that object's desc.

Do not split eyes, hair, face, hands, cap, collar, w

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms