aimeri / spoomplesmaxx-cardmaker-v1

huggingface.co
Total runs: 83
24-hour runs: -2
7-day runs: -16
30-day runs: 44
Model's Last Updated: June 06 2026
text-generation

Introduction of spoomplesmaxx-cardmaker-v1

Model Details of spoomplesmaxx-cardmaker-v1

SpoomplesMaxx Card Maker V1

A fine-tune of ibm-granite/granite-4.1-8b-base that turns a short, open-ended prompt into a complete SillyTavern character card. Give it a concept — an archetype, a name and a few constraints, or just a one-liner — and it generates a full V2/V3-style card (description, personality, scenario, first message, example messages, and sometimes a lorebook).

Model Details
  • Developed by: aimeri
  • Base model: ibm-granite/granite-4.1-8b-base (Apache 2.0)
  • Language: English
  • Finetuned from a base (not instruct) checkpoint so output is the card itself, with no assistant-style preamble, disclaimers, or refusals.
  • License: Apache 2.0
Uses
Direct Use

Generating SillyTavern-compatible character cards on demand from a natural-language request. The intended workflow is "describe a character, get a card," with the card output piped through a structural validator before import.

Out-of-Scope Use

This is a single-turn card generator , not a roleplay or chat model — the assistant turn is a static card definition, not a conversation. It is not intended for multi-turn roleplay, as a general-purpose assistant, or for factual question answering.

How to Get Started

The model was trained without a system prompt , so the cleanest usage is user-only. Use the chat template and sampling settings below.

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer  # transformers >= 5.0

model_id = "aimeri/spoomplesmaxx-cardmaker-v1"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.bfloat16, device_map="auto")

messages = [
    {"role": "user", "content": "Create a character card for a grumpy lighthouse keeper."},
]
inputs = tok.apply_chat_template(
    messages, add_generation_prompt=True, return_tensors="pt", return_dict=True
).to(model.device)

out = model.generate(
    **inputs,
    max_new_tokens=8192,
    do_sample=True,
    temperature=1.0,
    top_k=64,
    top_p=0.95,
    repetition_penalty=1.1,
)
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Cards that include a character_book can be long; if generation cuts off mid-card, raise max_new_tokens . The merged 16-bit weights also serve directly under vLLM ( vllm serve aimeri/spoomplesmaxx-cardmaker-v1 ), again with no system message.

Training Details
Procedure

LoRA fine-tune with Unsloth + TRL SFTTrainer , using the official Granite 4.1 chat template. Loss was computed on the assistant (card) completion only via train_on_responses_only .

LoRA configuration

Setting Value
Rank r 16
lora_alpha 22
lora_dropout 0
Target modules all-linear
Rank-stabilized LoRA enabled
Bias none

Training hyperparameters

Setting Value
Epochs 2 (848 optimizer steps)
Per-device batch size 1
Gradient accumulation 8 (effective batch size 8)
Max sequence length 8192
Optimizer adamw_8bit (β₁ 0.9, β₂ 0.999, ε 1e-8)
Learning rate 1e-4, cosine schedule
Warmup steps 25
Weight decay 0.001
Max grad norm 1.0
Precision bf16
Seed 1985
Frameworks Unsloth 2026.6.1, Transformers 5.5.0, TRL, PEFT, PyTorch 2.10
Results

Evaluation loss on the 5% held-out split fell from the base checkpoint to the final model over the two epochs (most of the gain came in the first ~100 steps, with a slow grind afterward):

Checkpoint Eval loss
Base (step 0, eval_on_start ) 2.234
Step 100 1.704
Step 400 1.656
Final (step 848) 1.641

Final mean training loss was ~1.57. Total wall-clock training time was ~4.6 hours.

Evaluation

Quality was judged primarily behaviorally rather than by a single metric — eval loss is a weak proxy for card quality on a held-out set this small (~178 rows). A fixed prompt battery probed the behaviors that matter for this task:

  • Structure & completeness — clean, parseable cards with all expected fields on easy archetypes.
  • Constraint adherence — exact name / age / occupation, and a character's voice actually showing up in first_mes and mes_example rather than drifting generic.
  • Sparse invention — building a full, internally consistent card from a near-empty prompt.
  • First-message craft — second-person address to {{user}} , scene-setting, action formatting, in-voice dialogue, and a natural hand-off.
  • Register — antagonist/villain cards produced in-character, with no disclaimers, moralizing, or assistant-voice leakage. This is the main reason the model was trained from a base rather than an instruct checkpoint.
Bias, Risks, and Limitations
  • Mature content. This model was trained with a mix of Safe for Work and Not Safe For Work cards, and it may generate objectionable content. Please use discretion when generating new cards.
  • Structural validity is not guaranteed. Output is generated text, not schema-validated card JSON. Run it through a parser/validator before importing into SillyTavern.
  • Card conventions. Output uses {{user}} / {{char}} macros and assumes a SillyTavern runtime.
  • Single-turn only. This generates a card, not a conversation; it is not itself a roleplay partner.
  • Inherited bias. The model carries the biases of both the base model and the curated card sources, including their genre, aesthetic, and demographic skew. "High quality" reflects a subjective curation judgment.
Citation

If you use this model, please reference this repository and the base model .

Runs of aimeri spoomplesmaxx-cardmaker-v1 on huggingface.co

83
Total runs
-2
24-hour runs
1
3-day runs
-16
7-day runs
44
30-day runs

More Information About spoomplesmaxx-cardmaker-v1 huggingface.co Model

More spoomplesmaxx-cardmaker-v1 license Visit here:

https://choosealicense.com/licenses/apache-2.0

spoomplesmaxx-cardmaker-v1 huggingface.co

spoomplesmaxx-cardmaker-v1 huggingface.co is an AI model on huggingface.co that provides spoomplesmaxx-cardmaker-v1's model effect (), which can be used instantly with this aimeri spoomplesmaxx-cardmaker-v1 model. huggingface.co supports a free trial of the spoomplesmaxx-cardmaker-v1 model, and also provides paid use of the spoomplesmaxx-cardmaker-v1. Support call spoomplesmaxx-cardmaker-v1 model through api, including Node.js, Python, http.

spoomplesmaxx-cardmaker-v1 huggingface.co Url

https://huggingface.co/aimeri/spoomplesmaxx-cardmaker-v1

aimeri spoomplesmaxx-cardmaker-v1 online free

spoomplesmaxx-cardmaker-v1 huggingface.co is an online trial and call api platform, which integrates spoomplesmaxx-cardmaker-v1's modeling effects, including api services, and provides a free online trial of spoomplesmaxx-cardmaker-v1, you can try spoomplesmaxx-cardmaker-v1 online for free by clicking the link below.

aimeri spoomplesmaxx-cardmaker-v1 online free url in huggingface.co:

https://huggingface.co/aimeri/spoomplesmaxx-cardmaker-v1

spoomplesmaxx-cardmaker-v1 install

spoomplesmaxx-cardmaker-v1 is an open source model from GitHub that offers a free installation service, and any user can find spoomplesmaxx-cardmaker-v1 on GitHub to install. At the same time, huggingface.co provides the effect of spoomplesmaxx-cardmaker-v1 install, users can directly use spoomplesmaxx-cardmaker-v1 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

spoomplesmaxx-cardmaker-v1 install url in huggingface.co:

https://huggingface.co/aimeri/spoomplesmaxx-cardmaker-v1

Url of spoomplesmaxx-cardmaker-v1

spoomplesmaxx-cardmaker-v1 huggingface.co Url

Provider of spoomplesmaxx-cardmaker-v1 huggingface.co

aimeri
ORGANIZATIONS

Other API from aimeri

huggingface.co

Total runs: 876
Run Growth: 876
Growth Rate: 100.00%
Updated:July 07 2026
huggingface.co

Total runs: 0
Run Growth: 0
Growth Rate: 0.00%
Updated:June 28 2026