You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-8Lines changed: 23 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,23 +52,38 @@ Per-request `lm_model_path` and **`ACESTEP_MODEL_MAP`** values use the same reso
52
52
53
53
## Multi-model support (GET /v1/models + per-request `model`)
54
54
55
-
Register multiple DiT models via `ACESTEP_MODEL_MAP` (JSON). The available model list is **derived automatically**from the map keys — no separate list variable is needed. Select a model per-request using the `model` field in `/release_task`.
55
+
`GET /v1/models`**automatically scans `ACESTEP_MODELS_DIR`**for `.gguf` files and returns them as the available model list. No extra configuration is required.
Copy file name to clipboardExpand all lines: docs/API.md
+49-12Lines changed: 49 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -415,18 +415,18 @@ curl -X POST http://localhost:8001/create_random_sample \
415
415
416
416
-**URL**: `GET /v1/models`
417
417
418
-
Returns the DiT models registered on this server. The list is derived automatically from `ACESTEP_MODEL_MAP` (no separate list variable required).
418
+
Returns the DiT models available on this server. The list is discovered automatically by scanning `ACESTEP_MODELS_DIR` for `.gguf` files. `ACESTEP_MODEL_MAP` (if set) overrides discovery with explicit logical names. `ACESTEP_MODELS` acts as a filter/gate on the discovered list.
@@ -441,16 +441,49 @@ Returns the DiT models registered on this server. The list is derived automatica
441
441
curl http://localhost:8001/v1/models
442
442
```
443
443
444
-
### 8.4 Registering Multiple Models
444
+
### 8.4 Model discovery order
445
445
446
-
Set `ACESTEP_MODEL_MAP` to a JSON object mapping logical names to GGUF file paths (bare filenames resolve under `ACESTEP_MODELS_DIR`):
446
+
1.**`ACESTEP_MODEL_MAP`** (explicit) — JSON map of `{"logical-name": "file.gguf", …}`. The logical names are exposed as the model names. Use this when you want human-friendly names instead of raw filenames.
447
+
2.**`ACESTEP_MODELS_DIR` scan** (automatic) — `.gguf` files found in the models directory are listed by their filename (e.g. `acestep-v15-turbo-Q8_0.gguf`). Sorted alphabetically.
448
+
3.**Fallback** — `[defaultModel]` when no directory is set and no map is configured.
449
+
450
+
`ACESTEP_MODELS` (comma-separated names) acts as a **filter/gate** on whichever source is discovered (map keys or scanned filenames). Only names present in the filter are returned.
451
+
452
+
### 8.5 Selecting a model per-request
453
+
454
+
Use the `model` field in `/release_task` with a name from the list:
@@ -561,11 +594,15 @@ Only **paths** and server-level settings are configured via environment variable
561
594
562
595
| Variable | Default | Description |
563
596
|----------|---------|-------------|
564
-
|`ACESTEP_MODEL_MAP`|`{}`| JSON map of `{"name": "path.gguf", …}` — drives both the `/v1/models` list **and** per-request `model` parameter validation |
565
-
|`ACESTEP_DEFAULT_MODEL`| first key of map, or `"acestep-v15-turbo"`| Name used when no `model` is specified |
566
-
|`ACESTEP_MODELS`|*(derived from map)*| Override the `/v1/models` list explicitly (comma-separated names) |
567
-
568
-
> **Note**: `ACESTEP_MODEL_MAP` is the canonical source for multi-model setup. `ACESTEP_MODELS` and `ACESTEP_DEFAULT_MODEL` are optional overrides.
597
+
|`ACESTEP_MODEL_MAP`|`{}`| JSON map of `{"name": "file.gguf", …}` — explicit name→path mapping. Drives both `/v1/models` and per-request `model` validation. Takes precedence over directory scan. |
598
+
|`ACESTEP_DEFAULT_MODEL`| first map key / first scanned file / `"acestep-v15-turbo"`| Name used when no `model` is specified per-request |
599
+
|`ACESTEP_MODELS`|*(all discovered)*| Comma-separated **filter/gate** applied to the discovered list (map keys or scanned filenames). Only names in this list are returned by `/v1/models`. |
600
+
601
+
> **Recommended minimal setup** (no `ACESTEP_MODEL_MAP` needed):
602
+
> ```bash
603
+
>export ACESTEP_MODELS_DIR="$HOME/models/acestep"
604
+
># /v1/models will automatically list every .gguf file in that directory
0 commit comments