On a broad spectrum of conditionality for image generation, class-conditional modeling on ImageNet has long been the default practice: controlled, cheap, and easy to benchmark with FID. However, real-life applications demand a shift toward the rich-conditional side of this spectrum. A classical example is text-to-image (T2I), where the condition transitions from labels to open-ended language. In T2I, the model must follow arbitrary prompts faithfully and deliver high visual quality, not just produce images that look realistic on average. Because the task is so much broader, succeeding at T2I is a much stronger signal that a method genuinely scales — and a more direct reflection of what we actually ask generative models to do.
Yet, shifting to T2I comes with an obvious catch: the nature of the problem makes it feel fundamentally more complicated and demanding than class-conditional generation. That perceived complexity spans everything from intricate model designs to massive compute budgets and heavily engineered data pipelines. Some giants like SD3, FLUX.1-dev, and DALL·E 3, alongside unified generators (Show-o2, BAGEL, OpenUni, Tuna-2, etc.), produce beautiful images — but they charge an intimidating entry fee (Esser et al. 2024; Black Forest Labs 2024; Betker et al. 2023; Xie et al. 2025; Deng et al. 2025; S. Wu et al. 2025; Liu et al. 2026).
So it is natural (and quite ambitious) to ask: Can we make text-to-image feel like ImageNet-level experimentation, with simple architecture, simple data, and a recipe short enough to hold in your head?
We answer this question with a tentative "yes" — and the rest of this post explains how. If you take the text conditions produced by a pretrained language model and incorporate them as in-context conditioning, text-to-image is actually not much different from class-conditional generation. It is strikingly similar in terms of model architecture, the compute required, and even the volume of data the model needs to see.
This realization led us to MiniT2I: an intentionally plain, pixel-space flow-matching model. Using a simple MM-JiT backbone, readily available data, and an academic-scale compute budget, it reaches the performance frontier of pixel-space diffusion-based T2I systems.
In a nutshell, we were genuinely surprised by how far a minimalist, direct-pixel approach could take us. We hope MiniT2I can serve as a clean baseline for text-to-image generation: small enough to debug, strong enough to reveal real failures, and simple enough to reproduce, modify, and challenge.
The rest of this post replays the project step-by-step: we start by reproducing a standard baseline, drop it into pixel space, fix the sampler, delete the bloat, repair the data — and only then ask where we stand.
Already fluent in diffusion, LDMs, and common T2I practice? Skip ahead.
Flow matching. Flow matching is a diffusion-family algorithm for generative modeling (Ho et al. 2020; Lipman et al. 2022): learn how to transport pure noise into the data distribution. During training, we sample a noisy image on the straight path $z_t = t x + (1 - t)\epsilon$, where $x$ is a real image and $\epsilon$ is Gaussian noise. The model predicts the velocity $v = x - \epsilon$: the direction that walks the noisy sample back toward the real image. With a perfectly learned velocity field, gradually integrating those directions transports random noise into realistic images. For a more formal tutorial, the Cambridge MLG flow-matching introduction is a good place to start.
Latent vs. pixel space. High-resolution images are huge, so latent diffusion made the problem practical by compressing pixels into an autoencoder space, denoising there, and decoding back (Rombach et al. 2022). This works beautifully and dominates much of modern T2I practice, but it comes with reconstruction artifacts and an extra encoder-decoder training stage. JiT showed a different route — stay in RGB, chop the image into large patches, and predict clean pixels so the denoiser survives the high-dimensional target (Li and He 2025).
Architecture for T2I. For T2I, the job is to transfer information from the prompt into the generated image. The usual move is to extract prompt features with a pretrained text encoder, then let text and image tokens share attention while the image is denoised. SD3's MM-DiT is the modern reference: each modality gets its own stream weights, then everything mixes through joint attention (Esser et al. 2024). We dissect its block structure in Section 04. MM-DiT is conceptually simple, but it carries many small design choices worth questioning: which are necessary, and which are just inherited complexity?
Classifier-free guidance. CFG was originally introduced for class-conditional diffusion, where the model is pushed toward a chosen class at inference time; in T2I, the same idea is extended from class labels to text prompts (Ho and Salimans 2022). In formula form, $v_\mathrm{cfg} = v_u + s(v_c - v_u)$, where $v_c$ and $v_u$ are the predictions with and without the condition, and $s$ is the guidance scale. The unconditional branch $v_u$ is trained by randomly dropping the condition during training. ImageNet models often work with scales around 2-3; T2I needs stricter prompt following, so scales around 6 or higher are common.
Before touching anything, we set one simple rule: remove every part that seems to be removable. For example, we use no image tokenizer, cascaded generation process, prompt rewriting, RL, or DPO stages. Next, we discuss our choice of data, text encoder, and evaluation benchmarks.
Data. Standard practice today is to train on massive web-scale image-text datasets like LAION-5B or raw CC12M (Schuhmann et al. 2021; Schuhmann et al. 2022; Changpinyo et al. 2021). However, we found that their raw caption quality is intolerably low, which in practice severely slows down the training process. Instead, we rely on a publicly available VLM-recaptioned dataset: LLaVA-recaptioned CC12M.
Detailed recaptioning, however, comes with the cost of much longer sequences. After tokenization, the recaptioned prompts average about 100 tokens — up from less than 20 before recaptioning. We chose a 256-token text budget, which safely covers roughly 99% of the training prompts.
Text encoder. For text, we freeze a FLAN-T5-Large encoder (Chung et al. 2022). At just 341M parameters on the encoder side, it seems tiny and weak compared to the multi-billion-parameter encoders powering frontier T2I systems. However, we tried upgrading it — swapping in T5-XXL, Gemma2-2B, and Qwen3-VL-2B (Gemma Team et al. 2024; Bai et al. 2025) — but the larger models inflated the compute bill far more than they improved the numbers. So T5-L remained our compact yet effective choice.
Evaluations. We report four common benchmarks, each probing a different slice of the problem:
Our first pixel model was the most straightforward thing we could build: an SD3-style MM-DiT rescaled to our B/32 ablation budget, under 300M trainable generator parameters, with latents swapped for raw pixels (Esser et al. 2024). At 512×512 with 32×32 patches, the image becomes 256 tokens; add 256 text tokens and the whole sequence is 512 tokens, comfortably in the range of ImageNet-scale experiments.
Dropping the codec is an immediate win on compute. The latent B/32 forward costs about 1117 VAE GFLOPs + 262 backbone GFLOPs = 1379 GFLOPs per image; in pixels the codec is gone and the step falls to about 265 GFLOPs. To fit the pixel-space representation, we simply use JiT's timestep sampler and noise schedule.
With this change, the pixel model matches the latent baseline on FID at a fraction of the per-step cost. This was our first useful sign that pixel space itself is not the bottleneck: given the right calibration, it learns about as well as latent space.
| Ablation checkpoint | GFLOPs/fwd | FID ↓ |
|---|---|---|
| MM-DiT, latent | 1117 (VAE) + 262 (backbone) | 19.0 |
| MM-DiT, pixel | 265 | 18.7 |
GFLOPs are per image per forward for the image-side path. The latent row separates VAE and backbone cost; the pixel row removes the codec. Both use their own tuned noise schedule.
A design choice inherited from (Li and He 2025) turns out to be essential: for high-dimensional pixel-space diffusion, the network should directly predict the clean image, i.e., x-prediction. In high-dimensional pixel space, the loss space and the network's direct output space are separate choices: each can be written in clean-image x, noise ϵ, or velocity v coordinates. This gives nine valid combinations. Holding the B/32 recipe fixed, x-prediction is stable across loss spaces, while direct ϵ- or v-prediction collapses. We therefore use x-prediction with a v-loss throughout MiniT2I.
| Loss / prediction FID ↓ | x-pred | ϵ-pred | v-pred |
|---|---|---|---|
| x-loss | 15.3 | 523.8 | 229.1 |
| ϵ-loss | 15.2 | 524.8 | 231.4 |
| v-loss | 13.7 | 524.0 | 230.1 |
Measured on the final MiniT2I recipe. MSCOCO FID after 250K CC12M pretraining steps; lower is better. Columns specify the direct network output; rows specify where MSE loss is applied.
With a solid pixel baseline in hand, the next question was where to spend parameters. Starting from the MM-DiT baseline, we made two main architectural changes.
Text adapter blocks. We first add two small text-only Transformer adapter blocks before joint attention. The frozen T5 features are useful, but they were not trained to be consumed by a pixel denoiser, so these adapters give the model a cheap place to reshape the text tokens before they meet image tokens.
Removing AdaLN conditioning. SD3-style MM-DiT conditions on the prompt twice: first through joint attention between image and text tokens, and again through an AdaLN branch that turns pooled text and timestep embeddings into per-block scale, shift, and gate parameters. We found the second route unnecessary for a compact model. MM-JiT keeps the double-stream joint attention, but removes the per-block AdaLN branch; image and text tokens still use modality-specific normalizations and MLPs, and the noise level remains visible from the corrupted image input. This brings the backbone closer to a plain pre-norm Transformer, a design pattern widely used in recent generative Transformer models (Geng et al. 2025b; Lu et al. 2026; Zeng et al. 2026).
| Backbone step | Layers | Params | GFLOPs/fwd | FID ↓ |
|---|---|---|---|---|
| MM-DiT, pixel | 12 | 258 | 265 | 18.7 |
| + 2 text adapters | 12 | 276 | 273 | 17.4 |
| - AdaLN (MM-JiT, pixel) | 17 | 260 | 313 | 13.7 |
B/32 MSCOCO FID after 250K CC12M pretraining steps; lower is better. The architecture gets simpler and learns better, with a modest increase in forward compute.
This improvement started to push the FID close to values seen in existing T2I systems. However, that is when FID stopped telling the truth: although the model posts a respectable score, the samples look soft and averaged, and prompt following is very weak. The model had learned the broad visual world, yet it had not learned what a good answer to a prompt looks like. How can we fix it?
Prompt: "endless book labyrinth illustration for The City of Dreaming Books by walter moers bookshelf dungeon glowing mushrooms scenic light under city underground rustic old place"
Prompt: "fantastical microscopic fairy kingdom photographed by science lab, microscopic art, 8k, UHD"
Prompt: "rain pouring down on a vintage car from 1950 era and trees are in the background of the car"



The fix had nothing to do with architecture. CC12M buys breadth, but what the model never saw was a concentrated diet of images that actually do what their captions say. So we looked for public synthetic datasets that are small enough to overfit on as a fine-tuning set, but high-quality from both the image and caption sides. We ended up with three sources:
| Fine-tuning source | Approx. images |
|---|---|
| BLIP3o-60K (Chen et al. 2025b) | 58.9K |
| LAION DALL-E 3 Discord set (OpenDatasets 2023) | 19.0K |
| ShareGPT-4o-Image (Chen et al. 2025c) | 41.4K |
| Total | 119.3K |
Prompt: "endless book labyrinth illustration for The City of Dreaming Books by walter moers bookshelf dungeon glowing mushrooms scenic light under city underground rustic old place"
Prompt: "fantastical microscopic fairy kingdom photographed by science lab, microscopic art, 8k, UHD"
Prompt: "rain pouring down on a vintage car from 1950 era and trees are in the background of the car"






Prompt: "endless book labyrinth illustration for The City of Dreaming Books by walter moers bookshelf dungeon glowing mushrooms scenic light under city underground rustic old place"
Prompt: "fantastical microscopic fairy kingdom photographed by science lab, microscopic art, 8k, UHD"
Prompt: "rain pouring down on a vintage car from 1950 era and trees are in the background of the car"
We fine-tune on this mixture for 40K steps — pretty short compared to the 250K-step pretraining run, but against a 120K-image pool it is a heavy exposure to that high-quality distribution.
The shape should feel familiar from LLM training: pretraining buys coverage, supervised fine-tuning teaches the model what a good answer looks like — same objective, different data, different behavior (Ouyang et al. 2022). The ablation below confirms the division of labor; neither pool can do both jobs. Fine-tuning on more CC12M does nothing for alignment, pretraining on the alignment mix alone collapses coverage, and mixing the two dilutes both.
| Pretraining | Fine-tuning | Pretrain | Final | ||
|---|---|---|---|---|---|
| GE ↑ | DPG ↑ | GE ↑ | DPG ↑ | ||
| CC12M | 120K mix | 0.505 | 78.3 | 0.826 | 82.3 |
| CC12M | CC12M | 0.505 | 78.3 | 0.529 | 78.7 |
| 120K mix | 120K mix | 0.398 | 50.0 | 0.408 | 49.2 |
| CC12M + 120K mix (1:1) | 120K mix | 0.611 | 58.0 | 0.587 | 60.2 |
Another natural question to ask is: how long does each stage need? Both curves answer with a knee. Pretraining FID drops fast and saturates around 250K steps; fine-tuning gains level off around 30-40K. Our default schedule sits right at both knees — training longer buys very little.
(a) Pretraining length. FID is measured right after CC12M pretraining.
(b) Fine-tuning length from the same 250K-step checkpoint.
Every decision so far was made at B/32, our ablation workhorse with its tidy 256 image tokens. The natural next question is whether the same recipe survives a larger setting. B/16 keeps roughly the same parameter count but switches to 16×16 patches, which quadruples the tokens to 1024; L/16 holds that sequence length and grows the generator to 912M parameters. For details, please refer to our code release.
The answer is reassuring: the unchanged recipe trains stably at both settings, and the numbers come out stronger than the B/32 ablation.
| Model | Image tokens | Params | GFLOPs/fwd | FID ↓ | GenEval ↑ | DPG ↑ |
|---|---|---|---|---|---|---|
| MiniT2I-B/32 | 256 | 260M | 313 | 13.69 | 0.826 | 82.3 |
| MiniT2I-B/16 | 1024 | 258M | 570 | 10.51 | 0.873 | 84.2 |
| MiniT2I-L/16 | 1024 | 912M | 1493 | 8.99 | 0.883 | 85.9 |
GFLOPs are one generator forward per image. FID is read off after CC12M pretraining; GenEval and DPG-Bench after the 40K-step alignment stage.
The larger model also follows prompts more faithfully across multiple domains, as the comparison below shows.
Prompt: "A blackboard sign that says FRESH ROSES above red tulips in clay pots."
Prompt: "A green ceramic mug with exactly three marshmallows floating in hot chocolate, next to a silver spoon."
Prompt: "A studio photo of a red cube stacked on top of a blue cylinder, with a green sphere on the right."
Prompt: "A top-down picnic blanket with four strawberries arranged in a square, a glass of lemonade in the upper left, and a folded map in the lower right."
Prompt: "A blackboard sign that says OPEN LATE above stacked books."
Prompt: "A real beaver holding a white mug that has exactly three cute cartoon beavers on the side."
We must note here that, limited by the current experimental setup, we did not perform a comprehensive scaling study. Both B- and L-sized models share the same data recipe, and we did not scale our model up to real frontier-level compute. We leave a more thorough scaling study for future work.
Comparing T2I systems head-to-head is a mess: data, tokenizers, text encoders, resolution, sampler settings, and reporting conventions all differ. So, we keep our comparison within pixel-space T2I on 512 resolution.
| Model | Params | GenEval ↑ | DPG ↑ |
|---|---|---|---|
| PixelFlow-XL/4 (Chen et al. 2025a) | 882+800M | 0.60 | 77.9 |
| PixelDiT-T2I (Yu et al. 2026) | 1.3+2.6B | 0.78 | 83.7 |
| PixNerd-XXL/16 (Wang et al. 2025b) | 1.2+1.7B | 0.73 | 80.9 |
| PixelGen-XXL/16 (Ma et al. 2026) | 1.1+1.7B | 0.79 | — |
| DeCo-XXL/16 (Ma et al. 2025) | 1.1+1.7B | 0.86 | 81.4 |
| MiniT2I-B/16 | 258+341M | 0.87 | 84.2 |
| MiniT2I-L/16 | 912+341M | 0.88 | 85.9 |
While achieving strong image-quality benchmark numbers, MiniT2I also uses notably smaller training compute, as shown in the following figure. Without performance optimization, our ablation-level model, MiniT2I-B/32, takes about 3 days on 8 H100s to train; its total denoiser training FLOPs are roughly the same as the default JiT-L/32 ImageNet recipe (Li and He 2025).
However, we must point out that GenEval and DPG-Bench are no longer neutral referees for us. Our own ablations showed that a small alignment mixture swings these scores a lot. In contrast, PRISM-style evaluation and qualitative comparisons are more trustworthy (Fang et al. 2025).
The following table compares MiniT2I with standard industrial models on PRISM-Bench. MiniT2I-L/16 is genuinely respectable on style, composition, and imagination, but still fails at text rendering and named entities — precisely where a public-data recipe like ours runs thin. Improving these two weak spots likely means rebalancing the training data: text rendering can benefit from mixing a small slice of dedicated data such as TextAtlas5M into the alignment stage, as also tested by i1; named entities mostly require scaling up the data coverage (Zeng et al. 2026; Wang et al. 2025a).
| Model / source | Avg | Align | Aes | Imag. | Entity | Text | Style | Aff. | Comp. | Long |
|---|---|---|---|---|---|---|---|---|---|---|
| SDXL (Podell et al. 2023) | 57.0 | 60.1 | 54.0 | 44.3 | 68.0 | 27.9 | 72.1 | 72.6 | 70.0 | 44.3 |
| SD3-Medium (Esser et al. 2024) | 66.1 | 68.0 | 64.2 | 51.0 | 66.3 | 50.9 | 77.0 | 78.0 | 82.5 | 56.8 |
| FLUX.1-dev (Black Forest Labs 2024) | 68.5 | 72.1 | 64.9 | 54.2 | 66.2 | 62.6 | 73.4 | 79.4 | 81.6 | 62.1 |
| Qwen-Image (C. Wu et al. 2025) | 74.1 | 80.0 | 68.3 | 56.5 | 72.0 | 64.5 | 85.5 | 80.1 | 86.7 | 73.8 |
| MiniT2I-B/16 | 55.8 | 61.3 | 50.2 | 56.1 | 47.1 | 22.4 | 73.4 | 72.1 | 72.3 | 47.2 |
| MiniT2I-L/16 | 62.4 | 65.9 | 58.9 | 57.9 | 60.3 | 30.6 | 79.9 | 77.9 | 78.4 | 52.0 |
The visual gap between B/16 and L/16 is easier to see than the benchmark gap. After scaling, short text rendering starts to emerge without specialized fine-tuning, factual prompts become more accurate, and the model handles more art styles and imaginary compositions. For a wider set of L/16 generations, see the MiniT2I-L/16 gallery.
text rendering
style
imagination
knowledge & compositionCompared with a standard T2I model, SD3-Medium (~2B parameters), MiniT2I also shows relatively strong quality on imaginary scenes.
| Prompt | SD3-Medium | MiniT2I-B/16 | MiniT2I-L/16 |
|---|---|---|---|
| A satin jewelry box holding a tiny spiral staircase and glowing blue crystals. | ![]() |
![]() |
![]() |
| Two figures with spherical heads reading under a tree-library. | ![]() |
![]() |
![]() |
| Great Wall of China under a Van Gogh-inspired starry sky. | ![]() |
![]() |
![]() |
| A sunken ship with the large letters VAE visible on the hull. | ![]() |
![]() |
![]() |
One caveat is worth spelling out: the alignment stage, analogous to supervised fine-tuning for LLMs, can sharply reduce generation diversity.
Prompt: "An anime illustration of a white rabbit sitting on a grassy field under a starry night sky. The rabbit has big round eyes and fluffy fur. The scene is illuminated by the soft glow of fireflies, creating a magical atmosphere."
A baseline earns its keep when ordinary follow-up tricks still work on it, so we tried two: downstream adaptation via LoRA, and few-step sampling via Mean Flow.
LoRA. The worry with a small model is that it may not contain enough world knowledge to adapt cleanly. So we tried, and the results are surprisingly good. We fine-tune MiniT2I-B/16 on two ~1K-image captioned datasets, Naruto BLIP captions and Pokemon BLIP captions (Hu et al. 2021), attaching adapters to the attention, MLP, and text projection layers and training only the adapters for 400 steps at batch size 16. The style transfers and the prompts keep working.
Mean Flow distillation. The default 100-step Euler sampler is fine for research, but it is painful for real interaction. To fix the speed bottleneck, we turned to Mean Flow, a popular distillation method that learns an average velocity field for few-step generation (Geng et al. 2025a). Initializing the student with the teacher's weights, we followed the pixel Mean Flow approach (Lu et al. 2026) to distill MiniT2I-B/16 into a 4-step pixel-space model. The process took just a 50K-step run — a fraction of the teacher's training cost. After distillation, throughput improved by ~50×, while visual quality and benchmark scores held remarkably steady.
The most surprising takeaway was that the distilled quality is largely agnostic to the dataset. When we ran the distillation using our standard pretraining dataset, it achieved approximately the same visual quality but yielded even higher diversity in the generated images.
| Model | NFE | Throughput (img/s) | GenEval ↑ | DPG ↑ |
|---|---|---|---|---|
| MiniT2I-B/16, Euler | 2×100 | 2.625 | 0.874 | 84.57 |
| MiniT2I-B/16, Mean Flow | 4 | 128.814 | 0.842 | 83.23 |
Throughput is measured on TPU v4-8 with DDP, global batch size 64, and text encoder excluded. The Euler row counts classifier-free guidance as two denoiser evaluations per sampler step.
100-step
4-stepastronaut, red flag, floating island
100-step
4-stepimpressionist sailboats
100-step
4-stepminiature planetarium in a walnut shell
100-step
4-stepsushi map of the United States
Cautiously, yes. Removing the codec makes the model conceptually clean and puts the raw dimensionality of images directly in play — both the opportunity and the cost of pixel space. At 512×512, we use 16×16 patches for a manageable 1024 image tokens, and the same architecture can be applied at 1024×1024 by simply doubling the patch size. But pushing much further, to 4K and beyond, will still require real engineering: either much longer sequences, larger and harder-to-denoise patches, or more efficient attention. The advantage is not that high resolution becomes free, but that the bottleneck is exposed inside the generator itself, with no separate codec ceiling in the way.
The real challenge is guidance. T2I needs a large CFG scale (around 6 is common practice for both SD3 and our model), and CFG is ultimately a brute-force trick: a linear extrapolation away from the model's own predictions, which can push individual tokens off the data manifold in inconsistent directions. A latent system can hide some of that behind the decoder; in pixel space, the artifacts land directly in the output (as shown in the following figure).
Nevertheless, we believe pixel-space diffusion remains a promising direction, for two reasons. First, it can be truly lossless. A latent generator is upper-bounded by the reconstruction quality of its VAE, and as denoisers grow stronger, that ceiling may become a real bottleneck, especially for image editing, where fine details must survive a round trip through the codec. Second, it collapses training into one stage. The standard practice is two: first train a VAE, then train a denoiser inside its latent space, even though the two stages optimize mismatched objectives; a VAE trained for reconstruction is not necessarily a good space to diffuse in (Skorokhodov et al. 2025). The bet may also extend beyond research (Reve 2026).
If this project changed our minds about anything, it is this: text-to-image is now both powerful and accessible. For the compute cost of a few ImageNet runs, we can work on a task that actually reflects the problems industry systems are built around. The broader the task, the harder it is for an idea to survive — and that is exactly why we prefer T2I over class-conditional generation. Most methods that buy a marginal ImageNet FID improvement were never going to transfer to broader vision tasks anyway. T2I catches those fragile ideas early.
The point we most want to land is this: we do not have to — and arguably cannot — "earn" our way to T2I by first perfecting ImageNet FID. And diving into T2I no longer means a painful stretch of trial and error. The baseline is public, and the recipe is short. We hope this work makes T2I feel less like a closed industrial artifact and encourages more research effort to run real experiments on it.
Looking ahead, the biggest unsolved problem is still data. Better alignment data and benchmarks that don't just reward a narrow synthetic aesthetic will do far more for the field than adding another layer of mystery machinery. Beyond that, there are natural extensions for this minimalist approach: direct-pixel image editing without the codec round trip, unified generation/understanding models, and scaling up to video or 3D. Those frontiers will be harder because the data gets noisier and compute requirements rise. But the core message remains: T2I is no longer a walled garden you can only cite from the outside. Please try it, break it, and make the next baseline even simpler!
We gratefully acknowledge the Google TPU Research Cloud (TRC) for granting TPU access, and MIT CSAIL for supporting GPU resources. X. Wang, H. Zhao, K. Zhou and L. Ma are supported by the MIT Undergraduate Research Opportunities Program (UROP). We thank Zhengyang Geng, Tianhong Li, Boya Zeng, Qiao Sun, Zhicheng Jiang and Dingning Cao for helpful discussions and feedback.
@misc{minit2i2026,
title = {MiniT2I: A Minimalist Baseline for Text-to-Image Generation},
author = {Wang, Xianbang and Zhao, Hanhong and Lu, Yiyang and Zhou, Kangyang and Ma, Linrui and He, Kaiming},
year = {2026},
url = {https://peppaking8.github.io/#/post/minit2i}
}