Downloads · 30 days
15
10% of all-time downloads
TK17250/game-comment-vlm
game-comment-vlm is a image-text-to-text model from TK17250. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
A vision-language model fine-tuned to act as a live game commentator — it looks at a gameplay screenshot and generates a short, natural, spoken-style comment reacting to the moment, similar to how a live streamer or e…
Downloads · 30 days
15
10% of all-time downloads
All-time downloads
152
Public
Parameters
10.7B
21.4 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors21.3 GB · 100%
From the Hugging Face model README
A vision-language model fine-tuned to act as a live game commentator — it looks at a gameplay screenshot and generates a short, natural, spoken-style comment reacting to the moment, similar to how a live streamer or esports caster would react in real time.
This model was trained 2x faster with Unsloth and Hugging Face's TRL library.
The model is trained specifically on gameplay screenshots from three titles:
| Game | Genre |
|---|---|
| Fortnite | Battle Royale |
| Rocket League | Vehicular Soccer |
| VALORANT | Tactical FPS |
Commentary style and vocabulary (e.g. weapon names, map callouts, in-game terminology) are tailored to these three games. Performance on other games or genres outside this scope is not guaranteed, since the training data does not cover them.
Minimax-M3 as a teacher model, then quality-filtered using a 0–5 relevance/quality score before training.from transformers import AutoProcessor, AutoModelForVision2Seq
from PIL import Image
import torch
processor = AutoProcessor.from_pretrained("TK17250/game-comment-vlm")
model = AutoModelForVision2Seq.from_pretrained(
"TK17250/game-comment-vlm",
torch_dtype=torch.bfloat16,
device_map="auto",
)
image = Image.open("your_gameplay_screenshot.jpg").convert("RGB")
system_prompt = (
"You are a passionate live game commentator. You watch a screenshot from a "
"video game and give a short, natural spoken-style comment on the gameplay "
"moment, reacting to how good or bad the play looks."
)
user_prompt = "Comment on this gameplay moment."
messages = [
{"role": "user", "content": [
{"type": "image"},
{"type": "text", "text": f"{system_prompt}\n\n{user_prompt}"}
]}
]
input_text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(image, input_text, add_special_tokens=False, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=128, temperature=0.7, min_p=0.1)
print(processor.decode(output[0], skip_special_tokens=True))
Note: This model's chat template does not support a separate
systemrole alongside image inputs. Combine the persona/system instruction directly into theusermessage text, as shown above.
from unsloth import FastVisionModel
from transformers import TextStreamer
model, tokenizer = FastVisionModel.from_pretrained("TK17250/game-comment-vlm", load_in_4bit=False)
FastVisionModel.for_inference(model)
# ... build messages/inputs as above using `tokenizer` instead of `processor`
_ = model.generate(**inputs, streamer=TextStreamer(tokenizer, skip_prompt=True), max_new_tokens=128)