Moss Image Psychedelic LoRA
A psychedelic-pop illustration LoRA for MOSS-Image-SFT or MOSS-Image-Base, with MOSS-Image-SFT preferred for inference. It emphasizes saturated neon color, surreal subjects, bold graphic forms, luminous details, rhythmic patterns, and dark or high-contrast backgrounds.
A GGUF conversion is also available here: https://huggingface.co/axiomofmind/Moss-image-psychedelic-lora-GGUF which can be used with MOSS-Image-SFT-GGUF https://huggingface.co/axiomofmind/Moss-Image-SFT-GGUF
Bundled merged model (scale 1.0)
For convenience, merged-model/ contains a complete standalone Diffusers model with this LoRA fused into OpenMOSS-Team/MOSS-Image-SFT at scale 1.0. It was reloaded and validated without a separate adapter. The merged model has a fixed strength and is about 25.4 GiB; users who want a smaller download or adjustable strength should use the LoRA files at the repository root.
The merged model still expects the moss_psychpop_style trigger phrase at the beginning of the prompt. Download only the merged bundle with:
hf download axiomofmind/Moss-image-psychedelic-lora \
--include "merged-model/**" \
--local-dir ./Moss-image-psychedelic-lora
Then load ./Moss-image-psychedelic-lora/merged-model as the local model path with the MOSS custom Diffusers pipeline. No LoRA path or runtime LoRA scale is needed.
ComfyUI compatibility
The root pytorch_lora_weights.safetensors file uses Diffusers / PEFT key names and is intended for the Diffusers workflow. ComfyUI's native MOSS-Image model uses a different internal key namespace, so loading that file directly can produce lora key not loaded warnings.
For native ComfyUI, download MOSS-Image-Psychedelic-LoRA-ComfyUI.safetensors. It contains the same 504 LoRA tensors and weights as the root adapter, with only the key prefix changed from transformer.layers... to diffusion_model.layers....
| File | Size | Tensors | SHA-256 |
|---|---|---|---|
MOSS-Image-Psychedelic-LoRA-ComfyUI.safetensors |
70.93 MiB | 504 | 43584190c0d0ba4d3ef124c78bf5ddb1ecc942a6d872b79134a1b2d1bd5dec8a |
- Update ComfyUI to commit
b1a247cor newer, which includes native MOSS-Image support. - Put the ComfyUI file in
ComfyUI/models/loras/. - Load it with the standard LoRA loader using model strength
1.0and CLIP strength0.0. - Begin the prompt with
moss_psychpop_style.
hf download axiomofmind/Moss-image-psychedelic-lora \
MOSS-Image-Psychedelic-LoRA-ComfyUI.safetensors \
--local-dir ./ComfyUI/models/loras
The rekeying is namespace-only: tensor shapes, dtypes, and values are unchanged. The included scripts/convert_moss_lora_for_comfyui.py script documents and reproduces the conversion. The separate GGUF adapter is for stable-diffusion.cpp, not ComfyUI's native LoRA loader. The bundled merged Diffusers model avoids runtime LoRA key matching, but its sharded Diffusers directory is not a drop-in replacement for a LoRA in a stock ComfyUI workflow.
Merge at a different strength
The included scripts/merge_moss_lora.py utility can create another standalone model from the original SFT model and the root adapter files. For example, to bake scale 1.2:
hf download OpenMOSS-Team/MOSS-Image-SFT --local-dir ./MOSS-Image-SFT
hf download axiomofmind/Moss-image-psychedelic-lora \
adapter_config.json pytorch_lora_weights.safetensors scripts/merge_moss_lora.py \
--local-dir ./Moss-image-psychedelic-lora
python ./Moss-image-psychedelic-lora/scripts/merge_moss_lora.py \
--model-path ./MOSS-Image-SFT \
--lora-path ./Moss-image-psychedelic-lora \
--output ./Moss-image-psychedelic-merged-s1p2 \
--scale 1.2 \
--device cuda:0
Use a new output directory for each strength. After merging, the chosen scale is permanent; continue using moss_psychpop_style in prompts.
Recommended settings
- Trigger:
moss_psychpop_style - Preferred underlying model:
OpenMOSS-Team/MOSS-Image-SFT - Also compatible with:
OpenMOSS-Team/MOSS-Image-Base - LoRA scale:
1.0 - Inference steps:
30 - Guidance scale:
3.0 - Resolution:
1024 x 1024 - Negative prompt: empty
Place the trigger at the beginning of the prompt. Scale 1.0-1.2 produced the most consistently preferred results during local evaluation. Lower scales can preserve more of the base model, while higher scales strengthen the palette and graphic treatment but may over-stylize the subject.
The adapter was trained against MOSS-Image-Base, which remains the training parent recorded in adapter_config.json and the model-card metadata. Its transformer targets are also compatible with MOSS-Image-SFT, and both configurations were tested successfully. The SFT + LoRA combination is the recommended way to use this release.
Examples
Galaxy ram — seed 42
Glowing mushroom — seed 42
Rainbow portal dragon — seed 42
Neon Buddha — seed 12345
The four featured examples above were generated with MOSS-Image-SFT plus this exact 1,250-step LoRA checkpoint at scale 1.0, 30 inference steps, guidance scale 3.0, and 1024 x 1024 resolution.
Additional examples at scale 1.2
Scale 1.2 applies the psychedelic style more strongly while retaining the same checkpoint and generation settings. All three examples below use image seed 42.
Psychedelic portrait
Prompt: moss_psychpop_style, a woman with dark hair and pink sunglasses sits cross-legged in a blue jumpsuit covered in yellow suns and black-and-white splatters, her hand touching her face against a backdrop of a giant yellow eye sun, pink palm trees, and wavy red-and-blue water.
Alien road trip
Prompt: moss_psychpop_style, a retro convertible car with two alien passengers drives along a winding road through a vibrant cosmic landscape filled with swirling neon colors, planets, and abstract shapes.
Astronaut landscape
Prompt: moss_psychpop_style, an astronaut walks along a rainbow-striped path through a surreal alien landscape of colorful mushrooms and cacti, beneath a large orange cratered moon and swirling neon ribbons in a starry sky.
These featured scale-1.2 images were generated with MOSS-Image-SFT plus the LoRA at 30 inference steps, guidance scale 3.0, and 1024 x 1024 resolution.
Base, SFT, and LoRA comparison
The table compares three explicitly different generation conditions:
- MOSS-Image-Base + LoRA: a supported alternative using the original training parent, with
moss_psychpop_stylein the prompt. - Stock MOSS-Image-SFT: SFT without the LoRA and with the trigger removed.
- MOSS-Image-SFT + LoRA: the preferred inference configuration, with the trigger included.
All three columns use the same descriptive prompt, image seed, resolution, inference steps, and guidance scale. Samples 0-3 use LoRA scale 1.0; samples 4-6 use LoRA scale 1.2 in both LoRA columns.
| Sample | MOSS-Image-Base + LoRA | Stock MOSS-Image-SFT | MOSS-Image-SFT + LoRA (preferred) |
|---|---|---|---|
| 0 — Galaxy ram | |||
| 1 — Glowing mushroom | |||
| 2 — Rainbow portal dragon | |||
| 3 — Neon Buddha | |||
| 4 — Psychedelic portrait | |||
| 5 — Alien road trip | |||
| 6 — Astronaut landscape |
Use with Diffusers and PEFT
MOSS-Image uses a custom Diffusers pipeline. The adapter can be attached to its transformer with PEFT:
import json
import torch
from diffusers import DiffusionPipeline
from huggingface_hub import hf_hub_download
from peft import LoraConfig, inject_adapter_in_model, set_peft_model_state_dict
from peft.tuners.lora.layer import LoraLayer
from safetensors.torch import load_file
repo_id = "axiomofmind/Moss-image-psychedelic-lora"
base_model = "OpenMOSS-Team/MOSS-Image-SFT" # Preferred; Base is also supported.
lora_scale = 1.0
config_path = hf_hub_download(repo_id, "adapter_config.json")
weights_path = hf_hub_download(repo_id, "pytorch_lora_weights.safetensors")
with open(config_path, encoding="utf-8") as file:
config = json.load(file)
pipe = DiffusionPipeline.from_pretrained(
base_model,
custom_pipeline="pipeline_moss_image",
trust_remote_code=True,
torch_dtype={"default": torch.bfloat16, "vae": torch.float32},
)
pipe.scheduler = type(pipe.scheduler).from_config(pipe.scheduler.config)
inject_adapter_in_model(
LoraConfig(
r=config["r"],
lora_alpha=config["lora_alpha"],
target_modules=config["target_modules"],
),
pipe.transformer,
)
state = {
key.removeprefix("transformer."): value
for key, value in load_file(weights_path, device="cpu").items()
}
_, unexpected = set_peft_model_state_dict(pipe.transformer, state)
if unexpected:
raise RuntimeError(f"Unexpected LoRA tensors: {unexpected[:5]}")
for layer in pipe.transformer.modules():
if isinstance(layer, LoraLayer):
layer.set_scale("default", lora_scale)
pipe.transformer.to(torch.bfloat16)
pipe.to("cuda")
prompt = (
"moss_psychpop_style, a neon purple and pink ram with a green eye "
"stands atop a glowing mountain, surrounded by stars and swirling clouds."
)
image = pipe(
prompt,
negative_prompt="",
width=1024,
height=1024,
num_inference_steps=30,
guidance_scale=3.0,
uncond_skip_layers=[22],
generator=torch.Generator("cpu").manual_seed(42),
).images[0]
image.save("moss_psychedelic.png")
Training details
- Training base model:
OpenMOSS-Team/MOSS-Image-Base - Preferred inference model:
OpenMOSS-Team/MOSS-Image-SFT - Alternate inference model:
OpenMOSS-Team/MOSS-Image-Base - Selected checkpoint: 1,250 steps
- Training images: 69
- Resolution: 1024
- LoRA rank / alpha: 16 / 16
- Target modules: transformer attention projections and feed-forward projections
- Optimizer: AdamW
- Learning rate:
1e-4 - Scheduler: constant with warmup
- Batch size / gradient accumulation: 1 / 1
- Weight decay:
0.01 - Training seed: 42
- Caption dropout: 0
- Random horizontal flip: disabled
- Training environment: local hardware
Intended use and limitations
This adapter is intended for creative image generation and style experimentation. It is strongest with surreal illustration, poster-like compositions, saturated colors, organic forms, celestial motifs, and high-contrast scenes.
License
The adapter files are provided under the Apache License 2.0, matching the base model. This is an independent community LoRA and is not an official OpenMOSS release. The license does not grant rights to third-party source material, trademarks, or depicted persons.