Spaces:
Sleeping
Sleeping
| # Deep-Dive Video Note Taker — API Documentation | |
| ## Base URL | |
| ``` | |
| http://localhost:8000/api/v1 | |
| ``` | |
| --- | |
| ## Endpoints | |
| ### 1. Upload & Process Video | |
| **POST** `/process/upload` | |
| Upload a video file and start the AI processing pipeline. | |
| **Form Data:** | |
| | Field | Type | Required | Description | | |
| |-------------|--------|----------|------------------------------| | |
| | `file` | File | ✅ | Video/audio file (≤500 MB) | | |
| | `openai_key`| String | ❌ | OpenAI API key (overrides .env) | | |
| **Response:** | |
| ```json | |
| { | |
| "status": "success", | |
| "message": "Upload successful. Processing started.", | |
| "data": { | |
| "job_id": "550e8400-e29b-41d4-a716-446655440000", | |
| "filename": "my_lecture.mp4", | |
| "size_mb": 45.3 | |
| } | |
| } | |
| ``` | |
| --- | |
| ### 2. Job Status | |
| **GET** `/status/{job_id}` | |
| Poll the processing status of a job. | |
| **Response:** | |
| ```json | |
| { | |
| "status": "success", | |
| "data": { | |
| "job_id": "550e8400...", | |
| "status": "processing", | |
| "progress": 60, | |
| "message": "Summarizing chunks with LLM...", | |
| "filename": "my_lecture.mp4" | |
| } | |
| } | |
| ``` | |
| **Status values:** `queued` → `processing` → `complete` / `error` | |
| --- | |
| ### 3. List All Jobs | |
| **GET** `/status/` | |
| List all processing jobs in the current session. | |
| --- | |
| ### 4. Get Notes | |
| **GET** `/notes/{job_id}` | |
| Retrieve the structured notes for a completed job. | |
| **Response:** | |
| ```json | |
| { | |
| "status": "success", | |
| "data": { | |
| "job_id": "550e8400...", | |
| "filename": "my_lecture.mp4", | |
| "notes": { | |
| "final_notes": "## Summary\n...", | |
| "highlights": [...], | |
| "action_items": [...], | |
| "chapters": [...], | |
| "transcript_segments": [...] | |
| }, | |
| "markdown": "# Video Notes: my_lecture.mp4\n..." | |
| } | |
| } | |
| ``` | |
| --- | |
| ### 5. Download Notes (Markdown) | |
| **GET** `/notes/{job_id}/download` | |
| Download notes as a `.md` file. | |
| --- | |
| ### 6. Download Notes (JSON) | |
| **GET** `/notes/{job_id}/download/json` | |
| Download full structured notes as a `.json` file. | |
| --- | |
| ### 7. RAG Semantic Search | |
| **POST** `/query/` | |
| Search the video content using natural language. | |
| **Request Body:** | |
| ```json | |
| { | |
| "job_id": "550e8400-e29b-41d4-a716-446655440000", | |
| "query": "What did they say about neural networks?", | |
| "top_k": 5 | |
| } | |
| ``` | |
| **Response:** | |
| ```json | |
| { | |
| "status": "success", | |
| "data": { | |
| "query": "What did they say about neural networks?", | |
| "results": [ | |
| { | |
| "chunk_id": 3, | |
| "text": "Neural networks consist of layers of interconnected nodes...", | |
| "start_ts": "00:12:30", | |
| "end_ts": "00:14:00", | |
| "score": 0.87 | |
| } | |
| ] | |
| } | |
| } | |
| ``` | |
| --- | |
| ### 8. Health Check | |
| **GET** `/health` | |
| ```json | |
| { | |
| "status": "healthy", | |
| "app": "Deep-Dive Video Note Taker", | |
| "version": "1.0.0" | |
| } | |
| ``` | |
| --- | |
| ## Interactive API Docs | |
| When the server is running, visit: | |
| - **Swagger UI**: http://localhost:8000/docs | |
| - **ReDoc**: http://localhost:8000/redoc | |