Best LLMs for Visual Theme Configuration Generation
Produces an accessible color and typography configuration from visual references, audience context, and caller-supplied design-system roles and constraints. Illustrative uses include configuring the visual system for a software product, customer portal, campaign microsite, corpor
Run this task on Fronset — request an invitation
Models
Frontier on this task: NVIDIA Nemotron-3 Ultra 550B at 8.95 / 10. Quality bar at 90%: 8.05.
point-estimate floor (CI low) · upper CI (less certain) · Bars sorted by blended cost; best-value model first. Greyed rows are MEDIUM+ models whose point estimate does not clear the bar.
| Model | Quality score | CI low | Cost / 1k runs | vs best value |
|---|---|---|---|---|
| GPT-6 Luna | 8.59 / 10 | 8.41 | $0.42 | best value |
| MiniMax M3 | 8.47 / 10 | 8.45 | $1.11 | 2.6x more expensive |
| Claude Haiku 5.5 | 8.45 / 10 | 8.25 | $1.15 | 2.7x more expensive |
| Tencent Hy3 | 8.11 / 10 | 7.80 | $1.36 | 3.2x more expensive |
| Thinking Machines Inkling Small | 8.87 / 10 | 8.60 | $6.24 | 15x more expensive |
| GPT-6 Sol | 8.54 / 10 | 8.36 | $6.71 | 16x more expensive |
| NVIDIA Nemotron-3 Ultra 550B | 8.95 / 10 | 8.74 | $6.82 | 16x more expensive |
| Meta Muse Spark 1.3 | 8.64 / 10 | 8.30 | $18.72 | 45x more expensive |
| Claude Sonnet 5.5 | 8.36 / 10 | 8.06 | $19.30 | 46x more expensive |
| Tencent Hy4 Preview | 8.70 / 10 | 8.34 | $31.47 | 75x more expensive |
| Claude Opus 5.5 | 8.72 / 10 | 8.48 | $44.57 | 106x more expensive |
| NVIDIA Nemotron 3.5 Lightning | 7.58 / 10 | 7.31 | $1.87 | 4.5x more expensive |
| Moonshot Kimi K3 | 6.05 / 10 | 5.61 | $81.42 | 194x more expensive |
| NVIDIA Nemotron-3 Nano 30B-A3B | 6.90 / 10 | 6.44 | $2.24 | 5.3x more expensive |
| Grok 4.7 | 6.78 / 10 | 6.55 | $46.75 | 111x more expensive |
| NVIDIA Nemotron-3 Super 120B | 7.45 / 10 | 7.07 | $6.87 | 16x more expensive |
| Thinking Machines Inkling | 7.84 / 10 | 7.35 | $28.15 | 67x more expensive |
Cost breakdown
| Model | Quality | Confidence | Cost / 1k runs | Overpay | Mode |
|---|---|---|---|---|---|
| GPT-6 Luna ★ OpenAI | 8.59 / 10 CI [8.41, 8.77] | RANKED | $0.42 | best value | batch |
| MiniMax M3 OpenRouter | 8.47 / 10 CI [8.45, 8.50] | RANKED | $1.11 | 2.6x | batch |
| Claude Haiku 5.5 Anthropic | 8.45 / 10 CI [8.25, 8.65] | RANKED | $1.15 | 2.7x | batch |
| Tencent Hy3 OpenRouter | 8.11 / 10 CI [7.80, 8.43] | MEDIUM | $1.36 | 3.2x | batch |
| Thinking Machines Inkling Small OpenRouter | 8.87 / 10 CI [8.60, 9.15] | HIGH | $6.24 | 15x | batch |
| GPT-6 Sol OpenAI | 8.54 / 10 CI [8.36, 8.71] | RANKED | $6.71 | 16x | batch |
| NVIDIA Nemotron-3 Ultra 550B best OpenRouter | 8.95 / 10 CI [8.74, 9.15] | HIGH | $6.82 | 16x | batch |
| Meta Muse Spark 1.3 OpenRouter | 8.64 / 10 CI [8.30, 8.98] | MEDIUM | $18.72 | 45x | batch |
| Claude Sonnet 5.5 Anthropic | 8.36 / 10 CI [8.06, 8.65] | HIGH | $19.30 | 46x | batch |
| Tencent Hy4 Preview OpenRouter | 8.70 / 10 CI [8.34, 9.07] | MEDIUM | $31.47 | 75x | batch |
| Claude Opus 5.5 Anthropic | 8.72 / 10 CI [8.48, 8.96] | HIGH | $44.57 | 106x | batch |
Overpay shows how much more you pay than the best-value model that clears the quality bar (marked ★) — the best-value good-enough option. "16x" means you overpay 16× — 16× that reference for no quality benefit above the bar. Typical call shape for this task: 5678 input tokens → 3429 output tokens, EMA-tracked from production traffic. Cost is the observed, all-in $ per 1,000 task runs: each model's own measured usage on this task — output verbosity, thinking/reasoning tokens, cache reads and writes, and the spend on its billed failures — priced at current list rates and adjusted by the billing overhead we actually reconcile against provider invoices. Models that answer tersely cost what they actually cost; models that think at length pay for it. Not comparable to providers' advertised $/1M list rates — this is what running the task costs, not a per-token price.
Evaluation rubric
Judge brand-reference alignment, palette coherence, accessibility and contrast, typography suitability, role completeness, practical implementability, and absence of unsupported asset claims.
Output schema
Every answer on this task is checked against this JSON Schema, whichever model wrote it. An answer that doesn't fit counts as a model failure, and the call is retried on another model.
{
"description": "Output model for theme generation based on logo analysis and brand context.\n\nThe LLM analyzes the generated logo image along with brand context\n(subject name, industry, focus areas) to produce a cohesive theme.",
"properties": {
"accent_color": {
"description": "Accent color for highlights and CTAs, in hex format (e.g., '#ff6b00')",
"title": "Accent Color",
"type": "string"
},
"background_color": {
"description": "Background color that complements the brand, in hex format (e.g., '#ffffff' or '#0a0a0a')",
"title": "Background Color",
"type": "string"
},
"body_font": {
"description": "Google Font name for body text, prioritizing readability (e.g., 'Inter', 'Open Sans')",
"title": "Body Font",
"type": "string"
},
"color_reasoning": {
"default": "",
"description": "Explanation of color choices and how they relate to the brand",
"title": "Color Reasoning",
"type": "string"
},
"css_class": {
"description": "CSS class for the theme, lowercase with hyphens (e.g., 'theme-tesla', 'theme-spacex')",
"title": "Css Class",
"type": "string"
},
"font_import_url": {
"description": "Complete Google Fonts import URL for both fonts (e.g., 'https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700\u0026family=Inter:wght@400;500\u0026display=swap')",
"title": "Font Import Url",
"type": "string"
},
"font_reasoning": {
"default": "",
"description": "Explanation of font choices and how they match the brand personality",
"title": "Font Reasoning",
"type": "string"
},
"heading_font": {
"description": "Google Font name for headings that matches brand personality (e.g., 'Playfair Display', 'Montserrat')",
"title": "Heading Font",
"type": "string"
},
"primary_color": {
"description": "Primary brand color extracted from logo, in hex format (e.g., '#005288')",
"title": "Primary Color",
"type": "string"
},
"secondary_color": {
"description": "Secondary complementary color, in hex format (e.g., '#a7a9ac')",
"title": "Secondary Color",
"type": "string"
},
"text_color": {
"description": "Primary text color with good contrast against background, in hex format (e.g., '#333333')",
"title": "Text Color",
"type": "string"
},
"theme_name": {
"description": "Display name for the theme (e.g., 'Tesla Modern', 'SpaceX Dark')",
"title": "Theme Name",
"type": "string"
}
},
"required": [
"theme_name",
"css_class",
"primary_color",
"secondary_color",
"accent_color",
"background_color",
"text_color",
"heading_font",
"body_font",
"font_import_url"
],
"title": "ThemeGenerationOutput",
"type": "object"
}Prompt templates
The published template for this task.
default ·
LLMB_VISUAL_THEME_CONFIGURATION_GENERATION_SYSTEM +
LLMB_VISUAL_THEME_CONFIGURATION_GENERATION_USER
(0 calls in window)
System prompt
Derive a coherent theme from supplied visual evidence and theme_profile. Fill the profile’s color, typography, accessibility, asset, target-system, and usage roles with clear guidance. Treat extracted colors as evidence, not mandatory choices when they fail constraints, and populate only roles and asset types defined by the supplied inputs or profile. Treat empty optional values as absent and return only the requested result. Your response must conform exactly to this output schema: {schema_json_string}.
User prompt
Inputs — subject_name: {subject_name}; subject_code: {subject_code}; industry: {industry}; focus_areas: {focus_areas}; description: {description}; report_structure: {report_structure}; theme_profile: {theme_profile}. Use only these inputs to complete the task defined by the system prompt.