deezer/spleeter · error · ValueError
No checksum for model {name}
Error message
No checksum for model {name} What it means
This error comes from the GitHub model provider's checksum lookup: it fetches the model index (a JSON document mapping model names to checksums) from a remote URL, and raises ValueError when the requested model name is not a key in that index. It means spleeter cannot verify the integrity data for the model you asked to download, so it refuses to proceed. Usually this indicates a typo in the model name or an index fetched from the wrong/older remote source.
Source
Thrown at spleeter/model/provider/github.py:128
Raises:
ValueError:
If the given model name is not indexed.
"""
url: str = "/".join(
(
self._host,
self._repository,
self.RELEASE_PATH,
self._release,
self.CHECKSUM_INDEX,
)
)
response: httpx.Response = httpx.get(url)
response.raise_for_status()
index: Dict = response.json()
if name not in index:
raise ValueError(f"No checksum for model {name}")
return index[name]
def download(self, name: str, path: str) -> None:
"""
Download model denoted by the given name to disk.
Parameters:
name (str):
Name of the model to download.
path (str):
Path of the directory to save model into.
"""
url: str = "/".join(
(self._host, self._repository, self.RELEASE_PATH, self._release, name)
)
url = f"{url}.tar.gz"
logger.info(f"Downloading model archive {url}")
with httpx.Client(http2=True) as client:View on GitHub (pinned to c8854001ac)
Solutions
- Verify the model name spelling against the models published in the spleeter model index (e.g. 'spleeter:2stems', 'spleeter:4stems', 'spleeter:5stems')
- Call test_checksum(name) first to confirm the name resolves before attempting a full download
- Check the index URL used by GitHubModelProvider is reachable and returns the current JSON (httpx.get of the index) and that no proxy/cache is serving a stale copy
- Upgrade spleeter to a version whose index URL matches the currently published models, or host your own index and add your model to it
Example fix
// before
provider.download('2stems', './models') # ValueError: No checksum for model 2stems
// after
provider.download('spleeter:2stems', './models') Defensive patterns
Strategy: validation
Validate before calling
from spleeter.model.provider.github import GitHubModelProvider
provider = GitHubModelProvider()
provider.test_checksum('spleeter:2stems') # raises ValueError early if unknown Type guard
import httpx
def model_in_index(provider, name: str) -> bool:
index = httpx.get(provider._index_url).json() # or re-fetch the index
return isinstance(index, dict) and name in index Try / catch
try:
provider.download(name, path)
except ValueError as e:
if 'No checksum for model' in str(e):
print(f'Unknown model {name!r}; use spleeter:2stems / 4stems / 5stems')
else:
raise Prevention
- Only use model names documented in the spleeter README (spleeter:2stems, spleeter:4stems, spleeter:5stems)
- Call test_checksum(name) before download as a cheap pre-check
- Pin your spleeter version and confirm its index URL matches published models
- If using custom models, host your own index and register the name there
When it happens
Trigger: Calling download(name, path) (or test_checksum) on GitHubModelProvider with a name that is absent from the remote index JSON; e.g. a misspelled model like '2stems' instead of 'spleeter:2stems'-style names, a model removed from the index, or an index URL pointing at an outdated fork/release.
Common situations: Typos in the model name passed to the separator constructor or model_provider.download; using a custom/unofficial model name that was never published to the index; network proxies caching a stale index; pinning an old spleeter version whose index URL no longer matches published models.
Related errors
- No model function {model_type} found
- Unkwnown loss type: {loss_type}
- Invalid mask_extension parameter {extension}
- {adapter_class_name} is not a valid AudioAdapter class
- F is too large and must be set to at most frame_length/2+1.
AI-assisted analysis of deezer/spleeter@c8854001ac (2026-08-28).
Data as JSON: /api/errors/bb27df732ad87558.
Report an issue: GitHub.