Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6,789 changes: 178 additions & 6,611 deletions backend_service/app.py

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions backend_service/catalog/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from .text_models import MODEL_FAMILIES as MODEL_FAMILIES, CATALOG as CATALOG
from .image_models import IMAGE_MODEL_FAMILIES as IMAGE_MODEL_FAMILIES, LATEST_IMAGE_TRACKED_SEEDS as LATEST_IMAGE_TRACKED_SEEDS
223 changes: 223 additions & 0 deletions backend_service/catalog/image_models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
from __future__ import annotations

from typing import Any


IMAGE_MODEL_FAMILIES: list[dict[str, Any]] = [
{
"id": "flux-fast",
"name": "FLUX.1 Schnell",
"provider": "Black Forest Labs",
"headline": "Fast prompt-to-image path for quick concepting and moodboards.",
"summary": "Best starter option for rapid local ideation when you care more about speed and iteration than maximum fidelity.",
"updatedLabel": "Curated starter pick",
"badges": ["Fast", "General", "Photoreal"],
"defaultVariantId": "black-forest-labs/FLUX.1-schnell",
"variants": [
{
"id": "black-forest-labs/FLUX.1-schnell",
"familyId": "flux-fast",
"name": "FLUX.1 Schnell",
"provider": "Black Forest Labs",
"repo": "black-forest-labs/FLUX.1-schnell",
"link": "https://huggingface.co/black-forest-labs/FLUX.1-schnell",
"runtime": "Stub diffusion pipeline",
"styleTags": ["photoreal", "general", "fast"],
"taskSupport": ["txt2img"],
"sizeGb": 23.7,
"recommendedResolution": "1024x1024",
"note": "Fastest concepting option in the curated image catalog.",
"estimatedGenerationSeconds": 4.2,
}
],
},
{
"id": "flux-dev",
"name": "FLUX.1 Dev",
"provider": "Black Forest Labs",
"headline": "High-fidelity guidance-distilled model for detailed, prompt-faithful generation.",
"summary": "Balanced option for the eventual production runtime when you want stronger final image quality than the fast path.",
"updatedLabel": "Curated quality pick",
"badges": ["Balanced", "General", "Detailed"],
"defaultVariantId": "black-forest-labs/FLUX.1-dev",
"variants": [
{
"id": "black-forest-labs/FLUX.1-dev",
"familyId": "flux-dev",
"name": "FLUX.1 Dev",
"provider": "Black Forest Labs",
"repo": "black-forest-labs/FLUX.1-dev",
"link": "https://huggingface.co/black-forest-labs/FLUX.1-dev",
"runtime": "Stub diffusion pipeline",
"styleTags": ["general", "detailed", "balanced"],
"taskSupport": ["txt2img"],
"sizeGb": 23.8,
"recommendedResolution": "1024x1024",
"note": "Quality-oriented generalist for the curated image lineup.",
"estimatedGenerationSeconds": 7.4,
}
],
},
{
"id": "sd35-medium",
"name": "Stable Diffusion 3.5 Medium",
"provider": "Stability AI",
"headline": "Latest Stability model optimised for consumer hardware with MMDiT architecture.",
"summary": "Modern architecture with strong prompt adherence and detail at a manageable model size for local use.",
"updatedLabel": "Curated balanced pick",
"badges": ["MMDiT", "Balanced", "Modern"],
"defaultVariantId": "stabilityai/stable-diffusion-3.5-medium",
"variants": [
{
"id": "stabilityai/stable-diffusion-3.5-medium",
"familyId": "sd35-medium",
"name": "Stable Diffusion 3.5 Medium",
"provider": "Stability AI",
"repo": "stabilityai/stable-diffusion-3.5-medium",
"link": "https://huggingface.co/stabilityai/stable-diffusion-3.5-medium",
"runtime": "Stub diffusion pipeline",
"styleTags": ["general", "detailed", "modern"],
"taskSupport": ["txt2img"],
"sizeGb": 11.9,
"recommendedResolution": "1024x1024",
"note": "Latest Stability offering targeting a good quality-to-resource balance.",
"estimatedGenerationSeconds": 5.8,
}
],
},
{
"id": "sd35-turbo",
"name": "Stable Diffusion 3.5 Large Turbo",
"provider": "Stability AI",
"headline": "Distilled large model for fast, high-quality generation in fewer inference steps.",
"summary": "Best pick when you want near-instant drafts at higher fidelity than older turbo models.",
"updatedLabel": "Curated speed pick",
"badges": ["Turbo", "Fast", "High quality"],
"defaultVariantId": "stabilityai/stable-diffusion-3.5-large-turbo",
"variants": [
{
"id": "stabilityai/stable-diffusion-3.5-large-turbo",
"familyId": "sd35-turbo",
"name": "Stable Diffusion 3.5 Large Turbo",
"provider": "Stability AI",
"repo": "stabilityai/stable-diffusion-3.5-large-turbo",
"link": "https://huggingface.co/stabilityai/stable-diffusion-3.5-large-turbo",
"runtime": "Stub diffusion pipeline",
"styleTags": ["fast", "quality", "general"],
"taskSupport": ["txt2img"],
"sizeGb": 16.5,
"recommendedResolution": "1024x1024",
"note": "Fastest high-fidelity model in the curated set.",
"estimatedGenerationSeconds": 3.1,
}
],
},
{
"id": "sdxl-balanced",
"name": "SDXL Balanced",
"provider": "Stability AI",
"headline": "General-purpose SDXL model for reliable, high-quality everyday image generation.",
"summary": "Established baseline with wide ecosystem support, LoRA compatibility, and proven quality.",
"updatedLabel": "Curated classic",
"badges": ["Balanced", "General", "Detailed"],
"defaultVariantId": "stabilityai/stable-diffusion-xl-base-1.0",
"variants": [
{
"id": "stabilityai/stable-diffusion-xl-base-1.0",
"familyId": "sdxl-balanced",
"name": "Stable Diffusion XL Base 1.0",
"provider": "Stability AI",
"repo": "stabilityai/stable-diffusion-xl-base-1.0",
"link": "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0",
"runtime": "Stub diffusion pipeline",
"styleTags": ["general", "detailed", "balanced"],
"taskSupport": ["txt2img"],
"sizeGb": 13.1,
"recommendedResolution": "1024x1024",
"note": "Widely adopted SDXL baseline with strong community and LoRA ecosystem.",
"estimatedGenerationSeconds": 7.4,
}
],
},
]

LATEST_IMAGE_TRACKED_SEEDS: list[dict[str, Any]] = [
{
"repo": "Qwen/Qwen-Image",
"name": "Qwen-Image",
"provider": "Qwen",
"styleTags": ["general", "detailed", "qwenimage"],
"taskSupport": ["txt2img"],
"sizeGb": 57.7,
"recommendedResolution": "1024x1024",
"note": "Tracked diffusers-native Qwen image generation family.",
"gated": False,
"pipelineTag": "text-to-image",
"updatedLabel": "Tracked latest",
},
{
"repo": "Qwen/Qwen-Image-Edit",
"name": "Qwen-Image-Edit",
"provider": "Qwen",
"styleTags": ["edit", "qwenimage", "general"],
"taskSupport": ["img2img"],
"sizeGb": 57.7,
"recommendedResolution": "1024x1024",
"note": "Tracked Qwen edit lane so Image Discover can surface newer editing-capable models too.",
"gated": False,
"pipelineTag": "image-to-image",
"updatedLabel": "Tracked latest",
},
{
"repo": "HiDream-ai/HiDream-I1-Full",
"name": "HiDream-I1 Full",
"provider": "HiDream AI",
"styleTags": ["hidream", "detailed", "quality"],
"taskSupport": ["txt2img"],
"sizeGb": 47.2,
"recommendedResolution": "1024x1024",
"note": "Tracked larger open-image generation lane from the HiDream family.",
"gated": False,
"pipelineTag": "text-to-image",
"updatedLabel": "Tracked latest",
},
{
"repo": "zai-org/GLM-Image",
"name": "GLM-Image",
"provider": "Z.ai",
"styleTags": ["general", "edit", "detailed"],
"taskSupport": ["txt2img", "img2img"],
"sizeGb": 35.8,
"recommendedResolution": "1024x1024",
"note": "Tracked unified generation-and-editing lane from the GLM image family.",
"gated": False,
"pipelineTag": "text-to-image",
"updatedLabel": "Tracked latest",
},
{
"repo": "Efficient-Large-Model/Sana_Sprint_0.6B_1024px_diffusers",
"name": "Sana Sprint 0.6B",
"provider": "Efficient-Large-Model",
"styleTags": ["sana", "fast", "small"],
"taskSupport": ["txt2img"],
"sizeGb": 7.7,
"recommendedResolution": "1024x1024",
"note": "Tracked smaller Sana Sprint lane for faster local image generation.",
"gated": False,
"pipelineTag": "text-to-image",
"updatedLabel": "Tracked latest",
},
{
"repo": "Efficient-Large-Model/Sana_Sprint_1.6B_1024px_diffusers",
"name": "Sana Sprint 1.6B",
"provider": "Efficient-Large-Model",
"styleTags": ["sana", "fast", "detailed"],
"taskSupport": ["txt2img"],
"sizeGb": 9.74,
"recommendedResolution": "1024x1024",
"note": "Tracked larger Sana Sprint lane with a better quality-to-speed balance.",
"gated": False,
"pipelineTag": "text-to-image",
"updatedLabel": "Tracked latest",
},
]
Loading