← back to Exo
Disable image model cards temporarily (#1247)
023108a19d2b3d23a3fa2a648974e32370e84a8a · 2026-01-21 22:39:59 +0000 · Alex Cheema
## Motivation
Image generation feature is not stable and causing issues for users.
Fixes #1242
## Changes
- Commented out image model cards (flux1-schnell, flux1-dev, qwen-image,
qwen-image-edit-2509) in `src/exo/shared/models/model_cards.py`
- Added reference to issue #1242 in the comment explaining why they are
disabled
## Why It Works
By commenting out the model cards, these image models will no longer
appear in the model list, preventing users from attempting to use the
unstable feature until it is stabilized.
## Test Plan
### Manual Testing
- Run exo and verify image models no longer appear in the model list
### Automated Testing
- No changes to automated tests needed - this simply removes models from
the available list
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Files touched
M src/exo/shared/models/model_cards.py
Diff
commit 023108a19d2b3d23a3fa2a648974e32370e84a8a
Author: Alex Cheema <41707476+AlexCheema@users.noreply.github.com>
Date: Wed Jan 21 22:39:59 2026 +0000
Disable image model cards temporarily (#1247)
## Motivation
Image generation feature is not stable and causing issues for users.
Fixes #1242
## Changes
- Commented out image model cards (flux1-schnell, flux1-dev, qwen-image,
qwen-image-edit-2509) in `src/exo/shared/models/model_cards.py`
- Added reference to issue #1242 in the comment explaining why they are
disabled
## Why It Works
By commenting out the model cards, these image models will no longer
appear in the model list, preventing users from attempting to use the
unstable feature until it is stabilized.
## Test Plan
### Manual Testing
- Run exo and verify image models no longer appear in the model list
### Automated Testing
- No changes to automated tests needed - this simply removes models from
the available list
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
---
src/exo/shared/models/model_cards.py | 305 ++++++++++++++++++-----------------
1 file changed, 153 insertions(+), 152 deletions(-)
diff --git a/src/exo/shared/models/model_cards.py b/src/exo/shared/models/model_cards.py
index 7f8b5dde..2aebc154 100644
--- a/src/exo/shared/models/model_cards.py
+++ b/src/exo/shared/models/model_cards.py
@@ -410,158 +410,159 @@ MODEL_CARDS: dict[str, ModelCard] = {
supports_tensor=True,
tasks=[ModelTask.TextGeneration],
),
- "flux1-schnell": ModelCard(
- model_id=ModelId("black-forest-labs/FLUX.1-schnell"),
- storage_size=Memory.from_bytes(23782357120 + 9524621312),
- n_layers=57,
- hidden_size=1,
- supports_tensor=False,
- tasks=[ModelTask.TextToImage],
- components=[
- ComponentInfo(
- component_name="text_encoder",
- component_path="text_encoder/",
- storage_size=Memory.from_kb(0),
- n_layers=12,
- can_shard=False,
- safetensors_index_filename=None, # Single file
- ),
- ComponentInfo(
- component_name="text_encoder_2",
- component_path="text_encoder_2/",
- storage_size=Memory.from_bytes(9524621312),
- n_layers=24,
- can_shard=False,
- safetensors_index_filename="model.safetensors.index.json",
- ),
- ComponentInfo(
- component_name="transformer",
- component_path="transformer/",
- storage_size=Memory.from_bytes(23782357120),
- n_layers=57, # 19 transformer_blocks + 38 single_transformer_blocks
- can_shard=True,
- safetensors_index_filename="diffusion_pytorch_model.safetensors.index.json",
- ),
- ComponentInfo(
- component_name="vae",
- component_path="vae/",
- storage_size=Memory.from_kb(0),
- n_layers=None,
- can_shard=False,
- safetensors_index_filename=None,
- ),
- ],
- ),
- "flux1-dev": ModelCard(
- model_id=ModelId("black-forest-labs/FLUX.1-dev"),
- storage_size=Memory.from_bytes(23782357120 + 9524621312),
- n_layers=57,
- hidden_size=1,
- supports_tensor=False,
- tasks=[ModelTask.TextToImage, ModelTask.ImageToImage],
- components=[
- ComponentInfo(
- component_name="text_encoder",
- component_path="text_encoder/",
- storage_size=Memory.from_kb(0),
- n_layers=12,
- can_shard=False,
- safetensors_index_filename=None, # Single file
- ),
- ComponentInfo(
- component_name="text_encoder_2",
- component_path="text_encoder_2/",
- storage_size=Memory.from_bytes(9524621312),
- n_layers=24,
- can_shard=False,
- safetensors_index_filename="model.safetensors.index.json",
- ),
- ComponentInfo(
- component_name="transformer",
- component_path="transformer/",
- storage_size=Memory.from_bytes(23802816640),
- n_layers=57, # 19 transformer_blocks + 38 single_transformer_blocks
- can_shard=True,
- safetensors_index_filename="diffusion_pytorch_model.safetensors.index.json",
- ),
- ComponentInfo(
- component_name="vae",
- component_path="vae/",
- storage_size=Memory.from_kb(0),
- n_layers=None,
- can_shard=False,
- safetensors_index_filename=None,
- ),
- ],
- ),
- "qwen-image": ModelCard(
- model_id=ModelId("Qwen/Qwen-Image"),
- storage_size=Memory.from_bytes(16584333312 + 40860802176),
- n_layers=60, # Qwen has 60 transformer blocks (all joint-style)
- hidden_size=1,
- supports_tensor=False,
- tasks=[ModelTask.TextToImage, ModelTask.ImageToImage],
- components=[
- ComponentInfo(
- component_name="text_encoder",
- component_path="text_encoder/",
- storage_size=Memory.from_kb(16584333312),
- n_layers=12,
- can_shard=False,
- safetensors_index_filename=None, # Single file
- ),
- ComponentInfo(
- component_name="transformer",
- component_path="transformer/",
- storage_size=Memory.from_bytes(40860802176),
- n_layers=60,
- can_shard=True,
- safetensors_index_filename="diffusion_pytorch_model.safetensors.index.json",
- ),
- ComponentInfo(
- component_name="vae",
- component_path="vae/",
- storage_size=Memory.from_kb(0),
- n_layers=None,
- can_shard=False,
- safetensors_index_filename=None,
- ),
- ],
- ),
- "qwen-image-edit-2509": ModelCard(
- model_id=ModelId("Qwen/Qwen-Image-Edit-2509"),
- storage_size=Memory.from_bytes(16584333312 + 40860802176),
- n_layers=60, # Qwen has 60 transformer blocks (all joint-style)
- hidden_size=1,
- supports_tensor=False,
- tasks=[ModelTask.ImageToImage],
- components=[
- ComponentInfo(
- component_name="text_encoder",
- component_path="text_encoder/",
- storage_size=Memory.from_kb(16584333312),
- n_layers=12,
- can_shard=False,
- safetensors_index_filename=None, # Single file
- ),
- ComponentInfo(
- component_name="transformer",
- component_path="transformer/",
- storage_size=Memory.from_bytes(40860802176),
- n_layers=60,
- can_shard=True,
- safetensors_index_filename="diffusion_pytorch_model.safetensors.index.json",
- ),
- ComponentInfo(
- component_name="vae",
- component_path="vae/",
- storage_size=Memory.from_kb(0),
- n_layers=None,
- can_shard=False,
- safetensors_index_filename=None,
- ),
- ],
- ),
+ # Image models commented out - feature not stable (see https://github.com/exo-explore/exo/issues/1242)
+ # "flux1-schnell": ModelCard(
+ # model_id=ModelId("black-forest-labs/FLUX.1-schnell"),
+ # storage_size=Memory.from_bytes(23782357120 + 9524621312),
+ # n_layers=57,
+ # hidden_size=1,
+ # supports_tensor=False,
+ # tasks=[ModelTask.TextToImage],
+ # components=[
+ # ComponentInfo(
+ # component_name="text_encoder",
+ # component_path="text_encoder/",
+ # storage_size=Memory.from_kb(0),
+ # n_layers=12,
+ # can_shard=False,
+ # safetensors_index_filename=None, # Single file
+ # ),
+ # ComponentInfo(
+ # component_name="text_encoder_2",
+ # component_path="text_encoder_2/",
+ # storage_size=Memory.from_bytes(9524621312),
+ # n_layers=24,
+ # can_shard=False,
+ # safetensors_index_filename="model.safetensors.index.json",
+ # ),
+ # ComponentInfo(
+ # component_name="transformer",
+ # component_path="transformer/",
+ # storage_size=Memory.from_bytes(23782357120),
+ # n_layers=57, # 19 transformer_blocks + 38 single_transformer_blocks
+ # can_shard=True,
+ # safetensors_index_filename="diffusion_pytorch_model.safetensors.index.json",
+ # ),
+ # ComponentInfo(
+ # component_name="vae",
+ # component_path="vae/",
+ # storage_size=Memory.from_kb(0),
+ # n_layers=None,
+ # can_shard=False,
+ # safetensors_index_filename=None,
+ # ),
+ # ],
+ # ),
+ # "flux1-dev": ModelCard(
+ # model_id=ModelId("black-forest-labs/FLUX.1-dev"),
+ # storage_size=Memory.from_bytes(23782357120 + 9524621312),
+ # n_layers=57,
+ # hidden_size=1,
+ # supports_tensor=False,
+ # tasks=[ModelTask.TextToImage, ModelTask.ImageToImage],
+ # components=[
+ # ComponentInfo(
+ # component_name="text_encoder",
+ # component_path="text_encoder/",
+ # storage_size=Memory.from_kb(0),
+ # n_layers=12,
+ # can_shard=False,
+ # safetensors_index_filename=None, # Single file
+ # ),
+ # ComponentInfo(
+ # component_name="text_encoder_2",
+ # component_path="text_encoder_2/",
+ # storage_size=Memory.from_bytes(9524621312),
+ # n_layers=24,
+ # can_shard=False,
+ # safetensors_index_filename="model.safetensors.index.json",
+ # ),
+ # ComponentInfo(
+ # component_name="transformer",
+ # component_path="transformer/",
+ # storage_size=Memory.from_bytes(23802816640),
+ # n_layers=57, # 19 transformer_blocks + 38 single_transformer_blocks
+ # can_shard=True,
+ # safetensors_index_filename="diffusion_pytorch_model.safetensors.index.json",
+ # ),
+ # ComponentInfo(
+ # component_name="vae",
+ # component_path="vae/",
+ # storage_size=Memory.from_kb(0),
+ # n_layers=None,
+ # can_shard=False,
+ # safetensors_index_filename=None,
+ # ),
+ # ],
+ # ),
+ # "qwen-image": ModelCard(
+ # model_id=ModelId("Qwen/Qwen-Image"),
+ # storage_size=Memory.from_bytes(16584333312 + 40860802176),
+ # n_layers=60, # Qwen has 60 transformer blocks (all joint-style)
+ # hidden_size=1,
+ # supports_tensor=False,
+ # tasks=[ModelTask.TextToImage, ModelTask.ImageToImage],
+ # components=[
+ # ComponentInfo(
+ # component_name="text_encoder",
+ # component_path="text_encoder/",
+ # storage_size=Memory.from_kb(16584333312),
+ # n_layers=12,
+ # can_shard=False,
+ # safetensors_index_filename=None, # Single file
+ # ),
+ # ComponentInfo(
+ # component_name="transformer",
+ # component_path="transformer/",
+ # storage_size=Memory.from_bytes(40860802176),
+ # n_layers=60,
+ # can_shard=True,
+ # safetensors_index_filename="diffusion_pytorch_model.safetensors.index.json",
+ # ),
+ # ComponentInfo(
+ # component_name="vae",
+ # component_path="vae/",
+ # storage_size=Memory.from_kb(0),
+ # n_layers=None,
+ # can_shard=False,
+ # safetensors_index_filename=None,
+ # ),
+ # ],
+ # ),
+ # "qwen-image-edit-2509": ModelCard(
+ # model_id=ModelId("Qwen/Qwen-Image-Edit-2509"),
+ # storage_size=Memory.from_bytes(16584333312 + 40860802176),
+ # n_layers=60, # Qwen has 60 transformer blocks (all joint-style)
+ # hidden_size=1,
+ # supports_tensor=False,
+ # tasks=[ModelTask.ImageToImage],
+ # components=[
+ # ComponentInfo(
+ # component_name="text_encoder",
+ # component_path="text_encoder/",
+ # storage_size=Memory.from_kb(16584333312),
+ # n_layers=12,
+ # can_shard=False,
+ # safetensors_index_filename=None, # Single file
+ # ),
+ # ComponentInfo(
+ # component_name="transformer",
+ # component_path="transformer/",
+ # storage_size=Memory.from_bytes(40860802176),
+ # n_layers=60,
+ # can_shard=True,
+ # safetensors_index_filename="diffusion_pytorch_model.safetensors.index.json",
+ # ),
+ # ComponentInfo(
+ # component_name="vae",
+ # component_path="vae/",
+ # storage_size=Memory.from_kb(0),
+ # n_layers=None,
+ # can_shard=False,
+ # safetensors_index_filename=None,
+ # ),
+ # ],
+ # ),
}
← c9818c30 dashboard: show model total size on downloads page for pendi
·
back to Exo
·
Reduce download log spam (#1249) fc8e6ad0 →