t22000t/slay-the-spire-2-card-multimodal-embeddings
Slay the Spire 2: Multimodal Card Embeddings Joint text+image embeddings for every card in Slay the Spire 2 (Early Access), produced by Qwen/Qwen3-VL-Embedding-2B. One unit-normalized 1024-D vector per card. Mechanically AND visually similar cards land near each other; cards across STS1 and STS2 share the coordinate system. This is the multimodal-embeddings dataset. For text-only embeddings or the underlying card metadata + portraits, see: t22000t/slay-the-spire-2-cards -… See the full description on the dataset page: https://huggingface.co/datasets/t22000t/slay-the-spire-2-card-multimodal-embeddings.
Slay the Spire 2: Multimodal Card Embeddings
Joint text+image embeddings for every card in Slay the Spire 2 (Early Access), produced by `Qwen/Qwen3-VL-Embedding-2B`. One unit-normalized 1024-D vector per card. Mechanically AND visually similar cards land near each other; cards across STS1 and STS2 share the coordinate system.
This is the multimodal-embeddings dataset. For text-only embeddings or the underlying card metadata + portraits, see:
- [`t22000t/slay-the-spire-2-cards`](https://huggingface.co/datasets/t22000t/slay-the-spire-2-cards) - metadata + features + inline portrait art
- [`t22000t/slay-the-spire-2-card-embeddings`](https://huggingface.co/datasets/t22000t/slay-the-spire-2-card-embeddings) - text-only embeddings via Qwen3-Embedding-0.6B
All three are joinable on id. For the STS1 multimodal counterpart, see `t22000t/slay-the-spire-1-card-multimodal-embeddings`.
The full bundle (6 datasets across both games + 3 Gradio demos) is in the **slaythespire-codex collection**.
⚠️ Early Access, content is unstable. Slay the Spire 2 entered Early Access on March 5, 2026. Cards are added, removed, and rebalanced regularly. Always check provenance.json for the snapshot version.Dataset Description
- Repository: `timothy22000/slaythespire-codex`
- Embedding model: `Qwen/Qwen3-VL-Embedding-2B` (Apache 2.0)
- Card count: ~576 (varies by patch). All cards have portraits at the time of writing.
- Vector dim: 1024 (Matryoshka-truncated from 2048; matches the text-embedding repos for consistency)
- License: CC BY 4.0; game IP belongs to Mega Crit
Data Fields
Embedding recipe
Identical to the STS1 multimodal repo so the two are coordinate-compatible:
- Model
Qwen/Qwen3-VL-Embedding-2B, frozen. - Image preprocessing: decode PNG → RGB → resize-with-pad to 512×512 on neutral grey.
- Same task instruction (mechanics primary, art secondary).
- Matryoshka truncation to 1024-D + re-normalize.
See the STS1 multimodal repo for the full instruction wording and rationale.
Loading
from datasets import load_dataset
import numpy as np
ds = load_dataset("t22000t/slay-the-spire-2-card-multimodal-embeddings", split="train")
emb = np.array(ds["multimodal_embedding"], dtype=np.float32)
print(emb.shape) # (~576, 1024)Considerations for Using the Data
- Patch drift. STS2 cards turn over in Early Access; vectors only describe the snapshot in
provenance.json. Don't compare numerical analyses across snapshots without aligning on game version. - Lookalike bias. See the STS1 multimodal repo for discussion. Mitigated by the instruction wording but worth evaluating if you observe over-clustering on art alone.
- English only in this snapshot.
- Game IP. Slay the Spire 2 is © Mega Crit. This dataset ships factual reference data + numerical embedding vectors only.
Citation
@dataset{sts2_multimodal_card_embeddings,
title = {Slay the Spire 2: Multimodal Card Embeddings},
author = {timothy22000},
year = {2026},
url = {https://huggingface.co/datasets/t22000t/slay-the-spire-2-card-multimodal-embeddings},
note = {Early Access snapshot; embedded with Qwen3-VL-Embedding-2B; card data via nkhoit/spire-archive; game IP (c) Mega Crit}
}