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:
{
"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:
{
"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:
{
"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:
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"query": "What did they say about neural networks?",
"top_k": 5
}
Response:
{
"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
{
"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