Video Evaluation API
API Overview
The Video Evaluation API automatically analyzes and evaluates project demonstration videos to provide comprehensive assessment based on specified project details and task requirements. This API leverages Google's Gemini AI model to analyze YouTube video content, evaluate presentation quality, project demonstration effectiveness, and task completion.
Key features include:
- Analysis of YouTube video content
- Assessment of video presentation quality and clarity
- Evaluation of project demonstration against requirements
- Scoring of presentation effectiveness
- Detailed feedback with strengths, weaknesses, and improvement suggestions
Request Format
POST https://tutor-new-827682634474.us-central1.run.app/api/evaluate-video
Content-Type: application/json
Request Parameters
The request body must be in JSON format with the following fields:
Parameter | Type | Required | Description |
---|---|---|---|
projectDetail | String | Yes | Detailed project description including background, objectives, and technical requirements |
tasks | Array<String> | Yes | List of all tasks related to the project |
youtubeLink | String | Yes | URL of the YouTube video to evaluate |
Processing Flow
- API receives the request and validates required parameters
- Creates a unique evaluation ID and stores the evaluation record in the database
- Extracts YouTube video content
- Uses Google's Gemini AI model to analyze the video content
- Evaluates presentation quality, content relevance, and task demonstrations
- Generates a detailed assessment report
- Updates the evaluation status and results in the database
- Returns the evaluation results
Response Format
The API response is in JSON format with the following fields:
Success Response (HTTP 200)
{ "success": true, "message": "Video evaluation completed", "evaluationId": "uuid-string", "status": "completed", "result": { "videoRawContent": { "videoDuration": "MM:SS", // Exact duration of the video "presentationScore": 0.85, // Overall score (0-1 range) "scoreExplanation": "Detailed rationale for the score...", "summary": "Comprehensive assessment of the video presentation..." } } }
Error Response (HTTP 4xx/5xx)
{ "success": false, "message": "Error description", "error": "Detailed error message", "evaluationId": "uuid-string" // If an evaluation ID was created }
Possible Error Status Codes
Status Code | Description |
---|---|
400 | Missing or invalid request parameters |
500 | Server error (database issues, video processing issues, or evaluation failure) |
Evaluation Criteria
The video evaluation focuses on the following key areas:
- Content Relevance & Accuracy:
- How well the video content matches the project description
- Authenticity of the demonstration
- Whether the video shows the actual project being evaluated
- Core Message Delivery:
- Clarity of project objectives and concepts
- Depth of content and presenter's understanding
- Logical organization and smooth transitions
- Presentation Effectiveness:
- Clarity of expression and language
- Presenter's confidence and appropriate pacing
- Effectiveness of visual aids and materials
- Technical Quality & Duration:
- Audio and video quality
- Time management and presentation length
Request Example
fetch('https://tutor-new-827682634474.us-central1.run.app/api/evaluate-video', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ projectDetail: "This is an e-commerce website project built with React and Node.js...", tasks: [ "Implement user authentication", "Create product display page", "Implement shopping cart functionality" ], youtubeLink: "https://www.youtube.com/watch?v=example-video-id" }) }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error));
Important Notes
- The API operates synchronously and may take time to complete processing
- YouTube videos must be public and accessible
- Evaluation results are stored in the database and can be queried using the evaluation ID
- Ideal video duration is between 5-15 minutes for optimal evaluation
- Videos that are unrelated to the project will still be evaluated, but the score will be capped at 0.5
- The presentation score (0.0-1.0) represents the overall quality of the video presentation