Spaces:
Running
Running
Download improving-t2i.html from SupraLabs/Blog: direct link, hf CLI and curl.
- Browser
- Download file 10.7 kB
-
https://huggingface.co/spaces/SupraLabs/Blog/resolve/main/improving-t2i.html
- Command line
-
hf download hf://spaces/SupraLabs/Blog/improving-t2i.html
-
curl -L -o improving-t2i.html https://huggingface.co/spaces/SupraLabs/Blog/resolve/main/improving-t2i.html
10.7 kB
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Improving Supra Text-To-Image models. Better data. Better algorithms. | SupraLabs Blog</title> | |
| <style> | |
| :root { | |
| --bg: #0f0f0f; | |
| --surface: #1a1a1a; | |
| --border: #333; | |
| --text: #e0e0e0; | |
| --accent: #536bfe; | |
| --muted: #888; | |
| --font-mono: 'JetBrains Mono', 'Fira Code', monospace; | |
| } | |
| * { margin: 0; padding: 0; box-sizing: border-box; } | |
| body { | |
| background-color: var(--bg); | |
| color: var(--text); | |
| font-family: 'Inter', -apple-system, sans-serif; | |
| line-height: 1.6; | |
| padding: 2rem; | |
| } | |
| code, pre, .mono { font-family: var(--font-mono); } | |
| .container { max-width: 900px; margin: 0 auto; } | |
| header { | |
| border-bottom: 2px solid var(--border); | |
| padding-bottom: 2rem; | |
| margin-bottom: 3rem; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: flex-end; | |
| } | |
| .logo-area h1 { | |
| font-size: 1.2rem; | |
| text-transform: uppercase; | |
| letter-spacing: 2px; | |
| color: var(--accent); | |
| line-height: 1; | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| } | |
| .logo-area a { text-decoration: none; color: inherit; } | |
| .logo-area { display: flex; align-items: center; gap: 10px; font-weight: bold; font-size: 1.2rem; } | |
| nav a { | |
| color: var(--text); | |
| text-decoration: none; | |
| margin-left: 1.5rem; | |
| font-size: 0.9rem; | |
| border-bottom: 1px solid transparent; | |
| } | |
| nav a:hover { border-bottom: 1px solid var(--accent); } | |
| .post-header { margin-bottom: 3rem; } | |
| .post-header h2 { font-size: 3rem; line-height: 1.1; margin-bottom: 1rem; font-weight: 800; } | |
| .post-meta { font-family: var(--font-mono); color: var(--accent); font-size: 0.9rem; margin-bottom: 2rem; } | |
| .post-content { | |
| background: var(--surface); | |
| border: 1px solid var(--border); | |
| padding: 3rem; | |
| margin-bottom: 4rem; | |
| } | |
| .post-content h2 { font-size: 1.8rem; margin: 2.5rem 0 1rem 0; color: var(--accent); } | |
| .post-content h2:first-child { margin-top: 0; } | |
| .post-content p { margin-bottom: 1.5rem; font-size: 1.1rem; color: var(--text); } | |
| .post-content ul { margin-bottom: 1.5rem; padding-left: 1.5rem; } | |
| .post-content li { margin-bottom: 0.5rem; font-size: 1.1rem; } | |
| .post-content strong { color: #fff; } | |
| .post-content code { | |
| background: #111; | |
| border: 1px solid var(--border); | |
| padding: 2px 6px; | |
| border-radius: 3px; | |
| font-size: 0.95em; | |
| color: var(--accent); | |
| } | |
| .callout { | |
| border-left: 3px solid var(--accent); | |
| background: #111; | |
| padding: 1rem 1.5rem; | |
| margin: 2rem 0; | |
| font-family: var(--font-mono); | |
| font-size: 0.95rem; | |
| color: #ccc; | |
| } | |
| .callout span { display: block; color: var(--muted); font-size: 0.8rem; margin-bottom: 0.4rem; } | |
| /* IO example pairs */ | |
| .io-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; } | |
| .io-pair { | |
| background: #111; | |
| border: 1px solid var(--border); | |
| padding: 1.2rem; | |
| } | |
| .io-pair .io-label { | |
| font-family: var(--font-mono); | |
| font-size: 0.72rem; | |
| color: var(--muted); | |
| margin-bottom: 0.5rem; | |
| } | |
| .io-pair .io-user { color: #ccc; font-size: 0.95rem; margin-bottom: 0.8rem; line-height: 1.5; } | |
| .io-pair .io-result { | |
| font-family: var(--font-mono); | |
| color: var(--accent); | |
| font-size: 0.9rem; | |
| font-weight: 700; | |
| } | |
| /* Flow diagram */ | |
| .flow { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 0.8rem; | |
| margin: 2rem 0; | |
| flex-wrap: wrap; | |
| } | |
| .flow-box { | |
| background: #111; | |
| border: 1px solid var(--border); | |
| padding: 0.8rem 1.2rem; | |
| font-family: var(--font-mono); | |
| font-size: 0.82rem; | |
| text-align: center; | |
| color: #ccc; | |
| } | |
| .flow-box.accent { border-color: var(--accent); color: var(--accent); } | |
| .flow-arrow { color: var(--accent); font-size: 1.2rem; } | |
| .table-wrap { overflow-x: auto; margin: 2rem 0; } | |
| table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 0.88rem; } | |
| th { background: #111; color: var(--accent); padding: 0.75rem 1rem; text-align: left; border: 1px solid var(--border); } | |
| td { padding: 0.7rem 1rem; border: 1px solid var(--border); color: var(--text); } | |
| tr:nth-child(even) td { background: #111; } | |
| .tags { display: flex; gap: 0.5rem; margin-top: 2rem; flex-wrap: wrap; } | |
| .tag { font-family: var(--font-mono); font-size: 0.7rem; padding: 2px 8px; border: 1px solid var(--border); border-radius: 4px; color: var(--muted); } | |
| footer { margin-top: 6rem; padding-bottom: 2rem; font-size: 0.8rem; color: var(--muted); text-align: center; } | |
| @media (max-width: 600px) { | |
| .post-header h2 { font-size: 2rem; } | |
| .post-content { padding: 1.5rem; } | |
| header { flex-direction: column; align-items: flex-start; gap: 1rem; } | |
| nav a { margin-left: 0; margin-right: 1rem; } | |
| .io-grid { grid-template-columns: 1fr; } | |
| .flow { flex-direction: column; } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="container"> | |
| <header> | |
| <div class="logo-area" style="font-size: 1.5em;"> | |
| <a href="./index.html"><h1><img src="./image.png" style="height: 2em"> SupraLabs_</h1></a> | |
| </div> | |
| <nav> | |
| <a href="./index.html#news">News</a> | |
| <a href="https://huggingface.co/SupraLabs" target="blank">HuggingFace</a> | |
| <a href="./index.html#hardware">Hardware</a> | |
| </nav> | |
| </header> | |
| <article> | |
| <div class="post-header"> | |
| <div class="post-meta">// 2026-09-17 | Research</div> | |
| <h2>Improving Supra Text-To-Image models.<br>Better data.<br>Better algorithms.</h2> | |
| </div> | |
| <div class="post-content"> | |
| <p>It has been a while since our last text-to-image model experiments... the resultsimages were always blurry, damaged and not good.</p> | |
| <p>We spent days in researching better options and tricks for a better model now. Let's get into it.</p> | |
| <h2>The old model</h2> | |
| <p>Here are some real samples - generated from our model. At <code>guidance_scale=3.5</code> and <code>steps=150</code>. Everytime the same <strong>12345</strong> seed.</p> | |
| <strong>Prompt: A city skyline during a neon pink sunset.</strong><br> | |
| <img src="https://cdn-uploads.huggingface.co/production/uploads/697f2832c2c5e4daa93cece7/a0-bzWK2MD35sshdGwXpR.png" width="250px" height="250px"> | |
| <br><br><strong>Prompt: A clock tower against a blue sky.</strong><br> | |
| <img src="https://cdn-uploads.huggingface.co/production/uploads/697f2832c2c5e4daa93cece7/3T0OfRxwlDONr1R8QCRWl.png" width="250px" height="250px"> | |
| <br><br><strong>Prompt: a red car</strong><br> | |
| <img src="https://cdn-uploads.huggingface.co/production/uploads/697f2832c2c5e4daa93cece7/7wUzW_gX3i643zDgIEQYR.png" width="250px" height="250px"> | |
| <br><br><strong>Prompt: a mountain landscape with a lake</strong><br> | |
| <img src="https://cdn-uploads.huggingface.co/production/uploads/697f2832c2c5e4daa93cece7/FW8mvsaxu05zB0vbwEg0w.png" width="250px" height="250px"> | |
| <br><br> | |
| <p>As you can clearly see, these results are REALLY bad. That <strong>has</strong> to be improved.</p> | |
| <h2>The new setup</h2> | |
| <p>Since we are an open-source research organization we will share some details about the new setup yet - even before the release.</p> | |
| <div class="table-wrap"> | |
| <table> | |
| <thead> | |
| <tr><th>Part</th><th>OLD</th><th>NEW</th><th>Why?</th></tr> | |
| </thead> | |
| <tbody> | |
| <tr><td>Encoder</td> <td>CLIP</td><td><strong>Flan-T5-Base</strong></td><td>Better image understanding and prompt following improvements.</td></tr> | |
| <tr><td>Dataset</td> <td>COCO</td><td><strong>FLUX-Reason-6M</strong></td><td>1. Synthetic images are better for small t2i models; 2. COCO is not good at all for t2i; 3. All images in the FLUX-Reason-6M dataset already have a squared aspect ratio.</td></tr> | |
| <tr><td># of images</td> <td>83k</td><td><strong>900k</strong></td><td>More data is better to not let the model overfit to certain pictures</td></tr> | |
| <tr><td>Epochs</td> <td>200</td><td><strong>2</strong></td><td>With more data, you should use much less epochs.</td></tr> | |
| <tr><td>Total parameters</td> <td>40M</td><td><strong>100M</strong></td><td>Text-To-Image is complicated and very hard. Give the model more room to think.</td></tr> | |
| </tbody> | |
| </table> | |
| </div> | |
| <p>Let's see how it will perform!</p> | |
| <h2>Total time and current progress</h2> | |
| <p>We did start the training of the model. At 256² image size. With 900k images. For two epochs. One single RTX 5060 Ti 16GB.</p> | |
| <div class="callout"> | |
| <span><strong>Total time:</strong> ~20 hours</span> | |
| <span><strong>Current progress:</strong> 8%</span> | |
| </div> | |
| <h2>Stay tuned</h2> | |
| <p>This was it for today - stay tuned for the release maybe in some days!</p> | |
| <div class="tags"> | |
| <span class="tag">#research</span> | |
| <span class="tag">#small-model</span> | |
| <span class="tag">#text-to-image</span> | |
| <span class="tag">#t2i</span> | |
| </div> | |
| </div> | |
| </article> | |
| <footer> | |
| <p class="mono">© 2026 SupraLabs // Built for the community.</p> | |
| </footer> | |
| </div> | |
| </body> | |
| </html> |