MOSS-Image-Base CMF

Native, single-file CMF packaging of OpenMOSS-Team/MOSS-Image-Base at source revision 85975793d8b3d432f1b6e27f352abaa4c2a4c0d3, for the Rust cortiq runtime.

This is the standalone repository for the MOSS-Image-Base CMF artifacts. It neither replaces nor changes cards or artifacts for other models. Native MOSS text-to-image support, including the source layout and guidance controls below, requires Cortiq v0.8.31 or newer.

Downloads and integrity

Artifact Size SHA-256 Use
moss-image-base-q8_2f.cmf 13,256,239,565 bytes (12.346 GiB) f4dd15a29b58bf6185f5018b40614a65b7ade33e2617339d327f5dc1c6f38e11 Recommended, quality-first profile
moss-image-base-q4tp.cmf 10,856,278,477 bytes (10.111 GiB) c6250b2bab153a0a0b9f6c774ea77fc4a80d472e12b9a48d3d498a825b94f8dd Lower DiT-memory-footprint profile

A matching .sha256 file is published beside each CMF. Verify a download before use:

REPO=infosave/MOSS-Image-Base-cmf
MODEL=moss-image-base-q8_2f.cmf       # or moss-image-base-q4tp.cmf

hf download "$REPO" "$MODEL" "$MODEL.sha256" --local-dir .
sha256sum -c "$MODEL.sha256"          # macOS: shasum -a 256 -c "$MODEL.sha256"
cortiq verify "$MODEL"

What the CMF runs

The packaged Base text-to-image path is:

  1. the dense hybrid Qwen3.5 text encoder with its tokenizer and stored chat template;
  2. the 42-layer MOSSImageTransformer (width 3072, 24 heads, FFN width 8192); and
  3. the FLUX.2 AutoencoderKLFlux2 decode path.

The tokenizer, template, scheduler, and component configuration are embedded. The runtime uses staged residency—text encoder, then DiT, then decoder—so the previous stage can be released before the next is resident.

The CMF deliberately packs components reached by this observed Base, string-prompt text-to-image route. The Qwen visual tower and the encoder-side Flux2/VAE path (including encoder-side quant_conv weights) are not included because this route does not call them. This is a scope decision, not a claim that those source components are unnecessary in every upstream workflow. Image-conditioned, editing, video, and reference-image workflows are not advertised by this Base CMF.

Prompting and JSON layouts

MOSS-Image-Base supports the upstream prompt forms:

  • ordinary natural-language descriptions;
  • tag sequences; and
  • a raw JSON layout prompt for text placement and object arrangement.

Use natural language or tags with --prompt. In a build whose cortiq imagine --help exposes --layout / --layout-file (v0.8.31+), use exactly one of them instead. The CLI validates that the input is a JSON object and passes its text unchanged through the stored official MOSS prompt template; it does not reinterpret it as a separate image-conditioning format. The upstream layout convention documents summary.caption, items, bbox_format: "yxyx", and bbox_coord_space: "abs_centralized"; use the upstream schema and matching output dimensions.

# Requires Cortiq v0.8.31+.
cortiq imagine moss-image-base-q8_2f.cmf \
  --layout-file layout.json \
  --width 1024 --height 1024 --out layout.png

For example, this is a direct upstream-format prompt for a 1024×1024 canvas; save it as layout.json without reformatting it through another control-image tool:

{
  "summary": {
    "meta": ["poster"],
    "canvas": "single",
    "caption": "A minimalist travel poster with a cream background, a blue mountain, and EXPLORE at the top."
  },
  "items": [
    {"label": "text", "caption": "Large dark-blue uppercase title at the top.", "text": "EXPLORE", "bbox": [-416, -384, -288, 384]},
    {"label": "object", "caption": "A flat blue mountain illustration in the lower center.", "bbox": [-192, -288, 384, 288]}
  ],
  "bbox_coord_space": "abs_centralized",
  "bbox_format": "yxyx"
}

Layout editing means editing the JSON caption, items, or bounding boxes and then generating a new image. It is not pixel-space editing or img2img. In particular, this Base CMF has no MOSS --image input.

The upstream project also provides a prompt-enhancer workflow that can produce detailed captions and spatial-layout JSON. It remains an upstream Python/tool workflow rather than a CMF CLI feature.

Recommended quality recipe

The embedded source recipe is 1024 × 1024, 50 Flow-Matching Euler steps, CFG 3, scheduler shift 5, an empty negative prompt, and the source negative-branch skip at zero-based DiT layer 22. Width and height must be positive multiples of 16.

For quality output, follow the upstream guidance: use at least 50 steps and about 1–2 million pixels. The default 1024 × 1024 setting is about 1.05 million pixels. Faster, lower-resolution settings are useful for functional smokes but are not a substitute for this quality recipe.

cortiq imagine moss-image-base-q8_2f.cmf \
  --prompt "A small red fox reading a book in a sunlit library, highly detailed." \
  --width 1024 --height 1024 --steps 50 --cfg 3 --shift 5 \
  --out fox.png

Use q8_2f when output fidelity is the priority. Choose q4tp when a smaller DiT footprint is more important, and evaluate it on the intended prompts rather than assuming it is visually interchangeable with q8_2f.

Precision profiles

CMF permits precision to be chosen independently for individual components and tensor groups. These are deliberately mixed-precision profiles, rather than a single uniform precision applied to every tensor.

Profile DiT matrices Text conditioning Decoder and control tensors
q8_2f q8_2f q8_2f projections; q8-row embeddings Flux2 decoder, norms, biases, and time/modulation controls remain floating-point
q4tp q4tp q8_2f projections; q8-row embeddings Same floating-point decoder and controls

Thus the two published files differ in the large DiT matrix codec while keeping the text-conditioning and decoder/control choices above. This separation is intentional: it preserves the source text path and decode path while offering a lower-footprint DiT alternative.

q4tp-v2 is intentionally not used as a filename for this image profile: in this project that name is reserved for a data-aware, calibrated/refit q4 conversion. No such image-DiT calibration has been measured here. For an explicit, inspectable compromise, imagine-pack --dit-keep can lift selected MOSS DiT blocks or projections to q8_2f over a q4tp base:

cortiq imagine-pack /path/to/MOSS-Image-Base \
  --quant q4tp --dit-keep layers.0,layers.1,layers.40,layers.41 \
  --out moss-image-base-q4tp-guarded.cmf

The selectors and their q8 lifts are recorded in CMF provenance. This is a mixed-precision packaging option, not an assertion that every selector is quality-optimal; compare the result on the actual target prompts before publishing it.

MOSS controls in Cortiq v0.8.31+

Confirm the installed binary with cortiq imagine --help. Older v0.8.30 binaries do not expose these flags.

  • --uncond-skip-layers LAYERS selects zero-based negative-branch layers to skip during the active interval. The packaged source default is layer 22. Use a bare flag, none, or off to disable that default.
  • --slg-layers LAYERS and --slg-scale SCALE enable standard skip-layer-guidance (SLG) correction on selected positive-branch layers. When active, SLG adds a third DiT forward, so it can increase render time.
  • --slg-start F and --slg-stop F set the active denoising-fraction interval from 0 to 1 for the source skip/SLG behavior.
# Disable the packaged negative-branch skip.
cortiq imagine moss-image-base-q8_2f.cmf \
  --prompt "A lacquered red teapot on a wooden table" \
  --uncond-skip-layers none --out no-skip.png

# Example SLG configuration; choose layer indices and scale for the target prompt.
cortiq imagine moss-image-base-q8_2f.cmf \
  --prompt "A lacquered red teapot on a wooden table" \
  --slg-layers 24,26 --slg-scale 3 --slg-start 0 --slg-stop 1 \
  --out slg.png

Examples

Only visually inspected source-step examples belong in this section. The earlier 512×512 / 8-step smoke images are deliberately not presented as quality showcases.

Quality-first q8_2f wildlife photograph

A red fox on a moss-covered stone beside a forest stream at dawn

This image was visually inspected after a full 50-step, q8_2f MOSS render on the named Vulkan reference system. It uses the source negative-branch skip and standard SLG; 512×512 is the source-supported lower resolution boundary, so use the 1–2 MP guidance above when the target hardware budget permits it.

PROMPT='best quality, highres, RAW editorial wildlife photograph of an adult red fox standing on a moss-covered stone beside a clear forest stream at dawn, detailed natural fur, amber eyes, soft mist, autumn ferns, golden backlight, 85mm lens, shallow depth of field, realistic cinematic color grading'
NEGATIVE='nsfw, worst quality, bad anatomy, watermark, jpeg artifact'

WGPU_BACKEND=vulkan CMF_GPU=wgpu cortiq imagine moss-image-base-q8_2f.cmf \
  --prompt "$PROMPT" --negative-prompt "$NEGATIVE" \
  --width 512 --height 512 --steps 50 --cfg 3 --shift 5 \
  --slg-layers 24 --slg-scale 3 --slg-start 0.01 --slg-stop 1 \
  --seed 20261023 --out samples/fox-wildlife-512-q8-slg50.png

PNG SHA-256: f79d807e8b892bcf0c6def4b1c1f4060075d7236444ea4c930b6d4a2b6a317b5. The render completed 50 actual scheduler steps; it is an inspected quality example, not a claim of PyTorch bit parity or a generic throughput benchmark.

Validation and measured baselines

Both final files passed cortiq verify, an external SHA-256 check, a Vulkan CFG render, and source-pinned template/Flux2-decoder contract tests. The contract tests cover the stored template token contract and the BatchNorm → 2×2 unpatch → post-quant-convolution → decoder path on a fixed source-oracle latent. They validate critical component contracts, but are not a full end-to-end numerical-parity oracle for the upstream DiT.

Vulkan baseline

Measured on an NVIDIA GeForce RTX 3090 (24 GiB), NVIDIA Vulkan driver 595.91.07, with Cortiq v0.8.30: 512 × 512, 8 steps, CFG 3, shift 5, seed 42. median DiT step includes the two DiT passes required by CFG. Text preparation, DiT loading, and VAE decoding are reported separately by the CLI.

File Total Median DiT step Text / DiT load / VAE
q8_2f 348.8 s 41.66 s 2.6 s / 0.3 s / 6.7 s
q4tp 333.7 s 39.80 s 2.7 s / 0.3 s / 7.1 s

This is a named, reproducible baseline, not a general performance guarantee for other drivers, hardware, resolution, precision profiles, or settings.

Metal smoke

A functional Metal smoke was run on Apple M4 / 24 GB: native DiT plus Flux2 VAE, 256 × 256, one step, CFG 1. The VAE recorded 178.5 ms GPU time / 0.183 s wall time. Its CPU decoder comparison was PSNR 70.13 dB with a maximum 1-LSB RGB difference. This isolates decoder correctness/Metal execution; it is not an end-to-end throughput benchmark and must not be compared to the Vulkan table.

Compatibility and scope

This publication supports the Base text-to-image path, including natural-language and tag-sequence prompts; serialized JSON-layout prompts require a v0.8.31+ build exposing the layout flags described above. Its scope ends there. It does not claim support for:

  • image input, img2img, or pixel-space image editing;
  • video or reference-image workflows;
  • LoRA adapter loading or training;
  • the upstream Gradio application, ComfyUI integration, prompt-enhancer UI, CPU-offload/compilation options, or other Python-only surfaces; or
  • bit-exact numerical parity with the upstream PyTorch implementation.

Those upstream tools and integrations may expose additional capabilities, but they are not CMF CLI feature parity and should not be inferred from this Base artifact.

License and provenance

The upstream MOSS-Image-Base release is licensed under Apache-2.0. These CMF artifacts are quantized/repackaged derivatives and retain upstream license and attribution. Consult the upstream repository and model card for model behavior, dataset disclosures, and any use restrictions.

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

Model tree for infosave/MOSS-Image-Base-cmf

Quantized
(11)
this model