{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Scene Description Training Entry", "description": "Schema for lyrics-to-visual-scene description training data entries.", "type": "object", "required": ["song", "artist", "beat", "timestamp", "lyric_line", "scene"], "properties": { "song": { "type": "string", "minLength": 1, "description": "Song title" }, "artist": { "type": "string", "minLength": 1, "description": "Artist name" }, "mood_arc": { "type": "string", "description": "Overall mood progression of the song (optional)" }, "beat": { "type": "integer", "minimum": 1, "description": "Beat number within the song (1-indexed)" }, "timestamp": { "type": "string", "pattern": "^[0-9]+:[0-5][0-9]$", "description": "Timestamp in M:SS or MM:SS format" }, "duration": { "type": "string", "description": "Duration of the beat (e.g. '30s', '15s')" }, "duration_seconds": { "type": "integer", "minimum": 1, "description": "Duration in seconds (integer alternative)" }, "lyric_line": { "type": "string", "minLength": 1, "description": "The lyric line for this beat" }, "scene": { "type": "object", "required": ["mood", "colors", "composition", "description"], "properties": { "mood": { "type": "string", "minLength": 1, "description": "Emotional mood of the scene" }, "colors": { "type": "array", "items": { "type": "string", "minLength": 1 }, "minItems": 1, "description": "Color palette for the scene" }, "composition": { "type": "string", "minLength": 1, "description": "Shot composition (e.g. 'wide shot', 'close-up', 'low angle')" }, "camera": { "type": "string", "description": "Camera movement (e.g. 'static', 'slow zoom', 'tracking')" }, "camera_movement": { "type": "string", "description": "Alternative field name for camera movement" }, "description": { "type": "string", "minLength": 10, "description": "Full scene description text" } }, "additionalProperties": true } }, "additionalProperties": true }