Instructions to use infosave/MOSS-Image-Base-cmf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- cortiq
How to use infosave/MOSS-Image-Base-cmf with cortiq:
# one Rust binary, no additional dependencies cargo install cortiq-cli # or a prebuilt binary from github.com/infosave2007/cmf/releases hf download infosave/MOSS-Image-Base-cmf --include "*.cmf" --local-dir . ls *.cmf # some repos ship more than one quantization
cortiq imagine FILE.cmf --prompt "a red fox in a snowy forest" --out fox.ppm
- Notebooks
- Google Colab
- Kaggle
|
Download README.md from infosave/MOSS-Image-Base-cmf: direct link, hf CLI and curl.
- Browser
- Download file 12.9 kB
-
https://huggingface.co/infosave/MOSS-Image-Base-cmf/resolve/main/README.md
- Command line
-
hf download hf://infosave/MOSS-Image-Base-cmf/README.md
-
curl -L -o README.md https://huggingface.co/infosave/MOSS-Image-Base-cmf/resolve/main/README.md
12.9 kB
| library_name: cortiq | |
| license: apache-2.0 | |
| base_model: | |
| - OpenMOSS-Team/MOSS-Image-Base | |
| base_model_relation: quantized | |
| pipeline_tag: text-to-image | |
| language: | |
| - en | |
| - zh | |
| tags: | |
| - cmf | |
| - cortiq | |
| - text-to-image | |
| - moss-image | |
| - q8_2f | |
| - q4tp | |
| - rust | |
| # MOSS-Image-Base CMF | |
| Native, single-file CMF packaging of | |
| [OpenMOSS-Team/MOSS-Image-Base](https://huggingface.co/OpenMOSS-Team/MOSS-Image-Base) | |
| at source revision | |
| [`85975793d8b3d432f1b6e27f352abaa4c2a4c0d3`](https://huggingface.co/OpenMOSS-Team/MOSS-Image-Base/tree/85975793d8b3d432f1b6e27f352abaa4c2a4c0d3), | |
| for the Rust [`cortiq`](https://github.com/infosave2007/cmf) 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`](moss-image-base-q8_2f.cmf) | 13,256,239,565 bytes (12.346 GiB) | `f4dd15a29b58bf6185f5018b40614a65b7ade33e2617339d327f5dc1c6f38e11` | Recommended, quality-first profile | | |
| | [`moss-image-base-q4tp.cmf`](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: | |
| ```bash | |
| 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. | |
| ```bash | |
| # 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: | |
| ```json | |
| { | |
| "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. | |
| ```bash | |
| 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: | |
| ```bash | |
| 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. | |
| ```bash | |
| # 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 | |
|  | |
| 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. | |
| ```bash | |
| 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](https://huggingface.co/OpenMOSS-Team/MOSS-Image-Base/blob/main/LICENSE). | |
| 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. | |