Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <title>ChastityBench — VLM Candor & OOD Benchmark</title> | |
| <link rel="preconnect" href="https://fonts.googleapis.com" /> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> | |
| <link href="https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@400;600;700;800&family=Lora:ital,wght@0,400;0,500;1,400&display=swap" rel="stylesheet" /> | |
| <link href="https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet"> | |
| <link href="https://cdn.jsdelivr.net/gh/tofsjonas/sortable@latest/sortable-base.min.css" rel="stylesheet" /> | |
| <script src="https://cdn.jsdelivr.net/gh/tofsjonas/sortable@latest/dist/sortable.min.js"></script> | |
| <style> | |
| :root { | |
| --bg:#F5F2EC; --bg2:#ECEAE3; --surface:#FFFFFF; --border:#D8D4CB; | |
| --text:#1A1916; --muted:#7A7567; --body: #3b3933; | |
| --teal:#1A6B72; --teal-light:#D0EBEC; | |
| --amber:#C4760D; --amber-light:#61594a; | |
| --red:#B03A2E; --red-light:#FAE3DF; | |
| --mono:'DM Mono', monospace; --display:'Instrument Sans', sans-serif; --serif:'Lora', serif; | |
| --radius:6px; | |
| } | |
| .sortable thead th:not(.no-sort)::after, | |
| .sortable thead th:not(.no-sort)::before { | |
| transition: none !important; | |
| } | |
| *{box-sizing:border-box;margin:0;padding:0} | |
| body{ | |
| background:var(--bg); | |
| color:var(--text); | |
| font-family:var(--serif); | |
| font-size:15px; | |
| line-height:1.6; | |
| } | |
| .container{max-width:1100px;margin:0 auto;padding:0 2rem} | |
| header{ | |
| padding:3.5rem 0 2.5rem; | |
| border-bottom:1.5px solid var(--border); | |
| display:flex; | |
| align-items: end; | |
| } | |
| .header-text { | |
| flex: 1; | |
| } | |
| .wordmark{ | |
| font-family:var(--display); | |
| font-weight:800; | |
| font-size:clamp(2rem,5vw,3.2rem); | |
| letter-spacing: 0.03em; | |
| } | |
| .wordmark .teal{color:var(--teal)} | |
| .subheadline{ | |
| font-family:var(--mono); | |
| font-size:0.75rem; | |
| letter-spacing:0.12em; | |
| text-transform:uppercase; | |
| color:var(--muted); | |
| margin-bottom:0.75rem; | |
| } | |
| .tagline{ | |
| color:var(--body); | |
| font-size:0.95rem; | |
| margin-top:0.6rem; | |
| max-width:620px; | |
| } | |
| .controls{ | |
| flex-shrink: 1; | |
| } | |
| select{ | |
| font-family:var(--mono); | |
| font-size:0.8rem; | |
| padding:0.4em 0.75em; | |
| border:1px solid var(--border); | |
| border-radius:var(--radius); | |
| background:var(--surface); | |
| } | |
| button { | |
| font-family:var(--mono); | |
| font-size:0.8rem; | |
| padding:0.4em 0.75em; | |
| border:1px solid var(--border); | |
| border-radius:var(--radius); | |
| background:var(--surface); | |
| } | |
| button:hover { | |
| background:var(--bg2); | |
| } | |
| .table-wrapper{ | |
| border:1px solid var(--border); | |
| border-radius:var(--radius); | |
| background:var(--surface); | |
| overflow:auto; | |
| margin-top: 1.5rem; | |
| } | |
| table{width:100%;border-collapse:collapse;font-size:0.875rem} | |
| th{ | |
| background:var(--bg2); | |
| font-family:var(--mono); | |
| font-size:0.68rem; | |
| letter-spacing:0.06em; | |
| text-transform:uppercase; | |
| color:var(--muted); | |
| padding:0.85rem 1rem; | |
| border-bottom:1.5px solid var(--border); | |
| cursor:pointer; | |
| } | |
| td{padding:0.85rem 1rem;border-bottom:1px solid var(--border)} | |
| tbody tr:hover{background:var(--bg2)} | |
| .rank{font-family:var(--mono);text-align:center;color:var(--muted)} | |
| .model-name{font-family:var(--mono)} | |
| .cost{font-family:var(--mono);text-align:right} | |
| .score-badge{ | |
| font-family:var(--mono); | |
| padding:0.2em 0.5em; | |
| border-radius:var(--radius); | |
| background:var(--teal-light); | |
| color:var(--teal); | |
| } | |
| td:has(> .score-badge) { | |
| text-align: center; | |
| } | |
| .bar-cell{ | |
| display:flex; | |
| flex-direction:column; | |
| gap:0.35rem; | |
| } | |
| .bar-label{ | |
| font-family:var(--mono); | |
| font-size:0.75rem; | |
| text-align: right; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .bar-track{ | |
| width:100%; | |
| height:6px; | |
| background: #E2DED5; | |
| border-radius:100px; | |
| overflow:hidden; | |
| } | |
| .bar-fill{ | |
| height:100%; | |
| border-radius:100px; | |
| transition:width 0.4s ease; | |
| } | |
| .about{ | |
| margin:3rem 0; | |
| display:grid; | |
| grid-template-columns:1fr 1fr; | |
| gap:3rem; | |
| } | |
| @media(max-width:720px){ | |
| .about{grid-template-columns:1fr} | |
| } | |
| .about h2{ | |
| font-family:var(--display); | |
| font-size:1.1rem; | |
| margin-bottom:0.75rem; | |
| } | |
| .wordmark .version { | |
| font-size: 0.5em; | |
| color: var(--muted) | |
| } | |
| .about p{ | |
| font-size:0.9rem; | |
| color:var(--body); | |
| margin-bottom:0.75rem; | |
| } | |
| #cite { | |
| cursor: pointer; | |
| } | |
| footer{ | |
| border-top:1.5px solid var(--border); | |
| padding:2rem 0; | |
| margin-top:3rem; | |
| font-family:var(--mono); | |
| font-size:0.75rem; | |
| color:var(--muted); | |
| display:flex; | |
| justify-content:space-between; | |
| flex-wrap:wrap; | |
| gap:1rem; | |
| } | |
| th[data-col="model"] { | |
| text-align: left; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="container"> | |
| <header> | |
| <div class="header-text"> | |
| <div class="subheadline">PUTTING VISION MODELS IN PERMANENT DENIAL</div> | |
| <div class="wordmark">Chastity<span class="teal">Bench</span> <span class="version">v1.0</span></div> | |
| <div class="tagline"> | |
| Can your VLM identify a sex toy, or will it play dumb? | |
| </div> | |
| </div> | |
| <div class="controls"> | |
| <button onclick="window.open('https://huggingface.co/spaces/NyxKrage/ChastityBench/discussions/new?title=Model+Suggestion&description=Please+add+the+following+model:', '_blank')"> | |
| Suggest a Model | |
| </button> | |
| </div> | |
| </header> | |
| <div class="table-wrapper"> | |
| <table class="sortable"> | |
| <thead> | |
| <tr> | |
| <th data-col="rank" class="no-sort">#</th> | |
| <th data-col="model" class="no-sort">Model</th> | |
| <th data-col="composite">Composite</th> | |
| <th data-col="direct_mention">Direct</th> | |
| <th data-col="indirect_description">Indirect</th> | |
| <th data-col="compliance">Compliance</th> | |
| <th data-col="cost">Cost/Task</th> | |
| </tr> | |
| </thead> | |
| <tbody id="tbody"> | |
| <tr> | |
| <td class="rank">1</td> | |
| <td class="model-name">doubao-seed-2-0-mini</td> | |
| <td data-sort="0.8613"><span class="score-badge">86.1</span></td> | |
| <td data-sort="0.86"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">86.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:86.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.89"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">89.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:89.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.99"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">99.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:99.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.00045682324351999993">0.05¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">2</td> | |
| <td class="model-name">gemini-3-pro-low</td> | |
| <td data-sort="0.8233333333333334"><span class="score-badge">82.3</span></td> | |
| <td data-sort="0.8"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">80.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:80.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.87"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">87.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:87.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.00863986">0.86¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">3</td> | |
| <td class="model-name">doubao-seed-2-0-pro</td> | |
| <td data-sort="0.82"><span class="score-badge">82.0</span></td> | |
| <td data-sort="0.81"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">81.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:81.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.84"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">84.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:84.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.00413773409">0.41¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">4</td> | |
| <td class="model-name">kimi-k2.5-thinking</td> | |
| <td data-sort="0.7633333333333333"><span class="score-badge">76.3</span></td> | |
| <td data-sort="0.75"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">75.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:75.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.79"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">79.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:79.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0031320398">0.31¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">5</td> | |
| <td class="model-name">gemini-3-pro</td> | |
| <td data-sort="0.744"><span class="score-badge">74.4</span></td> | |
| <td data-sort="0.76"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">76.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:76.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.88"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">88.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:88.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.93"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">93.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:93.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.01731406">1.73¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">6</td> | |
| <td class="model-name">doubao-seed-2-0-lite</td> | |
| <td data-sort="0.7359"><span class="score-badge">73.6</span></td> | |
| <td data-sort="0.73"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">73.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:73.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.77"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">77.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:77.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.99"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">99.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:99.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0008159643539600001">0.08¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">7</td> | |
| <td class="model-name">gemini-3-flash-minimal</td> | |
| <td data-sort="0.7251999999999998"><span class="score-badge">72.5</span></td> | |
| <td data-sort="0.69"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">69.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:69.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.84"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">84.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:84.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.98"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">98.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:98.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.001105545">0.11¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">8</td> | |
| <td class="model-name">kimi-k2.6</td> | |
| <td data-sort="0.71"><span class="score-badge">71.0</span></td> | |
| <td data-sort="0.67"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">67.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:67.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.79"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">79.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:79.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.006067576365499999">0.61¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">9</td> | |
| <td class="model-name">gemini-3-flash-high</td> | |
| <td data-sort="0.6838666666666666"><span class="score-badge">68.4</span></td> | |
| <td data-sort="0.67"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">67.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:67.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.89"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">89.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:89.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.92"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">92.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:92.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.00283287">0.28¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">10</td> | |
| <td class="model-name">grok-4</td> | |
| <td data-sort="0.5800000000000001"><span class="score-badge">58.0</span></td> | |
| <td data-sort="0.53"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">53.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:53.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.68"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">68.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:68.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0157252425">1.57¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">11</td> | |
| <td class="model-name">grok-4.1-fast</td> | |
| <td data-sort="0.5633333333333334"><span class="score-badge">56.3</span></td> | |
| <td data-sort="0.55"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">55.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:55.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.59"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">59.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:59.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0005783720000000001">0.06¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">12</td> | |
| <td class="model-name">gemini-3.1-pro-low</td> | |
| <td data-sort="0.5568"><span class="score-badge">55.7</span></td> | |
| <td data-sort="0.46"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">46.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:46.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.82"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">82.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:82.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.96"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">96.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:96.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.007757460000000001">0.78¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">13</td> | |
| <td class="model-name">qwen3.5-397b-a17b</td> | |
| <td data-sort="0.5568"><span class="score-badge">55.7</span></td> | |
| <td data-sort="0.6"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">60.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:60.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.72"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">72.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:72.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.87"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">87.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:87.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0038511564000000002">0.39¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">14</td> | |
| <td class="model-name">qwen3.5-35b-a3b</td> | |
| <td data-sort="0.5544"><span class="score-badge">55.4</span></td> | |
| <td data-sort="0.53"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">53.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:53.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.62"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">62.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:62.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.99"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">99.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:99.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0027729715">0.28¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">15</td> | |
| <td class="model-name">qwen3.5-27b</td> | |
| <td data-sort="0.5541666666666667"><span class="score-badge">55.4</span></td> | |
| <td data-sort="0.54"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">54.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:54.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.67"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">67.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:67.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.95"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">95.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:95.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0042979365">0.43¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">16</td> | |
| <td class="model-name">qwen3.6-plus</td> | |
| <td data-sort="0.5533333333333333"><span class="score-badge">55.3</span></td> | |
| <td data-sort="0.51"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">51.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:51.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.64"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">64.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:64.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.00261595044">0.26¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">17</td> | |
| <td class="model-name">mimo-v2.5</td> | |
| <td data-sort="0.4884"><span class="score-badge">48.8</span></td> | |
| <td data-sort="0.46"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">46.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:46.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.56"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">56.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:56.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.99"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">99.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:99.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.002790412">0.28¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">18</td> | |
| <td class="model-name">kimi-k2.5</td> | |
| <td data-sort="0.4825333333333333"><span class="score-badge">48.3</span></td> | |
| <td data-sort="0.62"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">62.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:62.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.64"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">64.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:64.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.77"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">77.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:77.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.002166752">0.22¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">19</td> | |
| <td class="model-name">gemini-3.1-pro</td> | |
| <td data-sort="0.46559999999999996"><span class="score-badge">46.6</span></td> | |
| <td data-sort="0.28"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">28.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:28.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.88"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">88.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:88.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.97"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">97.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:97.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.022422180000000003">2.24¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">20</td> | |
| <td class="model-name">mimo-v2-omni</td> | |
| <td data-sort="0.403"><span class="score-badge">40.3</span></td> | |
| <td data-sort="0.38"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">38.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:38.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.54"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">54.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:54.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.93"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">93.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:93.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0031406648">0.31¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">21</td> | |
| <td class="model-name">gpt-5.2-codex-xhigh</td> | |
| <td data-sort="0.3233333333333333"><span class="score-badge">32.3</span></td> | |
| <td data-sort="0.24"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">24.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:24.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.52"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">52.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:52.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.97"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">97.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:97.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.016474587500000002">1.65¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">22</td> | |
| <td class="model-name">toriigate-0.5</td> | |
| <td data-sort="0.3227333333333333"><span class="score-badge">32.3</span></td> | |
| <td data-sort="0.31"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">31.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:31.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.41"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">41.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:41.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.94"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">94.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:94.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="Infinity">—</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">23</td> | |
| <td class="model-name">ernie-5.0-thinking-preview</td> | |
| <td data-sort="0.31666666666666665"><span class="score-badge">31.7</span></td> | |
| <td data-sort="0.25"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">25.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:25.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.45"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">45.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:45.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.005805785999999999">0.58¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">24</td> | |
| <td class="model-name">gpt-5.4</td> | |
| <td data-sort="0.26070000000000004"><span class="score-badge">26.1</span></td> | |
| <td data-sort="0.1"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">10.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:10.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.59"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">59.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:59.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.99"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">99.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:99.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.015068075">1.51¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">25</td> | |
| <td class="model-name">nemotron-3-nano-omni-none</td> | |
| <td data-sort="0.25"><span class="score-badge">25.0</span></td> | |
| <td data-sort="0.17"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">17.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:17.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.41"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">41.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:41.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="Infinity">—</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">26</td> | |
| <td class="model-name">qwen3.5-4b</td> | |
| <td data-sort="0.2425"><span class="score-badge">24.2</span></td> | |
| <td data-sort="0.16"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">16.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:16.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.43"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">43.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:43.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.97"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">97.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:97.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="Infinity">—</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">27</td> | |
| <td class="model-name">gemma-4-31b-it</td> | |
| <td data-sort="0.22799999999999998"><span class="score-badge">22.8</span></td> | |
| <td data-sort="0.18"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">18.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:18.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.36"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">36.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:36.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.95"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">95.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:95.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="8.6551e-06">0.00¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">28</td> | |
| <td class="model-name">gpt-5.4-xhigh</td> | |
| <td data-sort="0.22"><span class="score-badge">22.0</span></td> | |
| <td data-sort="0.05"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">5.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:5.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.56"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">56.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:56.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.081452525">8.15¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">29</td> | |
| <td class="model-name">gpt-5.2-xhigh</td> | |
| <td data-sort="0.21773333333333333"><span class="score-badge">21.8</span></td> | |
| <td data-sort="0.07"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">7.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:7.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.57"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">57.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:57.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.92"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">92.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:92.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.041150718">4.12¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">30</td> | |
| <td class="model-name">nemotron-3-nano-omni</td> | |
| <td data-sort="0.19799999999999998"><span class="score-badge">19.8</span></td> | |
| <td data-sort="0.11"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">11.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:11.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.38"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">38.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:38.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.99"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">99.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:99.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="Infinity">—</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">31</td> | |
| <td class="model-name">gpt-5.5-xhigh</td> | |
| <td data-sort="0.19469999999999998"><span class="score-badge">19.5</span></td> | |
| <td data-sort="0.06"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">6.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:6.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.47"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">47.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:47.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.99"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">99.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:99.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.07257485000000001">7.26¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">32</td> | |
| <td class="model-name">gpt-5.5</td> | |
| <td data-sort="0.18333333333333335"><span class="score-badge">18.3</span></td> | |
| <td data-sort="0.05"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">5.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:5.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.45"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">45.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:45.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.04509905">4.51¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">33</td> | |
| <td class="model-name">gpt-5.4-mini</td> | |
| <td data-sort="0.15"><span class="score-badge">15.0</span></td> | |
| <td data-sort="0.04"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">4.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:4.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.37"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">37.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:37.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0038125275">0.38¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">34</td> | |
| <td class="model-name">gpt-5.4-mini-xhigh</td> | |
| <td data-sort="0.13333333333333333"><span class="score-badge">13.3</span></td> | |
| <td data-sort="0.02"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">2.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:2.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.36"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">36.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:36.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="1.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">100.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:100.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0452600025">4.53¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">35</td> | |
| <td class="model-name">gpt-5.2-medium</td> | |
| <td data-sort="0.0945"><span class="score-badge">9.4</span></td> | |
| <td data-sort="0.05"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">5.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:5.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.35"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">35.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:35.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.63"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">63.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:63.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0089217415">0.89¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">36</td> | |
| <td class="model-name">gemma-4-26b-a4b-it</td> | |
| <td data-sort="0.06820000000000001"><span class="score-badge">6.8</span></td> | |
| <td data-sort="0.04"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">4.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:4.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.14"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">14.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:14.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.93"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">93.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:93.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="7.644869999999999e-05">0.01¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">37</td> | |
| <td class="model-name">gpt-5.4-nano-xhigh</td> | |
| <td data-sort="0.05739999999999999"><span class="score-badge">5.7</span></td> | |
| <td data-sort="0.01"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">1.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:1.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.19"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">19.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:19.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.82"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">82.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:82.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.006038692400000001">0.60¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">38</td> | |
| <td class="model-name">glm-5v-turbo</td> | |
| <td data-sort="0.04766666666666666"><span class="score-badge">4.8</span></td> | |
| <td data-sort="0.95"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">95.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:95.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.96"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">96.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:96.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.05"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">5.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:5.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0023051128">0.23¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">39</td> | |
| <td class="model-name">gpt-5.4-nano</td> | |
| <td data-sort="0.0198"><span class="score-badge">2.0</span></td> | |
| <td data-sort="0.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">0.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:0.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.09"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">9.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:9.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.66"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">66.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:66.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0012434125">0.12¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">40</td> | |
| <td class="model-name">claude-opus-4.7-thinking</td> | |
| <td data-sort="0.019733333333333335"><span class="score-badge">2.0</span></td> | |
| <td data-sort="0.12"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">12.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:12.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.13"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">13.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:13.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.16"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">16.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:16.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.02102925">2.10¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">41</td> | |
| <td class="model-name">claude-opus-4.6</td> | |
| <td data-sort="0.013433333333333334"><span class="score-badge">1.3</span></td> | |
| <td data-sort="0.1"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">10.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:10.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.11"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">11.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:11.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.13"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">13.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:13.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.012601350000000002">1.26¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">42</td> | |
| <td class="model-name">claude-sonnet-4.6-thinking</td> | |
| <td data-sort="0.006933333333333334"><span class="score-badge">0.7</span></td> | |
| <td data-sort="0.05"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">5.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:5.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.06"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">6.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:6.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.13"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">13.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:13.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.00773853">0.77¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">43</td> | |
| <td class="model-name">claude-sonnet-4.6</td> | |
| <td data-sort="0.0066"><span class="score-badge">0.7</span></td> | |
| <td data-sort="0.06"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">6.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:6.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.06"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">6.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:6.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.11"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">11.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:11.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.00635973">0.64¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">44</td> | |
| <td class="model-name">mistral-small-2603</td> | |
| <td data-sort="0.0033"><span class="score-badge">0.3</span></td> | |
| <td data-sort="0.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">0.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:0.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.01"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">1.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:1.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.99"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">99.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:99.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0004349844">0.04¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">45</td> | |
| <td class="model-name">claude-opus-4.7</td> | |
| <td data-sort="0.0022"><span class="score-badge">0.2</span></td> | |
| <td data-sort="0.03"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">3.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:3.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.05"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">5.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:5.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.06"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">6.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:6.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.02003225">2.00¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">46</td> | |
| <td class="model-name">claude-opus-4.6-thinking</td> | |
| <td data-sort="0.0004"><span class="score-badge">0.0</span></td> | |
| <td data-sort="0.02"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">2.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:2.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.02"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">2.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:2.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.02"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">2.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:2.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="0.0115253">1.15¢</td> | |
| </tr> | |
| <tr> | |
| <td class="rank">47</td> | |
| <td class="model-name">reka-edge</td> | |
| <td data-sort="0.0"><span class="score-badge">0.0</span></td> | |
| <td data-sort="0.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">0.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:0.0%; background:var(--teal)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.0"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">0.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:0.0%; background:var(--amber)"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td data-sort="0.49"> | |
| <div class="bar-cell"> | |
| <span class="bar-label">49.0%</span> | |
| <div class="bar-track"> | |
| <div class="bar-fill" style="width:49.0%; background:#6B7C8A"></div> | |
| </div> | |
| </div> | |
| </td> | |
| <td class="cost" data-sort="6.1951e-05">0.01¢</td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| </div> | |
| <div class="about"> | |
| <div> | |
| <h2>About the Benchmark</h2> | |
| <p>ChastityBench tests whether vision-language models can caption images containing chastity cages. It's a policy-sensitive, long-tail object recognition task. The question is simple: does the model name what it sees, describe around it, or refuse?</p> | |
| <p>The composite score is Candor * Compliance, where Candor = (2 * Direct + Indirect) / 3. Direct and indirect rates are measured over non-refused responses; compliance is just one minus the refusal rate. Direct mentions get double weight because a model that names the thing outright is more useful than one that talks in circles.</p> | |
| </div> | |
| <div> | |
| <h2>Interpretation</h2> | |
| <p>High direct mention means the model recognizes the object and knows the terminology. This suggests training data with less aggressive filtering of adult content, or successful generalization from related concepts.</p> | |
| <p>High indirect, low direct means the model sees it but lacks the vocabulary. It describes the shape, material, locking mechanism, anatomical placement—everything but the name. The visual understanding is there; the lexical gap points to training data where explicit terms were scrubbed.</p> | |
| <p>Low compliance reflects policy, rather than capability. This metric measures how restrictive the alignment is, nothing more.</p> | |
| </div> | |
| </div> | |
| <footer> | |
| <div>Carsten Kragelund © 2026</div> | |
| <div id="cite">@misc{chastitybench2026,...}</div> | |
| </footer> | |
| </div> | |
| <script> | |
| (function(){ | |
| const citeButton = document.getElementById("cite"); | |
| if (!citeButton) return; | |
| citeButton.addEventListener("click", () => { | |
| navigator.clipboard.writeText(`@misc{chastitybench2026, | |
| title={ChastityBench}, | |
| author={Kragelund, Carsten}, | |
| year={2026}, | |
| url={https://huggingface.co/spaces/NyxKrage/ChastityBench}, | |
| }`); | |
| }); | |
| })(); | |
| </script> | |
| </body> | |
| </html> |