calesthio/OpenMontage · error · ValueError
Candidate {candidate.clip_id} has no download_url
Error message
Candidate {candidate.clip_id} has no download_url What it means
Error "Candidate {candidate.clip_id} has no download_url" thrown in calesthio/OpenMontage.
Source
Thrown at tools/video/stock_sources/unsplash.py:76
headers=self._headers(),
timeout=30,
)
r.raise_for_status()
data = r.json()
results = data.get("results") or []
out: list[Candidate] = []
for photo in results:
cand = _photo_to_candidate(photo, filters)
if cand is not None:
out.append(cand)
return out
def download(self, candidate: Candidate, out_path: Path) -> Path:
import requests # lazy
if not candidate.download_url:
raise ValueError(f"Candidate {candidate.clip_id} has no download_url")
out_path = Path(out_path)
out_path.parent.mkdir(parents=True, exist_ok=True)
with requests.get(
candidate.download_url,
stream=True,
timeout=180,
headers={"User-Agent": _USER_AGENT},
) 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
def _headers(self) -> dict[str, str]:View on GitHub (pinned to 95e1c3d0ab)
Solutions
- Select a different candidate that has a download_url.
- Re-run the Unsplash search; entries without download links usually indicate an incomplete API response.
When it happens
Trigger: An Unsplash stock candidate is selected for download but has no download_url in its metadata.
Common situations: See trigger scenarios.
AI-assisted analysis of calesthio/OpenMontage@95e1c3d0ab (2026-08-15).
Data as JSON: /api/errors/c30f6504b8d9159b.
Report an issue: GitHub.