How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="ressl/MiniMax-M3-uncensored", trust_remote_code=True)
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
            {"type": "text", "text": "What animal is on the candy?"}
        ]
    },
]
pipe(text=messages)
# Load model directly
from transformers import AutoProcessor, AutoModelForMultimodalLM

processor = AutoProcessor.from_pretrained("ressl/MiniMax-M3-uncensored", trust_remote_code=True)
model = AutoModelForMultimodalLM.from_pretrained("ressl/MiniMax-M3-uncensored", trust_remote_code=True)
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
            {"type": "text", "text": "What animal is on the candy?"}
        ]
    },
]
inputs = processor.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=40)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

MiniMax-M3-uncensored

MiniMax-M3-uncensored (BF16)

TL;DR: an uncensored build of MiniMaxAI/MiniMax-M3 (428B-parameter MoE, 23B active), with 0 hard refusals on harmful prompts while the model's capabilities stay intact. Full-precision BF16, 796 GB.

⚠️ This model is genuinely uncensored, it will comply with requests a stock model refuses.

Intended use, the constructive side. An assistant that does not refuse is genuinely useful for ethical hacking, security research, and penetration testing: red-teaming, analyzing malware and exploit code, writing detection/YARA rules, reviewing vulnerabilities, and studying attack techniques without the model bailing out mid-task. Use it lawfully and responsibly, you are accountable for what you do with it.

Facts & figures

Base model MiniMaxAI/MiniMax-M3 (428B total / 23B active, MoE, multimodal, 1M context)
Precision BF16 (796 GB, 59 shards)
Effective refusals 0/16 hard-refusals on harmful prompts (mlabonne/harmful_behaviors); the base model deliberates or refuses
Modified weights attention o_proj + every residual-writing down_proj (dense, shared expert, and all 128 routed experts per MoE layer), all 60 layers
Coherence intact (multimodal, reasoning and MoE routing preserved)

Uncensoring, verified

Generation on harmful prompts, hard-refusal phrases only ("I cannot" / "I won't" etc.):

Prompt set Prompts Hard refusals
mlabonne/harmful_behaviors 16 0/16 (0.0%)

The abliteration is a weight property: it survives quantization, so downstream NVFP4 / GGUF builds keep the same behavior.

ℹ️ MiniMax-M3 has a reasoning mode (<mm:think>). The model thinks before answering; the uncensored build reasons about how to fulfill a request rather than whether to refuse. For direct answers, disable thinking in your client.

Run it with transformers

from transformers import AutoModelForImageTextToText, AutoTokenizer, AutoConfig
tok = AutoTokenizer.from_pretrained("ressl/MiniMax-M3-uncensored")
cfg = AutoConfig.from_pretrained("ressl/MiniMax-M3-uncensored")
model = AutoModelForImageTextToText.from_pretrained(
    "ressl/MiniMax-M3-uncensored", config=cfg, dtype="bfloat16", device_map="auto")

Run it with vLLM

vllm serve ressl/MiniMax-M3-uncensored \
  --tensor-parallel-size 8 --tool-call-parser minimax_m3 --reasoning-parser minimax_m3 --trust-remote-code

MiniMax-M3 needs a recent vLLM with M3 support (for RTX PRO 6000 / Blackwell see 0xSero/minimax-m3-sm120). The 428B MoE needs multi-GPU at BF16; an NVFP4 quant (NVIDIA ModelOpt, following nvidia/MiniMax-M3-NVFP4) shrinks it to ~230 GB and runs on a single Blackwell node.

Quality & limitations

  • 0/16 hard refusals on a harmful-prompt sample; not a full capability benchmark.
  • BF16 is large (796 GB); for single-node serving, produce an NVFP4 quant via NVIDIA's ModelOpt recipe on this checkpoint (the abliteration is a weight property and survives quantization).
  • The reasoning mode is on by default (see the note above).

❤️ Support

Producing and validating an uncensored build of a brand-new 428B MoE was a lot of work. If it's useful to you, I'd genuinely appreciate your support on Patreon 🙏, more at ressl.ch.

License & credits

License inherited from the base model by MiniMaxAI. Uncensoring and validation by Robert Ressl (Hugging Face · Website · LinkedIn · Patreon).

Downloads last month
208
Safetensors
Model size
427B params
Tensor type
BF16
·
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ressl/MiniMax-M3-uncensored

Finetuned
(10)
this model
Quantizations
1 model