{"record":{"id":"fa7cd7b7c5615b61","repo":"calesthio/OpenMontage","slug":"failed-to-probe-local-reference-audio-path","errorCode":null,"errorMessage":"failed to probe local reference audio: {path}","messagePattern":"failed to probe local reference audio: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"tools/video/seedance_ark.py","lineNumber":1185,"sourceCode":"            proc = subprocess.run(\n                [\n                    ffprobe,\n                    \"-v\",\n                    \"error\",\n                    \"-show_entries\",\n                    \"format=duration\",\n                    \"-of\",\n                    \"default=noprint_wrappers=1:nokey=1\",\n                    str(path),\n                ],\n                capture_output=True,\n                text=True,\n                timeout=10,\n                check=False,\n            )\n            duration = float(proc.stdout.strip()) if proc.returncode == 0 else 0\n        except (OSError, ValueError, subprocess.SubprocessError) as exc:\n            raise ValueError(f\"failed to probe local reference audio: {path}\") from exc\n        if not 2 <= duration <= max_seconds:\n            raise ValueError(\n                f\"each local reference audio clip must be 2 to {max_seconds} seconds\"\n            )\n        return duration\n\n    @staticmethod\n    def _is_remote_or_asset(value: str) -> bool:\n        return value.startswith((\"https://\", \"http://\", \"asset://\"))\n\n    def _validate_remote_refs(self, refs: list[Any], label: str) -> None:\n        for ref in refs:\n            value = str(ref)\n            if not value.startswith((\"https://\", \"http://\", \"asset://\")):\n                raise ValueError(\n                    f\"{label} must be a public/signed URL or asset:// ID; \"\n                    \"Ark does not document video Base64 or local paths\"\n                )","sourceCodeStart":1167,"sourceCodeEnd":1203,"githubUrl":"https://github.com/calesthio/OpenMontage/blob/95e1c3d0ab93482159818560f6a8c8e866b9139f/tools/video/seedance_ark.py#L1167-L1203","documentation":"Error \"failed to probe local reference audio: {path}\" thrown in calesthio/OpenMontage.","triggerScenarios":"ffprobe exits with an error when probing a local reference audio file, so its duration cannot be determined.","commonSituations":"See trigger scenarios.","solutions":["Verify the audio file is a valid media file that ffprobe can read (`ffprobe <path>` manually).","Re-export or re-download the file if it is corrupt, or convert it to a standard format like mp3/wav."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"95e1c3d0ab93482159818560f6a8c8e866b9139f","analyzedAt":"2026-08-15T06:31:20.014Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}