Model Manifests
A .model.yaml describes a single AI model — its source, format, hardware requirements, and integrity checks.
schema: thumper-model/v2id: sdxl-base-1.0name: Stable Diffusion XL Base 1.0kind: checkpointformat: safetensorsprecision: fp16architecture: sdxlfunction: text-to-imagecompatible_apps: [comfyui, stable-diffusion-webui, foocus]source:type: huggingfacerepo: stabilityai/stable-diffusion-xl-base-1.0install_dir: models/checkpointsfiles:- path: sd_xl_base_1.0.safetensorssha256: "31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b"size_bytes: 6938078334vram_gb: 6.5disk_gb: 6.94license:spdx: openrail++commercial: truediscovery_hints:filenames: [sd_xl_base_1.0.safetensors]size_range:min_bytes: 6900000000max_bytes: 7000000000
Key Concepts
- ModelKind: checkpoint, lora, controlnet, embedding, vae, llm, tts, video, audio, and 15+ more
- Sources: HuggingFace repos (
type: huggingface), direct URLs (type: url), CivitAI, S3, local paths - Integrity: SHA-256 hash on every file, verified on download
- Discovery hints: filename patterns + size ranges let the platform match local files to manifests without re-downloading
- License: SPDX identifier + commercial use flag for catalog filtering
100+ model manifests in examples/model-manifests/ covering image, video, audio, LLM, 3D, and face models.
Pack Manifests
A .pack.yaml bundles multiple models into a ready-to-use collection for a specific app or task.
schema: thumper-pack/v2id: sdxl-starterdisplay_name: "SDXL Starter Pack"kind: text-to-imagecompatible_apps: [comfyui, foocus, stable-diffusion-webui]models:- ref: sdxl-base-1.0role: primary-checkpointrequired: true- ref: sdxl-refiner-1.0role: auxiliary-checkpointrequired: false- ref: sdxl-vae-fp16-fixrole: vaerequired: falsehardware:minimum:vram_gb: 6.5ram_gb: 16.0disk_gb: 14.0recommended:vram_gb: 12.0presets:- name: Fast Generationmodels_needed: [sdxl-base-1.0]- name: High Qualitymodels_needed: [sdxl-base-1.0, sdxl-refiner-1.0, sdxl-vae-fp16-fix]platform_overrides:amd_apu:env:MIOPEN_FIND_MODE: "FAST"dtype_preference: "bf16"dtype_exclusions: ["fp16"]
Key Fields
models[].role: primary-checkpoint, auxiliary-checkpoint, vae, speech-recognition, etc.models[].required: if true, app won't launch without this model; if false, it's optionalhardware.minimum / recommended: VRAM/RAM/disk thresholds shown to users before downloadpresets: named configs using subsets of models (users pick which preset to download)platform_overrides: per-GPU environment variables, dtype preferences, and exclusions
41 pack manifests in examples/model-manifests/ covering image, video, audio, LLM, 3D, and face pipelines.
Quantization & Variants
Models often come in multiple precision formats trading quality for memory. The platform automatically picks the best variant for your GPU.
quantizations:- id: sdxl-base-fp16-prunedformat: safetensorsprecision: fp16quality: highvram_gb: 6.0disk_gb: 6.46files:- path: sd_xl_base_1.0_0.9vae.safetensorssize_bytes: 6938078334
Common Precision Formats
| Format | Bits | Quality | VRAM | Best For |
|---|---|---|---|---|
| fp32 | 32 | Reference | 2× | Debugging |
| fp16 | 16 | High | 1× | NVIDIA GPUs |
| bf16 | 16 | High | 1× | AMD GPUs, newer NVIDIA |
| fp8 | 8 | Good | 0.5× | Large models on limited VRAM |
| q8_0 | 8 | Good | 0.5× | GGUF LLMs |
| q4_k_m | 4.5 | Medium | 0.28× | GGUF LLMs on consumer GPUs |
| q4_0 | 4 | Lower | 0.25× | Minimum viable quality |
The platform checks available VRAM, filters to variants that fit, and picks the highest quality. Users can override in settings.
Manifest Reference
Complete field reference for all manifest types. See the schema files in schemas/ for JSON Schema definitions.
App Manifest (.thumper.yaml)
| Field | Type | Required | Description |
|---|---|---|---|
| thumper | string | Yes | Schema version, always "1.0" |
| id | string | Yes | Unique lowercase identifier (e.g., "comfyui") |
| name | string | Yes | Human-readable display name |
| version | string | Yes | Semver version (e.g., "1.2.3") |
| runtime | object | Yes | How to run: type, entry, port, health_check, env |
| install | object | — | GitHub URL + per-platform install commands |
| requirements | object | — | RAM, VRAM, disk, GPU vendor, platform constraints |
| pack_refs | string[] | — | Model pack IDs to auto-install |
| dependencies | object | — | External deps: ollama, ollama_models, custom_nodes |
| visuals | object | — | emoji, icon, gradient, screenshots, description |
| patches | array | — | Post-install config modifications (string_replace, json_merge, etc.) |
Model Manifest (.model.yaml)
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique model identifier |
| name | string | Yes | Human-readable model name |
| kind | enum | Yes | checkpoint, lora, vae, text-encoder, unet, clip, controlnet, etc. |
| files | array | Yes | List of weight files with download_url, sha256, filename, size |
| hf_repo_id | string | — | HuggingFace repo (e.g., "stabilityai/sdxl-base-1.0") |
| architecture | string | — | Model architecture family (e.g., "sdxl", "llama", "whisper") |
| precision | string | — | fp32, fp16, bf16, fp8, q8_0, q4_k_m, etc. |
Pack Manifest (.pack.yaml)
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique pack identifier |
| name | string | Yes | Human-readable pack name |
| models | array | Yes | References to model manifest IDs |
| models_required | bool | — | If true, missing models are fatal (blocks launch). Default: false |
| target_dir | string | — | Where to place models relative to app dir (e.g., "models/checkpoints") |
| variants | object | — | GPU-specific model selections (e.g., fp16 for NVIDIA, bf16 for AMD) |
Platform Integrations
HuggingFace Integration
Thumper-Run discovers models from the local HuggingFace cache automatically. Use these manifest fields for HF-hosted models:
source:type: huggingfacerepo: stabilityai/stable-diffusion-xl-base-1.0revision: main # branch or commit hashaccess: public # public, gated, restricted# Discovery hints for finding already-downloaded modelsdiscovery_hints:filenames: [sd_xl_base_1.0.safetensors]hf_repos: [stabilityai/stable-diffusion-xl-base-1.0]size_range:min_bytes: 6900000000max_bytes: 7000000000
The discovery system links existing HF cache entries to app model directories via symlinks, avoiding duplicate downloads. Cache location: ~/.cache/huggingface/hub/ (override with HF_HOME).
CivitAI Integration
For models hosted on CivitAI, use the civitai source type or direct HTTPS URL:
source:type: civitaiurl: https://civitai.com/api/download/models/128713# Or use direct HTTPS with fallbacksource:type: httpsurl: https://civitai.com/api/download/models/128713fallback:type: huggingfacerepo: mirror/model-name
When importing ComfyUI workflows, Thumper-Run automatically searches CivitAI by filename to resolve unknown models.