affaan-m/ECC · error · SystemExit
--base-video not found
Error message
--base-video not found: {bp} What it means
apply.py validates the optional --base-video argument before any upload: the user-supplied path does not exist on disk, so the pipeline aborts (via SystemExit) before calling falapi.upload.
Solutions
- Correct the --base-video path
- Verify the file exists before invoking: ls on the path
- Omit --base-video if no base video is needed
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at skills/taste-application/scripts/apply.py:381 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of affaan-m/ECC@8321021c54 (2026-09-16).
Data as JSON: /api/errors/626b30d7781b677c.
Report an issue: GitHub.
Appendix: source
Thrown at skills/taste-application/scripts/apply.py:381
clock = 0.0
for t in plan:
i = t["index"]
s = ShotPlan(
i, clock, float(t["used"]), stills[i % len(stills)],
cuts=t["shots"], gen_duration=float(t["gen_duration"]),
)
s.prompt = build_prompt(
spec, grade, style_steer, brief, i, len(plan),
float(t["gen_duration"]), n_cuts=len(t["shots"]),
)
shots.append(s)
clock += float(t["used"])
base_video_url = None
if base_video:
bp = Path(base_video)
if not bp.exists():
raise SystemExit(f"--base-video not found: {bp}")
base_video_url = falapi.upload(bp)
print(f" base video : {bp.name} (frames pulled per shot timecode)")
overlay_urls: list[str] = []
if overlays:
# Fail before any paid upload: forge() rejects a missing overlay
# later, which would strand every generated take without a manifest.
missing = [Path(o) for o in overlays if not Path(o).is_file()]
if missing:
raise SystemExit("--overlay not found: " + ", ".join(str(m) for m in missing))
for o in overlays:
overlay_urls.append(falapi.upload(Path(o)))
print(f" overlays : {len(overlay_urls)}")
# Uploads are cached by (path, mtime, size), so the workers racing on the
# same handful of stills still only pay for each upload once.
lock = threading.Lock()
workers = max(1, min(int(concurrency), len(shots)))View on GitHub (pinned to 8321021c54)