calesthio/OpenMontage · error · RuntimeError
Mixkit download failed for {detail_url}: {e}
Error message
Mixkit download failed for {detail_url}: {e} What it means
Error "Mixkit download failed for {detail_url}: {e}" thrown in calesthio/OpenMontage.
Source
Thrown at tools/video/stock_sources/mixkit.py:202
# Look for data attributes with video URLs
if not download_url:
for el in soup.select("[data-video-url], [data-download-url], [data-src]"):
url = el.get("data-video-url") or el.get("data-download-url") or el.get("data-src") or ""
if url and any(ext in url.lower() for ext in [".mp4", ".mov"]):
download_url = url
break
if not download_url:
raise ValueError(f"Could not find download URL on Mixkit page: {detail_url}")
if not download_url.startswith("http"):
download_url = f"https://mixkit.co{download_url}"
return self._stream_download(download_url, out_path)
except Exception as e:
raise RuntimeError(f"Mixkit download failed for {detail_url}: {e}") from e
def _stream_download(self, url: str, out_path: Path) -> Path:
import requests
with requests.get(
url, stream=True, timeout=120,
headers={"User-Agent": "OpenMontage/1.0"},
) as r:
r.raise_for_status()
with open(out_path, "wb") as f:
for chunk in r.iter_content(chunk_size=1 << 16):
if chunk:
f.write(chunk)
return out_path
View on GitHub (pinned to 95e1c3d0ab)
Solutions
- Retry the download — Mixkit CDN failures are often transient.
- If persistent, download the clip manually from the detail URL and place it in the expected cache path.
When it happens
Trigger: The HTTP download of a Mixkit stock clip fails with a network or response error.
Common situations: See trigger scenarios.
AI-assisted analysis of calesthio/OpenMontage@95e1c3d0ab (2026-08-15).
Data as JSON: /api/errors/4aeb8fb0260b84fa.
Report an issue: GitHub.