2609 lines
62 KiB
JSON
2609 lines
62 KiB
JSON
{
|
|
"type": "object",
|
|
"properties": {
|
|
"schema_version": {
|
|
"enum": [
|
|
"1.0",
|
|
"1.1"
|
|
]
|
|
},
|
|
"project_id": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
},
|
|
"stage_id": {
|
|
"enum": [
|
|
"01-topic",
|
|
"02-research",
|
|
"03-script",
|
|
"04-title",
|
|
"05-tts-split",
|
|
"06-tts",
|
|
"07-cuts",
|
|
"08-scenes",
|
|
"09-entities",
|
|
"10-references",
|
|
"11-images",
|
|
"12-motion",
|
|
"13-compose",
|
|
"14-review"
|
|
]
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"inputs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/stage_ref"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"payload": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"schema_version",
|
|
"project_id",
|
|
"stage_id",
|
|
"revision",
|
|
"inputs",
|
|
"payload"
|
|
],
|
|
"additionalProperties": false,
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$defs": {
|
|
"stage_ref": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stage_id": {
|
|
"enum": [
|
|
"01-topic",
|
|
"02-research",
|
|
"03-script",
|
|
"04-title",
|
|
"05-tts-split",
|
|
"06-tts",
|
|
"07-cuts",
|
|
"08-scenes",
|
|
"09-entities",
|
|
"10-references",
|
|
"11-images",
|
|
"12-motion",
|
|
"13-compose",
|
|
"14-review"
|
|
]
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"stage_id",
|
|
"revision"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"issue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"blocking": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"code",
|
|
"message",
|
|
"blocking"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"media": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"audio",
|
|
"image",
|
|
"video"
|
|
]
|
|
},
|
|
"verified": {
|
|
"type": "boolean"
|
|
},
|
|
"duration_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"width": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"height": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"kind",
|
|
"verified",
|
|
"duration_ms",
|
|
"width",
|
|
"height"
|
|
],
|
|
"additionalProperties": false,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"kind": {
|
|
"const": "audio"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"width": {
|
|
"type": "null"
|
|
},
|
|
"height": {
|
|
"type": "null"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"kind": {
|
|
"const": "image"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"duration_ms": {
|
|
"type": "null"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"verified": {
|
|
"const": true
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"path": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"audio",
|
|
"video"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"duration_ms": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"image",
|
|
"video"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"width": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"height": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"unit": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"block_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"display_text": {
|
|
"type": "string"
|
|
},
|
|
"spoken_text": {
|
|
"type": "string"
|
|
},
|
|
"pronunciation_notes": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"block_ids",
|
|
"display_text",
|
|
"spoken_text",
|
|
"pronunciation_notes"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"caption": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"start_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"end_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"start_ms",
|
|
"end_ms",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"01-topic": {
|
|
"type": "object",
|
|
"properties": {
|
|
"candidates": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"angle": {
|
|
"type": "string"
|
|
},
|
|
"summary": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"angle",
|
|
"summary"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"selected_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"selection_reason": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"candidates",
|
|
"selected_id",
|
|
"selection_reason"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"02-research": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sources": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"publisher": {
|
|
"type": "string"
|
|
},
|
|
"accessed_at": {
|
|
"type": "string",
|
|
"format": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"title",
|
|
"url",
|
|
"publisher",
|
|
"accessed_at"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"claims": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"source_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"assessment": {
|
|
"enum": [
|
|
"verified",
|
|
"uncertain"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"text",
|
|
"source_ids",
|
|
"assessment"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"open_questions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"sources",
|
|
"claims",
|
|
"open_questions"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"03-script": {
|
|
"type": "object",
|
|
"properties": {
|
|
"blocks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"claim_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"text",
|
|
"claim_ids"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"full_text": {
|
|
"type": "string"
|
|
},
|
|
"estimated_duration_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"blocks",
|
|
"full_text",
|
|
"estimated_duration_ms"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"04-title": {
|
|
"type": "object",
|
|
"properties": {
|
|
"candidates": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"rationale": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"text",
|
|
"rationale"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"selected_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"candidates",
|
|
"selected_id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"05-tts-split": {
|
|
"type": "object",
|
|
"properties": {
|
|
"units": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/unit"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"units"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"06-tts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"engine": {
|
|
"const": "Qwen3-TTS"
|
|
},
|
|
"conda_env": {
|
|
"const": "qwen3-tts"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"units": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/unit"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"engine",
|
|
"conda_env",
|
|
"language",
|
|
"units"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"engine": {
|
|
"const": "Qwen3-TTS"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"voice": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"unit_id": {
|
|
"type": "string"
|
|
},
|
|
"media": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "audio"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"unit_id",
|
|
"media"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"narration": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "audio"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"unit_ranges": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"unit_id": {
|
|
"type": "string"
|
|
},
|
|
"start_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"end_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"unit_id",
|
|
"start_ms",
|
|
"end_ms"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"engine",
|
|
"model",
|
|
"voice",
|
|
"files",
|
|
"narration",
|
|
"unit_ranges"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"request",
|
|
"result"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"07-cuts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"narration_duration_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"timing_evidence": {
|
|
"type": "string"
|
|
},
|
|
"cuts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"start_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"end_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"unit_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"narration_text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"start_ms",
|
|
"end_ms",
|
|
"unit_ids",
|
|
"narration_text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"captions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/caption"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"narration_duration_ms",
|
|
"timing_evidence",
|
|
"cuts",
|
|
"captions"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"08-scenes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"scenes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"start_state": {
|
|
"type": "string"
|
|
},
|
|
"end_state": {
|
|
"type": "string"
|
|
},
|
|
"camera": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"cut_id",
|
|
"description",
|
|
"start_state",
|
|
"end_state",
|
|
"camera"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"connections": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"from_cut_id": {
|
|
"type": "string"
|
|
},
|
|
"to_cut_id": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"enum": [
|
|
"continuous",
|
|
"cut"
|
|
]
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"from_cut_id",
|
|
"to_cut_id",
|
|
"mode",
|
|
"reason"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"scenes",
|
|
"connections"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"09-entities": {
|
|
"type": "object",
|
|
"properties": {
|
|
"characters": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"fixed_features": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"description",
|
|
"fixed_features"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"backgrounds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"fixed_features": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"description",
|
|
"fixed_features"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"appearances": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"character_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"background_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"cut_id",
|
|
"character_ids",
|
|
"background_ids"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"characters",
|
|
"backgrounds",
|
|
"appearances"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"10-references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"model": {
|
|
"const": "gpt-image-2.5-sunburst"
|
|
},
|
|
"style_reference": {
|
|
"const": "references/1.png"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"style",
|
|
"character",
|
|
"background"
|
|
]
|
|
},
|
|
"entity_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"entity_id",
|
|
"prompt"
|
|
],
|
|
"additionalProperties": false,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"kind": {
|
|
"const": "style"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"entity_id": {
|
|
"type": "null"
|
|
}
|
|
}
|
|
},
|
|
"else": {
|
|
"properties": {
|
|
"entity_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"model",
|
|
"style_reference",
|
|
"items"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reference_id": {
|
|
"type": "string"
|
|
},
|
|
"media": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "image"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"reference_id",
|
|
"media"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"items"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"request",
|
|
"result"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"11-images": {
|
|
"type": "object",
|
|
"properties": {
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"model": {
|
|
"const": "gpt-image-2.5-sunburst"
|
|
},
|
|
"frames": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"position": {
|
|
"enum": [
|
|
"start",
|
|
"end"
|
|
]
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"reference_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"cut_id",
|
|
"position",
|
|
"prompt",
|
|
"reference_ids"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"model",
|
|
"frames"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"frames": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"frame_id": {
|
|
"type": "string"
|
|
},
|
|
"media": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "image"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"frame_id",
|
|
"media"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"frames"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"request",
|
|
"result"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"12-motion": {
|
|
"type": "object",
|
|
"properties": {
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"clips": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"start_frame_id": {
|
|
"type": "string"
|
|
},
|
|
"end_frame_id": {
|
|
"type": "string"
|
|
},
|
|
"duration_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"motion_prompt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"cut_id",
|
|
"start_frame_id",
|
|
"end_frame_id",
|
|
"duration_ms",
|
|
"motion_prompt"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"clips"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"clips": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"media": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "video"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"cut_id",
|
|
"media"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"clips"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"request",
|
|
"result"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"13-compose": {
|
|
"type": "object",
|
|
"properties": {
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timeline": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"video_path": {
|
|
"type": "string"
|
|
},
|
|
"start_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
},
|
|
"end_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"cut_id",
|
|
"video_path",
|
|
"start_ms",
|
|
"end_ms"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"narration_path": {
|
|
"type": "string"
|
|
},
|
|
"captions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/caption"
|
|
}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"timeline",
|
|
"narration_path",
|
|
"captions",
|
|
"title"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"video": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "video"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"captions_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"video",
|
|
"captions_path"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"request",
|
|
"result"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"14-review": {
|
|
"type": "object",
|
|
"properties": {
|
|
"checks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"area": {
|
|
"enum": [
|
|
"story",
|
|
"visual",
|
|
"audio",
|
|
"captions",
|
|
"timing",
|
|
"consistency"
|
|
]
|
|
},
|
|
"verdict": {
|
|
"enum": [
|
|
"pass",
|
|
"fail",
|
|
"not_checked"
|
|
]
|
|
},
|
|
"evidence": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"area",
|
|
"verdict",
|
|
"evidence"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"findings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"severity": {
|
|
"enum": [
|
|
"blocking",
|
|
"minor"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"stage_id": {
|
|
"enum": [
|
|
"01-topic",
|
|
"02-research",
|
|
"03-script",
|
|
"04-title",
|
|
"05-tts-split",
|
|
"06-tts",
|
|
"07-cuts",
|
|
"08-scenes",
|
|
"09-entities",
|
|
"10-references",
|
|
"11-images",
|
|
"12-motion",
|
|
"13-compose",
|
|
"14-review"
|
|
]
|
|
},
|
|
"cut_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"severity",
|
|
"description",
|
|
"stage_id",
|
|
"cut_id"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"recommendation": {
|
|
"enum": [
|
|
"pass",
|
|
"revise",
|
|
"incomplete"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"checks",
|
|
"findings",
|
|
"recommendation"
|
|
],
|
|
"additionalProperties": false,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"recommendation": {
|
|
"const": "pass"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"checks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"area": {
|
|
"enum": [
|
|
"story",
|
|
"visual",
|
|
"audio",
|
|
"captions",
|
|
"timing",
|
|
"consistency"
|
|
]
|
|
},
|
|
"verdict": {
|
|
"const": "pass"
|
|
},
|
|
"evidence": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"area",
|
|
"verdict",
|
|
"evidence"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"minItems": 6,
|
|
"maxItems": 6,
|
|
"allOf": [
|
|
{
|
|
"contains": {
|
|
"properties": {
|
|
"area": {
|
|
"const": "story"
|
|
}
|
|
},
|
|
"required": [
|
|
"area"
|
|
]
|
|
},
|
|
"minContains": 1,
|
|
"maxContains": 1
|
|
},
|
|
{
|
|
"contains": {
|
|
"properties": {
|
|
"area": {
|
|
"const": "visual"
|
|
}
|
|
},
|
|
"required": [
|
|
"area"
|
|
]
|
|
},
|
|
"minContains": 1,
|
|
"maxContains": 1
|
|
},
|
|
{
|
|
"contains": {
|
|
"properties": {
|
|
"area": {
|
|
"const": "audio"
|
|
}
|
|
},
|
|
"required": [
|
|
"area"
|
|
]
|
|
},
|
|
"minContains": 1,
|
|
"maxContains": 1
|
|
},
|
|
{
|
|
"contains": {
|
|
"properties": {
|
|
"area": {
|
|
"const": "captions"
|
|
}
|
|
},
|
|
"required": [
|
|
"area"
|
|
]
|
|
},
|
|
"minContains": 1,
|
|
"maxContains": 1
|
|
},
|
|
{
|
|
"contains": {
|
|
"properties": {
|
|
"area": {
|
|
"const": "timing"
|
|
}
|
|
},
|
|
"required": [
|
|
"area"
|
|
]
|
|
},
|
|
"minContains": 1,
|
|
"maxContains": 1
|
|
},
|
|
{
|
|
"contains": {
|
|
"properties": {
|
|
"area": {
|
|
"const": "consistency"
|
|
}
|
|
},
|
|
"required": [
|
|
"area"
|
|
]
|
|
},
|
|
"minContains": 1,
|
|
"maxContains": 1
|
|
}
|
|
]
|
|
},
|
|
"findings": {
|
|
"not": {
|
|
"contains": {
|
|
"properties": {
|
|
"severity": {
|
|
"const": "blocking"
|
|
}
|
|
},
|
|
"required": [
|
|
"severity"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"BlendFile": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"verified": {
|
|
"type": "boolean"
|
|
},
|
|
"sha256": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"pattern": "^[a-f0-9]{64}$"
|
|
}
|
|
]
|
|
},
|
|
"blender_version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"verified",
|
|
"sha256",
|
|
"blender_version"
|
|
],
|
|
"additionalProperties": false,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"verified": {
|
|
"const": true
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"path": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"sha256": {
|
|
"type": "string",
|
|
"pattern": "^[a-f0-9]{64}$"
|
|
},
|
|
"blender_version": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"RenderProfile": {
|
|
"type": "object",
|
|
"properties": {
|
|
"engine": {
|
|
"enum": [
|
|
"BLENDER_EEVEE",
|
|
"CYCLES"
|
|
]
|
|
},
|
|
"device": {
|
|
"enum": [
|
|
"CPU",
|
|
"GPU"
|
|
]
|
|
},
|
|
"fps": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"width": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"height": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"samples": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"seed": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"engine",
|
|
"device",
|
|
"fps",
|
|
"width",
|
|
"height",
|
|
"samples",
|
|
"seed"
|
|
],
|
|
"additionalProperties": false,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"engine": {
|
|
"const": "BLENDER_EEVEE"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"device": {
|
|
"const": "GPU"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"08-scenes-1.1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"scenes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"start_state": {
|
|
"type": "string"
|
|
},
|
|
"end_state": {
|
|
"type": "string"
|
|
},
|
|
"camera": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"cut_id",
|
|
"description",
|
|
"start_state",
|
|
"end_state",
|
|
"camera"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"connections": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"from_cut_id": {
|
|
"type": "string"
|
|
},
|
|
"to_cut_id": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"enum": [
|
|
"continuous",
|
|
"cut"
|
|
]
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"from_cut_id",
|
|
"to_cut_id",
|
|
"mode",
|
|
"reason"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"preview": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"scene_file": {
|
|
"$ref": "#/$defs/BlendFile"
|
|
},
|
|
"render_profile": {
|
|
"$ref": "#/$defs/RenderProfile"
|
|
},
|
|
"samples": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"cut_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"media": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"image",
|
|
"video"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"kind": {
|
|
"const": "video"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"duration_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1,
|
|
"maximum": 5000
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"cut_ids",
|
|
"media"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"scene_file",
|
|
"render_profile",
|
|
"samples"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"scenes",
|
|
"connections",
|
|
"preview"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"10-references-1.1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"style_reference": {
|
|
"const": "references/1.png"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"style",
|
|
"character",
|
|
"background",
|
|
"object"
|
|
]
|
|
},
|
|
"entity_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"entity_id",
|
|
"prompt"
|
|
],
|
|
"additionalProperties": false,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"style",
|
|
"object"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"entity_id": {
|
|
"type": "null"
|
|
}
|
|
}
|
|
},
|
|
"else": {
|
|
"properties": {
|
|
"entity_id": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"engine": {
|
|
"const": "Blender"
|
|
},
|
|
"render_profile": {
|
|
"$ref": "#/$defs/RenderProfile"
|
|
}
|
|
},
|
|
"required": [
|
|
"style_reference",
|
|
"items",
|
|
"engine",
|
|
"render_profile"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"scene_file": {
|
|
"$ref": "#/$defs/BlendFile"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reference_id": {
|
|
"type": "string"
|
|
},
|
|
"object_name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"media": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "image"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"reference_id",
|
|
"object_name",
|
|
"media"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"scene_file",
|
|
"items"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"request",
|
|
"result"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"11-images-1.1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"frames": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"position": {
|
|
"enum": [
|
|
"start",
|
|
"end"
|
|
]
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"reference_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"scene_name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"frame_index": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"cut_id",
|
|
"position",
|
|
"prompt",
|
|
"reference_ids",
|
|
"scene_name",
|
|
"frame_index"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"engine": {
|
|
"const": "Blender"
|
|
},
|
|
"scene_path": {
|
|
"type": "string"
|
|
},
|
|
"render_profile": {
|
|
"$ref": "#/$defs/RenderProfile"
|
|
}
|
|
},
|
|
"required": [
|
|
"frames",
|
|
"engine",
|
|
"scene_path",
|
|
"render_profile"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"frames": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"frame_id": {
|
|
"type": "string"
|
|
},
|
|
"media": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "image"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"frame_id",
|
|
"media"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"scene_file": {
|
|
"$ref": "#/$defs/BlendFile"
|
|
}
|
|
},
|
|
"required": [
|
|
"frames",
|
|
"scene_file"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"request",
|
|
"result"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"12-motion-1.1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"clips": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"start_frame_id": {
|
|
"type": "string"
|
|
},
|
|
"end_frame_id": {
|
|
"type": "string"
|
|
},
|
|
"duration_ms": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1,
|
|
"maximum": 5000
|
|
},
|
|
"motion_prompt": {
|
|
"type": "string"
|
|
},
|
|
"scene_name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"start_frame": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"end_frame": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"cut_id",
|
|
"start_frame_id",
|
|
"end_frame_id",
|
|
"duration_ms",
|
|
"motion_prompt",
|
|
"scene_name",
|
|
"start_frame",
|
|
"end_frame"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"engine": {
|
|
"const": "Blender"
|
|
},
|
|
"scene_path": {
|
|
"type": "string"
|
|
},
|
|
"render_profile": {
|
|
"$ref": "#/$defs/RenderProfile"
|
|
}
|
|
},
|
|
"required": [
|
|
"clips",
|
|
"engine",
|
|
"scene_path",
|
|
"render_profile"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"result": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"clips": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cut_id": {
|
|
"type": "string"
|
|
},
|
|
"media": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/$defs/media"
|
|
},
|
|
{
|
|
"properties": {
|
|
"kind": {
|
|
"const": "video"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"cut_id",
|
|
"media"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"clips"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"request",
|
|
"result"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"oneOf": [
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "01-topic"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/01-topic"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "02-research"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/02-research"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "03-script"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/03-script"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "04-title"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/04-title"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "05-tts-split"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/05-tts-split"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "06-tts"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/06-tts"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "07-cuts"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/07-cuts"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "08-scenes"
|
|
},
|
|
"payload": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.0"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"payload": {
|
|
"$ref": "#/$defs/08-scenes"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.1"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"payload": {
|
|
"$ref": "#/$defs/08-scenes-1.1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "09-entities"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/09-entities"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "10-references"
|
|
},
|
|
"payload": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.0"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"payload": {
|
|
"$ref": "#/$defs/10-references"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.1"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"payload": {
|
|
"$ref": "#/$defs/10-references-1.1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "11-images"
|
|
},
|
|
"payload": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.0"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"payload": {
|
|
"$ref": "#/$defs/11-images"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.1"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"payload": {
|
|
"$ref": "#/$defs/11-images-1.1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "12-motion"
|
|
},
|
|
"payload": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.0"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"payload": {
|
|
"$ref": "#/$defs/12-motion"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "1.1"
|
|
}
|
|
}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"payload": {
|
|
"$ref": "#/$defs/12-motion-1.1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "13-compose"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/13-compose"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"properties": {
|
|
"stage_id": {
|
|
"const": "14-review"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/$defs/14-review"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|