Depth Studio
Launch the bundled local web application and keep its server running while the user works.
Launch workflow
- Resolve this skill directory and run
python scripts/launch.py --browser nonefrom it. - If setup is incomplete, run
python scripts/setup.py, then retry the launch command. - Wait until the launcher prints a
READYURL. - In Codex Desktop, open that URL with the in-app browser capability.
- In another agent environment, rerun
python scripts/launch.py --browser systemto use the default browser. - The launcher detaches the local server after it prints
READY; do not keep a terminal tool call open just to preserve the server. - Report the URL and any setup or hardware warning plainly. Leave the server running unless the user explicitly asks to close it.
Operating rules
- Use only the official
Video-Depth-Anything-Smallrelative-depth checkpoint. - Do not substitute a single-frame model or synthetic depth effect.
- Keep inference at a maximum source-frame edge of 1280 px and model input size 518.
- Preserve source FPS, frame count, duration, and aspect ratio in the depth output.
- Display both preview players at the source aspect ratio.
- Keep play, pause, seeking, and playback rate linked with low-frequency soft drift correction; never seek on every animation frame.
- Let the user switch linked playback off when independent decoding is more stable on lower-end hardware.
- Normalize every frame with one full-video depth range; never normalize per frame.
- Default to near-white/far-black. Apply inversion only when requested.
- Use the split length for both memory-bounded inference chunks and download segmentation.
- Cap every inference chunk at 300 frames even when split length is zero, so long videos never load into memory as one sequence.
- Always show one continuous full-length preview. When split length is greater than zero, download a ZIP of sequential MP4 parts; when it is zero, download the full MP4.
- Derive every download part from the single globally normalized output; never normalize each part independently.
- Create download parts on exact frame boundaries. If source keyframes do not align, re-encode the completed preview once with a closed GOP instead of failing the completed job.
- Delete job uploads, raw depth arrays, and partial encodes after success or failure.
- Let the user stop the detached local service only through the page's confirmed Close app control.
- Keep persistent server errors in
runtime/logs/server.logso unexpected exits can be diagnosed after the launcher closes.
Files
- Let non-technical macOS users double-click
install-and-launch.command. - Let non-technical Windows users double-click
install-and-launch.bat, which runs the PowerShell environment check. - If Python is missing, direct the user only to the official Python 3.12 download page, then ask them to rerun the launcher.
- Run environment installation and official model download with
scripts/setup.py. - Start the local server with
scripts/launch.py. - The launcher must reuse an existing Depth Studio across ports 8765–8784 before starting another instance.
- Verify media timing with
scripts/verify_output.py. - Read
README.mdfor platform requirements and troubleshooting.