Quickstart
model_id = "Tesslate/WEBGEN-OSS-20B"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto"
)
prompt = """Make a single-file landing page for 'LatticeDB'.
Style: modern, generous whitespace, Tailwind, rounded-xl, soft gradients.
Sections: navbar, hero (headline + 2 CTAs), features grid, pricing (3 tiers),
FAQ accordion, footer. Constraints: semantic HTML, no external JS."""
inputs = tok(prompt, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=2000, temperature=0.7, top_p=0.9)
print(tok.decode(out[0], skip_special_tokens=True))
vLLM
sglang
Tip: Lower temperature (e.g., 0.4–0.6) yields stricter, cleaner markup. Raise it for more visual variety.
Inference Settings (suggested)
Prompts that work well
Quantization & VRAM (example)
Intended Use & Scope
- Primary: Generate complete, single-file websites (landing pages, marketing pages, simple docs) with semantic HTML and Tailwind classes.
- Secondary: Component blocks (hero, pricing, FAQ) for manual composition.
Training Summary (research preview)
- Objective: Tight web-only bias; reward semantic structure, spacing rhythm, and responsiveness.
- Data: Mixture of curated HTML/CSS/Tailwind snippets, component libraries, and synthetic page specs.
- Recipe: SFT with format constraints → instruction tuning → style/rhythm preference optimization.
- Context: effective ~64k; trained to keep default outputs within practical page length.
Example Outputs
- Examples: uigenoutput.tesslate.com
- Discord: discord.gg/EcCpcTv93U
- Website: tesslate.com
Citation
@misc{tesslate_webgen_oss_preview_2025,
title = {WEBGEN-OSS-20B: Design-first web generation},
author = {Tesslate Team},
year = {2025},
url = {https://huggingface.co/Tesslate/WEBGEN-OSS-20B}
}