{"service":"dfl-render","version":"0.1.0","endpoints":["GET /health","GET /metrics","POST /render/lesson/fast (server-side per-slide render + concat → MP4; requires Supabase user JWT)","POST /render/composition (TRULY-ASYNC server-side FULL-COMPOSITION render — returns 202 + job_id immediately; heavy work + provider (local ffmpeg / remotion-lambda) submit run on a background worker pool that outlives the request; composition-scoped + deleted_at filter + screen/webcam PiP compositing; requires Supabase user JWT)","GET /render/composition/:job_id (poll the composition render lifecycle: queued → transcoding → submitted → rendering → done/failed, with output URL/error; requires Supabase user JWT)","POST /render/slide (server-side per-slide render → segment cache; requires Supabase user JWT)","POST /transcode/audio (FFmpeg audio transcode + studio-sound enhance + middle-silence removal; requires Supabase user JWT; source_url host allowlist)","POST /transcode/motion-jumpcut (FFmpeg middle-silence jump-cut for motion video; flag-gated, fail-open; requires Supabase user JWT; source_url host allowlist)","POST /transcode/video (FFmpeg VP9/WebM → H.264/MP4 so the composition render can composite webcam/screen video; fail-closed; requires Supabase user JWT; source_url host allowlist)","POST /transcode/slide-media (PRE-TRANSCODE-AT-UPLOAD: origin=server (default) → async background WebM→H.264 (fast profile) + write transcoded_storage_path/transcode_status on the slide_media row, returns 202; origin=client → record a client WebCodecs H.264 result, returns 200; slide_media_id OPTIONAL (best-effort row write); graceful when columns absent; requires Supabase user JWT; source_url host allowlist)","POST /transcode/slide-media/report (CLIENT-ORIGIN report: record a client WebCodecs H.264 (transcoded_url) on the slide_media row, returns 200; slide_media_id OPTIONAL; requires Supabase user JWT; transcoded_url host allowlist)","POST /capture/slide (headless slide screenshot → S3; requires Supabase user JWT)","GET /render-view/data/:slideId (signature-gated slide payload)","POST /concat/video (delegates to dfl-runner concat worker)"]}