File size: 6,737 Bytes
24819b5
 
647ce91
 
 
 
 
 
 
 
24819b5
647ce91
 
 
d34024a
647ce91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d34024a
647ce91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d34024a
647ce91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
---
license: unknown
pipeline_tag: text-to-image
tags:
  - text-to-image
  - image-to-image
  - image-editing
  - multi-reference
  - distilled
  - turbo
---

# Mage-Flow Turbo + Edit Turbo

4-step photographic text-to-image (**β‰ˆ3 s** per 1024Β² image on an RTX 5090)
and a companion instruction-editing model that takes up to **three**
reference images.

> **What this repo is:** the Mage-Flow turbo and turbo-edit transformers, a
> shared Qwen2.5-VL text encoder and VAE β€” weights only, not a retrain. The
> settings below are the values these weights are actually run with day to
> day.

---

## Samples β€” `mage-flow-turbo` (txt2img)

Four steps, guidance 1.0. Photorealism is this model's strength.

<table>
<tr><td><img src="https://huggingface.co/ChrisColeTech/Mage-Flow/resolve/main/samples/apple.png" width="380" alt="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, 4 steps, guidance 1.0, seed 12345"></td><td><img src="https://huggingface.co/ChrisColeTech/Mage-Flow/resolve/main/samples/portrait.png" width="380" alt="prompt: portrait of an older fisherman with a weathered face, natural window light, shallow depth of field, photorealistic β€” 1024Γ—1024, 4 steps, guidance 1.0, seed 99"></td></tr>
<tr><td><sub>**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, 4 steps, guidance 1.0, seed 12345</sub></td><td><sub>**prompt:** `portrait of an older fisherman with a weathered face, natural window light, shallow depth of field, photorealistic` β€” 1024Γ—1024, 4 steps, guidance 1.0, seed 99</sub></td></tr>
<tr><td><img src="https://huggingface.co/ChrisColeTech/Mage-Flow/resolve/main/samples/street.png" width="380" alt="prompt: a rain-slicked Tokyo street at night, neon signs reflecting in puddles, cinematic, 35mm photograph β€” 1024Γ—1024, 4 steps, guidance 1.0, seed 1234"></td><td></td></tr>
<tr><td><sub>**prompt:** `a rain-slicked Tokyo street at night, neon signs reflecting in puddles, cinematic, 35mm photograph` β€” 1024Γ—1024, 4 steps, guidance 1.0, seed 1234</sub></td><td></td></tr>
</table>

---

## Editing β€” `mage-flow-edit-turbo` (img2img)

Plain-language instructions against a reference image. Identity, pose,
lighting and camera are preserved; only what the instruction names changes.

<table>
<tr><td><img src="https://huggingface.co/ChrisColeTech/Mage-Flow/resolve/main/samples/portrait.png" width="250" alt="reference"></td><td><img src="https://huggingface.co/ChrisColeTech/Mage-Flow/resolve/main/samples/edit-hat.png" width="250" alt="edit: put a brown flat cap on his head"></td><td><img src="https://huggingface.co/ChrisColeTech/Mage-Flow/resolve/main/samples/edit-beach.png" width="250" alt="edit: change the background to a sunny beach"></td></tr>
<tr><td><sub>**reference** β€” the seed-99 portrait above</sub></td><td><sub>**instruction:** `put a brown flat cap on his head` β€” 4 steps, seed 7 (β‰ˆ88 s)</sub></td><td><sub>**instruction:** `change the background to a sunny beach with the ocean behind him` β€” 4 steps, seed 7 (β‰ˆ60 s)</sub></td></tr>
</table>

Both edits keep the subject essentially pixel-identical β€” same skin detail,
same jacket, same catchlights β€” while adding an object in one case and
replacing the entire environment in the other. Up to **three** reference
images may be supplied together (subject, style, context).

## Recommended settings

Values these builds are run with in practice.

| Parameter | `mage-flow-turbo` | `mage-flow-edit-turbo` | Meaning |
|---|---|---|---|
| `width` Γ— `height` | `1024` Γ— `1024` | follows the reference | Output size |
| `steps` | `4` | `4` | Denoising steps |
| `guidance` | `1.0` | `1.0` | Distilled β€” CFG is not used |
| `max_size` | β€” | `1024` | Longest edge the reference is fitted to |
| `vl_condition_long_edge` | β€” | `384` | Resolution the VL encoder sees the reference at |

**Supported modes:** `txt2img` (turbo), `img2img` / instruction editing (edit-turbo, 1–3 references)

### Notes and gotchas

- **Four steps is correct.** Both variants are step-distilled at guidance 1.0;
  raising either is not the lever for quality.
- **Editing costs far more than generating** β€” β‰ˆ60–90 s versus β‰ˆ3 s, because
  the reference must be encoded through the VL tower before denoising begins.
  That asymmetry is inherent to the architecture, not a misconfiguration.
- **Write edits as instructions, not descriptions** β€” `put a brown flat cap on
  his head`, not `a man wearing a brown flat cap`.
- **`torchvision` is a hard dependency** of the Mage-Flow pipeline (the VL
  image preprocessing path) even though the rest of this stack does not need
  it. Install the build matching your torch (`torchvision==0.28.0` for torch
  2.13.0+cu130) or loading fails with `ModuleNotFoundError`.
- **Three transformers ship here**: `base` (30 steps, guidance 5.0 β€” the
  undistilled model), `turbo` and `turbo-edit` (4 steps, guidance 1.0). The
  samples on this card are from the two turbo variants; the base transformer
  is included for anyone who wants the slower, higher-guidance path.
- Each transformer directory is self-contained β€” download only the variant you
  intend to run (8.2 GB each) plus the shared encoder, VAE and scheduler.

---

## Layout

Components ship as separate directories under `split/`: one transformer
directory per variant (`turbo`, `turbo-edit`), plus the shared text encoder,
VAE and scheduler config. Loaders that accept a diffusers-style component tree
can consume this directly.

---

## Files

| Path | Size | Role |
|---|---|---|
| `split/transformer/turbo/diffusion_pytorch_model.safetensors` | 8.23 GB | txt2img transformer (4-step distilled) β€” **the tier these settings were measured on** |
| `split/transformer/turbo-edit/diffusion_pytorch_model.safetensors` | 8.23 GB | instruction-editing transformer (4-step distilled) |
| `split/transformer/base/diffusion_pytorch_model.safetensors` | 8.23 GB | undistilled transformer (30 steps, guidance 5.0) |
| `split/text_encoder/` | 8.88 GB | Qwen2.5-VL text/vision encoder (2 shards) |
| `split/vae/diffusion_pytorch_model.safetensors` | 345 MB | VAE |
| `split/scheduler/scheduler_config.json` | 169 B | scheduler config |

---

## Provenance

- **Upstream base model:** Mage-Flow (turbo and turbo-edit distillations)
- **This build:** redistributed as a split component tree with the shared encoder and VAE alongside. Weights are not retrained here.
- **License:** left as `unknown` in this repo's metadata. Refer to the upstream model's license for redistribution and commercial-use terms.