This project fine-tunes Flux.1-dev toward Google's open-source Noto emoji visual language. The model uses the trigger word NOTO, making it possible to prompt for objects and characters that do not exist in the original emoji set while keeping the flat, friendly Noto style.


Training pipeline
The repo contains the supporting scripts around the model, not only the final examples:
preprocess.pycomposites every transparent PNG onto a white background so the training images are consistent.generate_img_caption.pyruns BLIP over each emoji and writes paired text captions beside the images.train.pystarts a Replicate training job using the Flux LoRA trainer.config.yamlcaptures a local trainer configuration with aNOTOtrigger word, LoRA rank 16, 512px training data, flowmatch scheduling, and EMA enabled.
Result
The fun part was watching the LoRA generalise past the dataset. Prompts such as NOTO bear wearing space suit emoji and NOTO flying-horse emoji produced clean images that still felt like they belonged in the Noto family. The exercise gave me a complete pass through the small-model adaptation loop: dataset cleanup, caption generation, trainer configuration, hosted inference, and publishing.
Weights are available on Hugging Face.