What problem does it solve?
Provides a local HTTP API that lets agents and local tooling control montaj project lifecycle and editing steps so automated agents can fetch pending projects, execute steps, log progress, and update project state without manual CLI interaction.
Core Features & Use Cases
- Project CRUD: Endpoints to list pending projects, read and update project JSON, and create new run requests.
- Step Execution: POST endpoints to invoke named steps (probe, trim, transcribe, etc.) with support for single and batch inputs and background execution for long-running ffmpeg or transcription tasks.
- Operational Logging & SSE: Append human-readable status logs for UI streaming and mark project status transitions (pending → draft → final) to trigger live updates and rendering.
- Use Case: An agent polls /api/projects?status=pending, runs per-clip steps in parallel, logs progress to /api/projects/{id}/log, updates project state, and triggers a render when editing is complete.
Quick Start
Use the serve skill to poll http://localhost:3000/api/projects?status=pending, run required steps via POST to /api/steps/:name, and append short status messages to /api/projects/{id}/log while the agent orchestrates the edit.