{"openapi":"3.1.0","info":{"title":"CPG Videos API","version":"1.0.0","description":"API first para vídeos editoriais CPG. Recebe artigo completo ou URL para extração por IA. Segredos são configurados somente no servidor."},"servers":[{"url":"/"}],"paths":{"/v1/videos":{"post":{"operationId":"post__v1_videos","summary":"Cadastrar notícia e enfileirar","security":[{"ApiToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVideoRequest"}}}},"responses":{"202":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"duplicate":{"type":"boolean"},"status":{"type":"string"}},"required":["id","duplicate","status"]}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}},"get":{"operationId":"get__v1_videos","summary":"Histórico paginado","security":[{"ApiToken":[]}],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"mode":{"type":"string"},"status":{"type":"string"},"currentStage":{"nullable":true,"type":"string"},"progress":{"type":"number"},"revision":{"type":"number"},"runGeneration":{"type":"number"},"errorCode":{"nullable":true,"type":"string"},"errorMessage":{"nullable":true,"type":"string"},"cancelRequested":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"renders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"videoId":{"type":"string"},"revision":{"type":"number"},"status":{"type":"string"},"key":{"nullable":true,"type":"string"},"url":{"nullable":true,"type":"string"},"downloadUrl":{"nullable":true,"type":"string"},"verification":{"nullable":true},"error":{"nullable":true,"type":"string"},"createdAt":{"type":"string"},"finishedAt":{"nullable":true,"type":"string"}},"required":["id","videoId","revision","status","key","verification","error","createdAt","finishedAt"]}}},"required":["id","title","mode","status","currentStage","progress","revision","runGeneration","errorCode","errorMessage","cancelRequested","createdAt","updatedAt","renders"]}},"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"}},"required":["items","total","limit","offset"]}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/demo":{"post":{"operationId":"post__v1_videos_demo","summary":"Gerar demonstração fixa incluída","security":[{"ApiToken":[]}],"responses":{"202":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"duplicate":{"type":"boolean"},"status":{"type":"string"}},"required":["id","duplicate","status"]}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/{id}":{"get":{"operationId":"get__v1_videos_id_","summary":"Notícia, edição, etapas e arquivos","security":[{"ApiToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoDetail"}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/{id}/project":{"patch":{"operationId":"patch__v1_videos_id_project","summary":"Salvar nova revisão imutável","security":[{"ApiToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"number"},"project":{"type":"object","properties":{"schemaVersion":{"type":"number","enum":[1]},"fps":{"type":"number","enum":[30]},"width":{"type":"number","enum":[1080]},"height":{"type":"number","enum":[1920]},"durationFrames":{"type":"integer","minimum":150,"maximum":9007199254740991},"narrationFrames":{"type":"integer","minimum":0,"maximum":9007199254740991},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["video","image","audio"]},"key":{"type":"string"},"width":{"type":"number","minimum":0},"height":{"type":"number","minimum":0},"durationSeconds":{"type":"number","minimum":0},"sha256":{"type":"string"},"perceptualHash":{"type":"string"},"sourceUrl":{"default":"","type":"string"},"author":{"default":"","type":"string"},"license":{"default":"","type":"string"},"description":{"default":"","type":"string"},"provider":{"type":"string","enum":["local","pexels","youtube","elevenlabs"]},"score":{"type":"number"}},"required":["id","kind","key","width","height","durationSeconds","sha256","provider"]}},"shots":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetId":{"type":"string"},"startFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"durationFrames":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"sourceStartFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"cropX":{"default":0.5,"type":"number","minimum":0,"maximum":1},"cropY":{"default":0.5,"type":"number","minimum":0,"maximum":1},"zoom":{"default":1,"type":"number","minimum":1,"maximum":2},"fit":{"default":"cover","type":"string","enum":["cover","contain"]},"motionX":{"default":0,"type":"number","minimum":-0.05,"maximum":0.05},"motionY":{"default":0,"type":"number","minimum":-0.05,"maximum":0.05},"reason":{"default":"","type":"string"},"credit":{"default":"","type":"string"}},"required":["id","assetId","startFrame","durationFrames","sourceStartFrame"]}},"callouts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","maxLength":5000},"category":{"type":"string","maxLength":150},"startFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"durationFrames":{"type":"integer","minimum":60,"maximum":9007199254740991},"fontSize":{"default":56,"type":"number","minimum":44,"maximum":64}},"required":["id","text","category","startFrame","durationFrames"]}},"audioAssetId":{"type":"string"},"blipKey":{"default":"assets/CPG_Blip.wav","type":"string"},"category":{"type":"string"},"marker":{"default":true,"type":"boolean"},"outroFrames":{"type":"number","enum":[120]},"templateVersion":{"default":"cpg-code-v1","type":"string"},"sourceTitle":{"type":"string"},"warnings":{"default":[],"type":"array","items":{"type":"string"}}},"required":["schemaVersion","fps","width","height","durationFrames","narrationFrames","assets","shots","callouts","audioAssetId","category","outroFrames","sourceTitle"]}},"required":["revision","project"]}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/{id}/render":{"post":{"operationId":"post__v1_videos_id_render","summary":"Renderizar revisão","security":[{"ApiToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"integer","minimum":1}}}}}},"responses":{"202":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"number"},"status":{"type":"string"}},"required":["id","revision","status"]}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/{id}/cancel":{"post":{"operationId":"post__v1_videos_id_cancel","summary":"Cancelar processamento","security":[{"ApiToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoSummary"}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/{id}/resume":{"post":{"operationId":"post__v1_videos_id_resume","summary":"Retomar ou invalidar etapa e dependentes","security":[{"ApiToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"fromStage":{"type":"string","enum":["article","script","narration","alignment","media","selection","editing","render","verify"]}}}}}},"responses":{"202":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}},"required":["id","status"]}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/{id}/media":{"post":{"operationId":"post__v1_videos_id_media","summary":"Enviar arquivo manual; campos antes de file","security":[{"ApiToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"sentenceIndex":{"type":"integer","minimum":0,"default":0},"description":{"type":"string"},"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/{id}/media/{assetId}/file":{"get":{"operationId":"get__v1_videos_id_media_assetId_file","summary":"Baixar mídia com autenticação","security":[{"ApiToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/videos/{id}/renders/{renderId}/file":{"get":{"operationId":"get__v1_videos_id_renders_renderId_file","summary":"Baixar MP4 verificado","security":[{"ApiToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"renderId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Arquivo MP4","content":{"video/mp4":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/integrations":{"get":{"operationId":"get__v1_integrations","summary":"Diagnóstico de provedores sem revelar credenciais","security":[{"ApiToken":[]}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/templates":{"get":{"operationId":"get__v1_templates","summary":"Parâmetros dos três templates","security":[{"ApiToken":[]}],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/health/live":{"get":{"operationId":"get__v1_health_live","summary":"Processo ativo","security":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}},"/v1/health/ready":{"get":{"operationId":"get__v1_health_ready","summary":"Banco e fila disponíveis","security":[],"responses":{"200":{"description":"Sucesso","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Pedido inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Token inválido"},"404":{"description":"Não encontrado"},"409":{"description":"Processamento ativo"},"500":{"description":"Falha interna sanitizada"}}}}},"components":{"securitySchemes":{"ApiToken":{"type":"http","scheme":"bearer"}},"schemas":{"CreateVideoRequest":{"type":"object","properties":{"source":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["article"]},"article":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":1500},"content":{"type":"string","minLength":30,"maxLength":100000},"url":{"type":"string","format":"uri"},"category":{"default":"Petróleo e Gás","type":"string","maxLength":150}},"required":["title","content"],"additionalProperties":false}},"required":["type","article"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"starts_with","pattern":"^https:\\/\\/.*"}},"required":["type","url"],"additionalProperties":false}]},"durationSeconds":{"default":60,"description":"Referência de duração, não limite do vídeo final. O resultado pode ser maior ou menor.","type":"integer","minimum":12,"maximum":180},"mode":{"default":"live","type":"string","enum":["demo","live"]},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["source"],"additionalProperties":false},"Article":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":1500},"content":{"type":"string","minLength":30,"maxLength":100000},"url":{"type":"string","format":"uri"},"category":{"default":"Petróleo e Gás","type":"string","maxLength":150}},"required":["title","content"],"additionalProperties":false},"Project":{"type":"object","properties":{"schemaVersion":{"type":"number","enum":[1]},"fps":{"type":"number","enum":[30]},"width":{"type":"number","enum":[1080]},"height":{"type":"number","enum":[1920]},"durationFrames":{"type":"integer","minimum":150,"maximum":9007199254740991},"narrationFrames":{"type":"integer","minimum":0,"maximum":9007199254740991},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["video","image","audio"]},"key":{"type":"string"},"width":{"type":"number","minimum":0},"height":{"type":"number","minimum":0},"durationSeconds":{"type":"number","minimum":0},"sha256":{"type":"string"},"perceptualHash":{"type":"string"},"sourceUrl":{"default":"","type":"string"},"author":{"default":"","type":"string"},"license":{"default":"","type":"string"},"description":{"default":"","type":"string"},"provider":{"type":"string","enum":["local","pexels","youtube","elevenlabs"]},"score":{"type":"number"}},"required":["id","kind","key","width","height","durationSeconds","sha256","provider"]}},"shots":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetId":{"type":"string"},"startFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"durationFrames":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"sourceStartFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"cropX":{"default":0.5,"type":"number","minimum":0,"maximum":1},"cropY":{"default":0.5,"type":"number","minimum":0,"maximum":1},"zoom":{"default":1,"type":"number","minimum":1,"maximum":2},"fit":{"default":"cover","type":"string","enum":["cover","contain"]},"motionX":{"default":0,"type":"number","minimum":-0.05,"maximum":0.05},"motionY":{"default":0,"type":"number","minimum":-0.05,"maximum":0.05},"reason":{"default":"","type":"string"},"credit":{"default":"","type":"string"}},"required":["id","assetId","startFrame","durationFrames","sourceStartFrame"]}},"callouts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","maxLength":5000},"category":{"type":"string","maxLength":150},"startFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"durationFrames":{"type":"integer","minimum":60,"maximum":9007199254740991},"fontSize":{"default":56,"type":"number","minimum":44,"maximum":64}},"required":["id","text","category","startFrame","durationFrames"]}},"audioAssetId":{"type":"string"},"blipKey":{"default":"assets/CPG_Blip.wav","type":"string"},"category":{"type":"string"},"marker":{"default":true,"type":"boolean"},"outroFrames":{"type":"number","enum":[120]},"templateVersion":{"default":"cpg-code-v1","type":"string"},"sourceTitle":{"type":"string"},"warnings":{"default":[],"type":"array","items":{"type":"string"}}},"required":["schemaVersion","fps","width","height","durationFrames","narrationFrames","assets","shots","callouts","audioAssetId","category","outroFrames","sourceTitle"]},"Asset":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["video","image","audio"]},"key":{"type":"string"},"width":{"type":"number","minimum":0},"height":{"type":"number","minimum":0},"durationSeconds":{"type":"number","minimum":0},"sha256":{"type":"string"},"perceptualHash":{"type":"string"},"sourceUrl":{"default":"","type":"string"},"author":{"default":"","type":"string"},"license":{"default":"","type":"string"},"description":{"default":"","type":"string"},"provider":{"type":"string","enum":["local","pexels","youtube","elevenlabs"]},"score":{"type":"number"}},"required":["id","kind","key","width","height","durationSeconds","sha256","provider"]},"VideoSummary":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"mode":{"type":"string"},"status":{"type":"string"},"currentStage":{"nullable":true,"type":"string"},"progress":{"type":"number"},"revision":{"type":"number"},"runGeneration":{"type":"number"},"errorCode":{"nullable":true,"type":"string"},"errorMessage":{"nullable":true,"type":"string"},"cancelRequested":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","title","mode","status","currentStage","progress","revision","runGeneration","errorCode","errorMessage","cancelRequested","createdAt","updatedAt"]},"VideoDetail":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"mode":{"type":"string"},"status":{"type":"string"},"currentStage":{"nullable":true,"type":"string"},"progress":{"type":"number"},"revision":{"type":"number"},"runGeneration":{"type":"number"},"errorCode":{"nullable":true,"type":"string"},"errorMessage":{"nullable":true,"type":"string"},"cancelRequested":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"input":{"type":"object","properties":{"source":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["article"]},"article":{"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":1500},"content":{"type":"string","minLength":30,"maxLength":100000},"url":{"type":"string","format":"uri"},"category":{"default":"Petróleo e Gás","type":"string","maxLength":150}},"required":["title","content"],"additionalProperties":false}},"required":["type","article"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"]},"url":{"type":"string","format":"starts_with","pattern":"^https:\\/\\/.*"}},"required":["type","url"],"additionalProperties":false}]},"durationSeconds":{"default":60,"description":"Referência de duração, não limite do vídeo final. O resultado pode ser maior ou menor.","type":"integer","minimum":12,"maximum":180},"mode":{"default":"live","type":"string","enum":["demo","live"]},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["source"],"additionalProperties":false},"article":{"nullable":true,"type":"object","properties":{"title":{"type":"string","minLength":3,"maxLength":1500},"content":{"type":"string","minLength":30,"maxLength":100000},"url":{"type":"string","format":"uri"},"category":{"default":"Petróleo e Gás","type":"string","maxLength":150}},"required":["title","content"],"additionalProperties":false},"project":{"nullable":true,"type":"object","properties":{"schemaVersion":{"type":"number","enum":[1]},"fps":{"type":"number","enum":[30]},"width":{"type":"number","enum":[1080]},"height":{"type":"number","enum":[1920]},"durationFrames":{"type":"integer","minimum":150,"maximum":9007199254740991},"narrationFrames":{"type":"integer","minimum":0,"maximum":9007199254740991},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["video","image","audio"]},"key":{"type":"string"},"width":{"type":"number","minimum":0},"height":{"type":"number","minimum":0},"durationSeconds":{"type":"number","minimum":0},"sha256":{"type":"string"},"perceptualHash":{"type":"string"},"sourceUrl":{"default":"","type":"string"},"author":{"default":"","type":"string"},"license":{"default":"","type":"string"},"description":{"default":"","type":"string"},"provider":{"type":"string","enum":["local","pexels","youtube","elevenlabs"]},"score":{"type":"number"}},"required":["id","kind","key","width","height","durationSeconds","sha256","provider"]}},"shots":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"assetId":{"type":"string"},"startFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"durationFrames":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"sourceStartFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"cropX":{"default":0.5,"type":"number","minimum":0,"maximum":1},"cropY":{"default":0.5,"type":"number","minimum":0,"maximum":1},"zoom":{"default":1,"type":"number","minimum":1,"maximum":2},"fit":{"default":"cover","type":"string","enum":["cover","contain"]},"motionX":{"default":0,"type":"number","minimum":-0.05,"maximum":0.05},"motionY":{"default":0,"type":"number","minimum":-0.05,"maximum":0.05},"reason":{"default":"","type":"string"},"credit":{"default":"","type":"string"}},"required":["id","assetId","startFrame","durationFrames","sourceStartFrame"]}},"callouts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","maxLength":5000},"category":{"type":"string","maxLength":150},"startFrame":{"type":"integer","minimum":0,"maximum":9007199254740991},"durationFrames":{"type":"integer","minimum":60,"maximum":9007199254740991},"fontSize":{"default":56,"type":"number","minimum":44,"maximum":64}},"required":["id","text","category","startFrame","durationFrames"]}},"audioAssetId":{"type":"string"},"blipKey":{"default":"assets/CPG_Blip.wav","type":"string"},"category":{"type":"string"},"marker":{"default":true,"type":"boolean"},"outroFrames":{"type":"number","enum":[120]},"templateVersion":{"default":"cpg-code-v1","type":"string"},"sourceTitle":{"type":"string"},"warnings":{"default":[],"type":"array","items":{"type":"string"}}},"required":["schemaVersion","fps","width","height","durationFrames","narrationFrames","assets","shots","callouts","audioAssetId","category","outroFrames","sourceTitle"]},"stages":{"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","enum":["article","script","narration","alignment","media","selection","editing","render","verify"]},"status":{"type":"string"},"attempts":{"type":"number"},"result":{"nullable":true},"error":{"nullable":true,"type":"string"}},"required":["stage","status","attempts","result","error"]}},"renders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"videoId":{"type":"string"},"revision":{"type":"number"},"status":{"type":"string"},"key":{"nullable":true,"type":"string"},"url":{"nullable":true,"type":"string"},"downloadUrl":{"nullable":true,"type":"string"},"verification":{"nullable":true},"error":{"nullable":true,"type":"string"},"createdAt":{"type":"string"},"finishedAt":{"nullable":true,"type":"string"}},"required":["id","videoId","revision","status","key","verification","error","createdAt","finishedAt"]}},"assets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["video","image","audio"]},"key":{"type":"string"},"width":{"type":"number","minimum":0},"height":{"type":"number","minimum":0},"durationSeconds":{"type":"number","minimum":0},"sha256":{"type":"string"},"perceptualHash":{"type":"string"},"sourceUrl":{"default":"","type":"string"},"author":{"default":"","type":"string"},"license":{"default":"","type":"string"},"description":{"default":"","type":"string"},"provider":{"type":"string","enum":["local","pexels","youtube","elevenlabs"]},"score":{"type":"number"},"url":{"type":"string"}},"required":["id","kind","key","width","height","durationSeconds","sha256","provider","url"]}}},"required":["id","title","mode","status","currentStage","progress","revision","runGeneration","errorCode","errorMessage","cancelRequested","createdAt","updatedAt","input","article","project","stages","renders","assets"]},"Error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"errors":{"type":"array","items":{}}},"required":["code","message"]}}}}