Add expressive TTS governance
This commit is contained in:
@@ -33,7 +33,24 @@
|
||||
"generation_summary": { "type": "string", "description": "Brief summary of how the asset was generated or sourced" },
|
||||
"provider": { "type": "string", "description": "Provider name (e.g. pixabay, google_imagen)" },
|
||||
"license": { "type": "string", "description": "License type (e.g. Pixabay License, CC0)" },
|
||||
"original_url": { "type": "string", "description": "Source URL if downloaded from a stock service" }
|
||||
"original_url": { "type": "string", "description": "Source URL if downloaded from a stock service" },
|
||||
"voice_performance": {
|
||||
"type": "object",
|
||||
"description": "Applied voice-performance contract for narration assets.",
|
||||
"properties": {
|
||||
"source_section_id": { "type": "string" },
|
||||
"delivery_cues_applied": { "type": "boolean" },
|
||||
"provider_text_used": { "type": "boolean" },
|
||||
"provider_settings": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"sample_approved": { "type": "boolean" },
|
||||
"sample_path": { "type": "string" },
|
||||
"review_notes": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
|
||||
@@ -183,7 +183,19 @@
|
||||
"provider": { "type": "string" },
|
||||
"voice_id": { "type": "string" },
|
||||
"rationale": { "type": "string" },
|
||||
"estimated_cost_usd": { "type": "number", "minimum": 0 }
|
||||
"estimated_cost_usd": { "type": "number", "minimum": 0 },
|
||||
"delivery_style": {
|
||||
"type": "string",
|
||||
"description": "Plain-language voice direction, e.g. warm expert, expressive narrator, crisp tutorial."
|
||||
},
|
||||
"pacing_policy": {
|
||||
"type": "string",
|
||||
"description": "How the voice should use pauses, speed, and emphasis across the piece."
|
||||
},
|
||||
"sample_approval_required": {
|
||||
"type": "boolean",
|
||||
"description": "True when a TTS sample must be approved before batch narration generation."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
|
||||
@@ -9,6 +9,28 @@
|
||||
"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": {
|
||||
@@ -21,6 +43,29 @@
|
||||
"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": {
|
||||
|
||||
Reference in New Issue
Block a user