{"service":"Polyp Detection Service","version":"1.0.0","endpoints":{"video_processing":{"predict":"/predict-by-video (POST - upload video for async processing)","get_job":"/jobs/{job_id} (GET - check job status and results)","list_jobs":"/jobs (GET - list all jobs)","get_detections":"/detections/{video_id} (GET - get video detections)","list_videos":"/videos (GET - list processed videos)"},"live_streaming":{"start_session":"/sessions/start (POST - start live detection session)","live_stream":"/sessions/{session_id}/live?token={token} (GET - MJPEG stream with bbox)","session_results":"/sessions/{session_id}/results?token={token} (GET - get session detections)","session_status":"/sessions/{session_id}/status?token={token} (GET - get session status)","pause_session":"/sessions/{session_id}/pause?token={token} (POST - pause detection)","resume_session":"/sessions/{session_id}/resume?token={token} (POST - resume detection)","keepalive":"/sessions/{session_id}/keepalive?token={token} (POST - keep session alive, required every 30s)","stop_session":"/sessions/{session_id}/stop?token={token} (POST - stop session)","list_sessions":"/sessions (GET - list all sessions)","delete_session":"/sessions/{session_id}?token={token} (DELETE - delete session)"},"system":{"health":"/health (GET - health check)","docs":"/docs (Swagger UI)"}}}