Video2Notes provides a RESTful API organized via Flask blueprints for managing video processing workflows, file operations, and interactive components.
http://localhost:5100
Main application page with video upload and workflow configuration interface.
Start a new video processing workflow.
Request Body:
{
"video_path": "/path/to/video.mp4",
"extract_audio": true,
"skip_roi": false,
"roi_timestamp": 300,
"do_label_speakers": true,
"do_refine_notes": true,
"refine_notes_llm": "openai/gpt-4o-2024-08-06",
"do_split": false,
"timestamp_file": null
}Response:
{
"success": true
}Workflow progress page with real-time updates via Server-Sent Events.
Get current workflow status as JSON.
Response:
{
"status": "running",
"progress": 45,
"current_step": "Transcribing audio",
"logs": ["🚀 Workflow started", "📹 Processing video..."],
"interactive_stage": null,
"available_files": []
}Stop the current running workflow.
Response:
{
"success": true
}Upload a video file for processing.
Request:
- Method: POST
- Content-Type: multipart/form-data
- Body: Video file
Response:
{
"success": true,
"filename": "uploaded_video.mp4",
"path": "/path/to/uploaded_video.mp4"
}Browse available files on the server.
Query Parameters:
path- Directory path to browse (optional)
Response:
{
"files": [
{
"name": "video1.mp4",
"path": "/videos/video1.mp4",
"size": 1048576,
"type": "file"
}
],
"current_path": "/videos"
}Download generated files.
Parameters:
filename- Name of the file to download
Response:
- Binary file download
Get download links for a SharePoint video.
Request Body:
{
"sharepoint_video_url": "https://sharepoint.com/video.mp4"
}Download a video from SharePoint.
Request Body:
{
"direct_download_link": "https://sharepoint.com/direct/video.mp4",
"output_filename": "video.mp4"
}Get SharePoint download progress via SSE.
Open the interactive slide selection interface.
Save selected slides.
Request Body:
{
"selected_slides": [0, 2, 5, 8]
}Enable/disable vocabulary extraction from slides.
Request Body:
{
"extract_vocabulary": true
}Download extracted vocabulary file.
Open the interactive speaker labeling interface.
Get list of speakers from the transcript.
Get audio segment for a specific utterance.
Request Body:
{
"start": 10.5,
"end": 15.3
}Label a speaker with a name.
Request Body:
{
"speaker_id": "SPEAKER_00",
"speaker_name": "John Doe"
}Save the notes with labeled speaker names.
Real-time workflow progress updates.
Event Format:
data: {"progress": 50, "message": "Extracting slides...", "status": "running"}
Real-time SharePoint download progress.
Event Format:
data: {"progress": 75, "message": "Downloading: 75%"}
200- Success400- Bad Request (invalid parameters)404- Not Found500- Internal Server Error
{
"success": false,
"error": "Error message description"
}