← back to Exo
Ciaran/image model listing (#1417)
9dc4f786bdc2f486dc371848a7d00e77a32cfbe5 · 2026-02-07 00:08:57 +0000 · ciaranbor
## Motivation
Image models (FLUX, Qwen Image) had no family grouping or quantization
metadata in the dashboard
## Changes
- Added family, quantization, base_model, and capabilities fields to all
18 image model TOML cards (FLUX.1 variants + Qwen Image variants)
- Added FLUX and Qwen Image SVG logos to FamilyLogos.svelte
- Added "flux" and "qwen-image" families to the sidebar and family sort
order
- Added "Image Gen" and "Image Edit" capability filters in
ModelFilterPopover.svelte
- Added image edit icon/badge to ModelPickerGroup.svelte
- Made the model category sidebar scrollable to accommodate the new
entries
- Hidden scrollbars on model list panels
## Why It Works
Reuses the existing family/quantization grouping infrastructure that
LLMs already use, extending it to image models with appropriate metadata
and icons
## Test Plan
### Manual Testing
Verified image models behave like text models in the model list dialog
---------
Co-authored-by: Alex Cheema <41707476+AlexCheema@users.noreply.github.com>
Files touched
M dashboard/src/lib/components/FamilyLogos.svelteM dashboard/src/lib/components/FamilySidebar.svelteM dashboard/src/lib/components/ModelFilterPopover.svelteM dashboard/src/lib/components/ModelPickerGroup.svelteM dashboard/src/lib/components/ModelPickerModal.svelteM resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-4bit.tomlM resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-8bit.tomlM resources/image_model_cards/exolabs--FLUX.1-Kontext-dev.tomlM resources/image_model_cards/exolabs--FLUX.1-Krea-dev-4bit.tomlM resources/image_model_cards/exolabs--FLUX.1-Krea-dev-8bit.tomlM resources/image_model_cards/exolabs--FLUX.1-Krea-dev.tomlM resources/image_model_cards/exolabs--FLUX.1-dev-4bit.tomlM resources/image_model_cards/exolabs--FLUX.1-dev-8bit.tomlM resources/image_model_cards/exolabs--FLUX.1-dev.tomlM resources/image_model_cards/exolabs--FLUX.1-schnell-4bit.tomlM resources/image_model_cards/exolabs--FLUX.1-schnell-8bit.tomlM resources/image_model_cards/exolabs--FLUX.1-schnell.tomlM resources/image_model_cards/exolabs--Qwen-Image-4bit.tomlM resources/image_model_cards/exolabs--Qwen-Image-8bit.tomlM resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-4bit.tomlM resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-8bit.tomlM resources/image_model_cards/exolabs--Qwen-Image-Edit-2509.tomlM resources/image_model_cards/exolabs--Qwen-Image.toml
Diff
commit 9dc4f786bdc2f486dc371848a7d00e77a32cfbe5
Author: ciaranbor <81697641+ciaranbor@users.noreply.github.com>
Date: Sat Feb 7 00:08:57 2026 +0000
Ciaran/image model listing (#1417)
## Motivation
Image models (FLUX, Qwen Image) had no family grouping or quantization
metadata in the dashboard
## Changes
- Added family, quantization, base_model, and capabilities fields to all
18 image model TOML cards (FLUX.1 variants + Qwen Image variants)
- Added FLUX and Qwen Image SVG logos to FamilyLogos.svelte
- Added "flux" and "qwen-image" families to the sidebar and family sort
order
- Added "Image Gen" and "Image Edit" capability filters in
ModelFilterPopover.svelte
- Added image edit icon/badge to ModelPickerGroup.svelte
- Made the model category sidebar scrollable to accommodate the new
entries
- Hidden scrollbars on model list panels
## Why It Works
Reuses the existing family/quantization grouping infrastructure that
LLMs already use, extending it to image models with appropriate metadata
and icons
## Test Plan
### Manual Testing
Verified image models behave like text models in the model list dialog
---------
Co-authored-by: Alex Cheema <41707476+AlexCheema@users.noreply.github.com>
---
dashboard/src/lib/components/FamilyLogos.svelte | 12 +++++++
dashboard/src/lib/components/FamilySidebar.svelte | 4 ++-
.../src/lib/components/ModelFilterPopover.svelte | 41 ++++++++++++++++++++++
.../src/lib/components/ModelPickerGroup.svelte | 37 +++++++++++++++++--
.../src/lib/components/ModelPickerModal.svelte | 6 ++--
.../exolabs--FLUX.1-Kontext-dev-4bit.toml | 4 +++
.../exolabs--FLUX.1-Kontext-dev-8bit.toml | 4 +++
.../exolabs--FLUX.1-Kontext-dev.toml | 4 +++
.../exolabs--FLUX.1-Krea-dev-4bit.toml | 4 +++
.../exolabs--FLUX.1-Krea-dev-8bit.toml | 4 +++
.../exolabs--FLUX.1-Krea-dev.toml | 4 +++
.../exolabs--FLUX.1-dev-4bit.toml | 4 +++
.../exolabs--FLUX.1-dev-8bit.toml | 4 +++
.../image_model_cards/exolabs--FLUX.1-dev.toml | 4 +++
.../exolabs--FLUX.1-schnell-4bit.toml | 4 +++
.../exolabs--FLUX.1-schnell-8bit.toml | 4 +++
.../image_model_cards/exolabs--FLUX.1-schnell.toml | 4 +++
.../exolabs--Qwen-Image-4bit.toml | 4 +++
.../exolabs--Qwen-Image-8bit.toml | 4 +++
.../exolabs--Qwen-Image-Edit-2509-4bit.toml | 4 +++
.../exolabs--Qwen-Image-Edit-2509-8bit.toml | 4 +++
.../exolabs--Qwen-Image-Edit-2509.toml | 4 +++
.../image_model_cards/exolabs--Qwen-Image.toml | 4 +++
23 files changed, 167 insertions(+), 5 deletions(-)
diff --git a/dashboard/src/lib/components/FamilyLogos.svelte b/dashboard/src/lib/components/FamilyLogos.svelte
index 8e2919fe..e4bd0458 100644
--- a/dashboard/src/lib/components/FamilyLogos.svelte
+++ b/dashboard/src/lib/components/FamilyLogos.svelte
@@ -58,6 +58,18 @@
d="M17.962 1.844h-4.326l-3.425 7.81H5.369V1.878H1.5V22h3.87v-8.477h6.824a3.025 3.025 0 002.743-1.75V22h3.87v-8.477a3.87 3.87 0 00-3.588-3.86v-.01h-2.125a3.94 3.94 0 002.323-2.12l2.545-5.689z"
/>
</svg>
+{:else if family === "flux"}
+ <svg class="w-6 h-6 {className}" viewBox="0 0 24 24" fill="currentColor">
+ <path
+ d="M12 2L2 19h7.5l2.5-4.5L14.5 19H22L12 2zm0 4.5L16.5 17h-3l-1.5-2.7L10.5 17h-3L12 6.5z"
+ />
+ </svg>
+{:else if family === "qwen-image"}
+ <svg class="w-6 h-6 {className}" viewBox="0 0 24 24" fill="currentColor">
+ <path
+ d="M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z"
+ />
+ </svg>
{:else if family === "huggingface"}
<svg class="w-6 h-6 {className}" viewBox="0 0 24 24" fill="currentColor">
<path
diff --git a/dashboard/src/lib/components/FamilySidebar.svelte b/dashboard/src/lib/components/FamilySidebar.svelte
index 886a68d5..598004f2 100644
--- a/dashboard/src/lib/components/FamilySidebar.svelte
+++ b/dashboard/src/lib/components/FamilySidebar.svelte
@@ -22,6 +22,8 @@
glm: "GLM",
minimax: "MiniMax",
kimi: "Kimi",
+ flux: "FLUX",
+ "qwen-image": "Qwen Img",
};
function getFamilyName(family: string): string {
@@ -32,7 +34,7 @@
</script>
<div
- class="flex flex-col gap-1 py-2 px-1 border-r border-exo-yellow/10 bg-exo-medium-gray/30 min-w-[64px]"
+ class="flex flex-col gap-1 py-2 px-1 border-r border-exo-yellow/10 bg-exo-medium-gray/30 min-w-[64px] overflow-y-auto scrollbar-hide"
>
<!-- All models (no filter) -->
<button
diff --git a/dashboard/src/lib/components/ModelFilterPopover.svelte b/dashboard/src/lib/components/ModelFilterPopover.svelte
index d9253066..452a1c65 100644
--- a/dashboard/src/lib/components/ModelFilterPopover.svelte
+++ b/dashboard/src/lib/components/ModelFilterPopover.svelte
@@ -24,6 +24,8 @@
{ id: "thinking", label: "Thinking" },
{ id: "code", label: "Code" },
{ id: "vision", label: "Vision" },
+ { id: "image_gen", label: "Image Gen" },
+ { id: "image_edit", label: "Image Edit" },
];
// Size ranges
@@ -142,6 +144,45 @@
stroke-linejoin="round"
/><circle cx="12" cy="12" r="3" /></svg
>
+ {:else if cap.id === "image_gen"}
+ <svg
+ class="w-3.5 h-3.5 inline-block"
+ viewBox="0 0 24 24"
+ fill="none"
+ stroke="currentColor"
+ stroke-width="1.5"
+ ><rect
+ x="3"
+ y="3"
+ width="18"
+ height="18"
+ rx="2"
+ ry="2"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ /><circle cx="8.5" cy="8.5" r="1.5" /><path
+ d="M21 15l-5-5L5 21"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ /></svg
+ >
+ {:else if cap.id === "image_edit"}
+ <svg
+ class="w-3.5 h-3.5 inline-block"
+ viewBox="0 0 24 24"
+ fill="none"
+ stroke="currentColor"
+ stroke-width="1.5"
+ ><path
+ d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ /><path
+ d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ /></svg
+ >
{/if}
<span class="ml-1">{cap.label}</span>
</button>
diff --git a/dashboard/src/lib/components/ModelPickerGroup.svelte b/dashboard/src/lib/components/ModelPickerGroup.svelte
index 86155ea5..cb4d7536 100644
--- a/dashboard/src/lib/components/ModelPickerGroup.svelte
+++ b/dashboard/src/lib/components/ModelPickerGroup.svelte
@@ -200,9 +200,42 @@
stroke-width="1.5"
title="Supports image generation"
>
- <rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
+ <rect
+ x="3"
+ y="3"
+ width="18"
+ height="18"
+ rx="2"
+ ry="2"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ />
<circle cx="8.5" cy="8.5" r="1.5" />
- <path d="M21 15l-5-5L5 21" />
+ <path
+ d="M21 15l-5-5L5 21"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ />
+ </svg>
+ {:else if cap === "image_edit"}
+ <svg
+ class="w-3.5 h-3.5 text-white/40 flex-shrink-0"
+ viewBox="0 0 24 24"
+ fill="none"
+ stroke="currentColor"
+ stroke-width="1.5"
+ title="Supports image editing"
+ >
+ <path
+ d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ />
+ <path
+ d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"
+ stroke-linecap="round"
+ stroke-linejoin="round"
+ />
</svg>
{/if}
{/each}
diff --git a/dashboard/src/lib/components/ModelPickerModal.svelte b/dashboard/src/lib/components/ModelPickerModal.svelte
index 562f1b81..f32ce002 100644
--- a/dashboard/src/lib/components/ModelPickerModal.svelte
+++ b/dashboard/src/lib/components/ModelPickerModal.svelte
@@ -363,6 +363,8 @@
"deepseek",
"gpt-oss",
"llama",
+ "flux",
+ "qwen-image",
];
return Array.from(families).sort((a, b) => {
const aIdx = familyOrder.indexOf(a);
@@ -606,7 +608,7 @@
/>
<!-- Model list -->
- <div class="flex-1 overflow-y-auto flex flex-col">
+ <div class="flex-1 overflow-y-auto scrollbar-hide flex flex-col">
{#if selectedFamily === "huggingface"}
<!-- HuggingFace Hub view -->
<div class="flex-1 flex flex-col min-h-0">
@@ -624,7 +626,7 @@
</div>
<!-- Results list -->
- <div class="flex-1 overflow-y-auto">
+ <div class="flex-1 overflow-y-auto scrollbar-hide">
{#if hfIsLoadingTrending && hfTrendingModels.length === 0}
<div
class="flex items-center justify-center py-12 text-white/40"
diff --git a/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-4bit.toml b/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-4bit.toml
index baf305ca..1e0c0e10 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-4bit.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-4bit.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["ImageToImage"]
+family = "flux"
+quantization = "4bit"
+base_model = "FLUX.1 Kontext"
+capabilities = ["image_edit"]
[storage_size]
in_bytes = 15475325472
diff --git a/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-8bit.toml b/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-8bit.toml
index ce0809c2..e2020718 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-8bit.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev-8bit.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["ImageToImage"]
+family = "flux"
+quantization = "8bit"
+base_model = "FLUX.1 Kontext"
+capabilities = ["image_edit"]
[storage_size]
in_bytes = 21426029632
diff --git a/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev.toml b/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev.toml
index 2ebb0c43..14cdf270 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-Kontext-dev.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["ImageToImage"]
+family = "flux"
+quantization = ""
+base_model = "FLUX.1 Kontext"
+capabilities = ["image_edit"]
[storage_size]
in_bytes = 33327437952
diff --git a/resources/image_model_cards/exolabs--FLUX.1-Krea-dev-4bit.toml b/resources/image_model_cards/exolabs--FLUX.1-Krea-dev-4bit.toml
index 0ef43898..fd9d8608 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-Krea-dev-4bit.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-Krea-dev-4bit.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = "4bit"
+base_model = "FLUX.1 Krea"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 15475325472
diff --git a/resources/image_model_cards/exolabs--FLUX.1-Krea-dev-8bit.toml b/resources/image_model_cards/exolabs--FLUX.1-Krea-dev-8bit.toml
index d6f74841..1d9221a7 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-Krea-dev-8bit.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-Krea-dev-8bit.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = "8bit"
+base_model = "FLUX.1 Krea"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 21426029632
diff --git a/resources/image_model_cards/exolabs--FLUX.1-Krea-dev.toml b/resources/image_model_cards/exolabs--FLUX.1-Krea-dev.toml
index 690ce36b..516fdb88 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-Krea-dev.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-Krea-dev.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = ""
+base_model = "FLUX.1 Krea"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 33327437952
diff --git a/resources/image_model_cards/exolabs--FLUX.1-dev-4bit.toml b/resources/image_model_cards/exolabs--FLUX.1-dev-4bit.toml
index a194c798..82b03bad 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-dev-4bit.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-dev-4bit.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = "4bit"
+base_model = "FLUX.1 Dev"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 15475325472
diff --git a/resources/image_model_cards/exolabs--FLUX.1-dev-8bit.toml b/resources/image_model_cards/exolabs--FLUX.1-dev-8bit.toml
index 5a41e4d6..e35629d8 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-dev-8bit.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-dev-8bit.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = "8bit"
+base_model = "FLUX.1 Dev"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 21426029632
diff --git a/resources/image_model_cards/exolabs--FLUX.1-dev.toml b/resources/image_model_cards/exolabs--FLUX.1-dev.toml
index 2d077815..44e5533d 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-dev.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-dev.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = ""
+base_model = "FLUX.1 Dev"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 33327437952
diff --git a/resources/image_model_cards/exolabs--FLUX.1-schnell-4bit.toml b/resources/image_model_cards/exolabs--FLUX.1-schnell-4bit.toml
index 3f01217d..4d6f97b8 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-schnell-4bit.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-schnell-4bit.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = "4bit"
+base_model = "FLUX.1 Schnell"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 15470210592
diff --git a/resources/image_model_cards/exolabs--FLUX.1-schnell-8bit.toml b/resources/image_model_cards/exolabs--FLUX.1-schnell-8bit.toml
index c20fc778..56b2faeb 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-schnell-8bit.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-schnell-8bit.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = "8bit"
+base_model = "FLUX.1 Schnell"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 21415799872
diff --git a/resources/image_model_cards/exolabs--FLUX.1-schnell.toml b/resources/image_model_cards/exolabs--FLUX.1-schnell.toml
index f09cd325..efb08522 100644
--- a/resources/image_model_cards/exolabs--FLUX.1-schnell.toml
+++ b/resources/image_model_cards/exolabs--FLUX.1-schnell.toml
@@ -3,6 +3,10 @@ n_layers = 57
hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
+family = "flux"
+quantization = ""
+base_model = "FLUX.1 Schnell"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 33306978432
diff --git a/resources/image_model_cards/exolabs--Qwen-Image-4bit.toml b/resources/image_model_cards/exolabs--Qwen-Image-4bit.toml
index 8d3a637e..b11765a1 100644
--- a/resources/image_model_cards/exolabs--Qwen-Image-4bit.toml
+++ b/resources/image_model_cards/exolabs--Qwen-Image-4bit.toml
@@ -4,6 +4,10 @@ hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
uses_cfg = true
+family = "qwen-image"
+quantization = "4bit"
+base_model = "Qwen Image"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 26799533856
diff --git a/resources/image_model_cards/exolabs--Qwen-Image-8bit.toml b/resources/image_model_cards/exolabs--Qwen-Image-8bit.toml
index ddf78c4a..64f2b55a 100644
--- a/resources/image_model_cards/exolabs--Qwen-Image-8bit.toml
+++ b/resources/image_model_cards/exolabs--Qwen-Image-8bit.toml
@@ -4,6 +4,10 @@ hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
uses_cfg = true
+family = "qwen-image"
+quantization = "8bit"
+base_model = "Qwen Image"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 37014734400
diff --git a/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-4bit.toml b/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-4bit.toml
index db2f5e54..13992cbe 100644
--- a/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-4bit.toml
+++ b/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-4bit.toml
@@ -4,6 +4,10 @@ hidden_size = 1
supports_tensor = false
tasks = ["ImageToImage"]
uses_cfg = true
+family = "qwen-image"
+quantization = "4bit"
+base_model = "Qwen Image Edit"
+capabilities = ["image_edit"]
[storage_size]
in_bytes = 26799533856
diff --git a/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-8bit.toml b/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-8bit.toml
index 2db63265..60b7e3dd 100644
--- a/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-8bit.toml
+++ b/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509-8bit.toml
@@ -4,6 +4,10 @@ hidden_size = 1
supports_tensor = false
tasks = ["ImageToImage"]
uses_cfg = true
+family = "qwen-image"
+quantization = "8bit"
+base_model = "Qwen Image Edit"
+capabilities = ["image_edit"]
[storage_size]
in_bytes = 37014734400
diff --git a/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509.toml b/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509.toml
index 3b615da1..9c68b221 100644
--- a/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509.toml
+++ b/resources/image_model_cards/exolabs--Qwen-Image-Edit-2509.toml
@@ -4,6 +4,10 @@ hidden_size = 1
supports_tensor = false
tasks = ["ImageToImage"]
uses_cfg = true
+family = "qwen-image"
+quantization = ""
+base_model = "Qwen Image Edit"
+capabilities = ["image_edit"]
[storage_size]
in_bytes = 57445135488
diff --git a/resources/image_model_cards/exolabs--Qwen-Image.toml b/resources/image_model_cards/exolabs--Qwen-Image.toml
index d012af50..5a86ccfe 100644
--- a/resources/image_model_cards/exolabs--Qwen-Image.toml
+++ b/resources/image_model_cards/exolabs--Qwen-Image.toml
@@ -4,6 +4,10 @@ hidden_size = 1
supports_tensor = false
tasks = ["TextToImage"]
uses_cfg = true
+family = "qwen-image"
+quantization = ""
+base_model = "Qwen Image"
+capabilities = ["image_gen"]
[storage_size]
in_bytes = 57445135488
← dcb4cabc Update the nix hash for mlx 0.30.5 (#1416)
·
back to Exo
·
Synchronize before warmup (#1419) 8f3681cf →