mirror of
https://github.com/calesthio/OpenMontage.git
synced 2026-08-12 11:43:54 +08:00
105 lines
3.9 KiB
JSON
105 lines
3.9 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "openmontage/artifacts/script",
|
|
"title": "Production Script",
|
|
"description": "Timestamped script produced by the Script Writer agent.",
|
|
"type": "object",
|
|
"required": ["version", "title", "total_duration_seconds", "sections"],
|
|
"properties": {
|
|
"version": { "type": "string", "const": "1.0" },
|
|
"title": { "type": "string" },
|
|
"total_duration_seconds": { "type": "number", "minimum": 1 },
|
|
"voice_performance": {
|
|
"type": "object",
|
|
"description": "Narration delivery contract used by TTS asset generation.",
|
|
"properties": {
|
|
"performance_intent": { "type": "string" },
|
|
"pacing_profile": {
|
|
"type": "string",
|
|
"enum": ["contemplative", "conversational", "energetic", "technical", "cinematic", "custom"]
|
|
},
|
|
"energy_curve": { "type": "string" },
|
|
"pause_policy": { "type": "string" },
|
|
"sample_section_id": {
|
|
"type": "string",
|
|
"description": "Most performance-sensitive section to use for TTS sample approval."
|
|
},
|
|
"provider_notes": {
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string" }
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"sections": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["id", "text", "start_seconds", "end_seconds"],
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"label": { "type": "string" },
|
|
"text": { "type": "string" },
|
|
"start_seconds": { "type": "number", "minimum": 0 },
|
|
"end_seconds": { "type": "number", "minimum": 0 },
|
|
"speaker_directions": { "type": "string" },
|
|
"delivery_cues": {
|
|
"type": "object",
|
|
"description": "Structured voice-performance cues that TTS generation must apply.",
|
|
"properties": {
|
|
"pace": {
|
|
"type": "string",
|
|
"enum": ["slow", "measured", "conversational", "brisk", "fast", "custom"]
|
|
},
|
|
"energy": { "type": "string" },
|
|
"emphasis_words": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"pause_before_seconds": { "type": "number", "minimum": 0 },
|
|
"pause_after_seconds": { "type": "number", "minimum": 0 },
|
|
"delivery_note": { "type": "string" },
|
|
"provider_text": {
|
|
"type": "string",
|
|
"description": "Provider-ready narration text, including purposeful punctuation or SSML break tags when supported."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"enhancement_cues": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": { "type": "string", "enum": ["overlay", "broll", "diagram", "stat_card", "code_snippet", "animation"] },
|
|
"description": { "type": "string" },
|
|
"timestamp_seconds": { "type": "number" }
|
|
},
|
|
"required": ["type", "description"]
|
|
}
|
|
},
|
|
"pronunciation_guides": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"word": { "type": "string" },
|
|
"phonetic": { "type": "string" }
|
|
},
|
|
"required": ["word", "phonetic"]
|
|
}
|
|
},
|
|
"source_ref": {
|
|
"type": "string",
|
|
"description": "Reference to the research_brief data point or URL that supports this claim. Every factual claim should be traceable."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"minItems": 1
|
|
},
|
|
"metadata": { "type": "object" }
|
|
},
|
|
"additionalProperties": false
|
|
}
|