Jobs
POST /api/jobs
Body (Zod createJobBodySchema):
{
"projectId": "…",
"presetId": "talking-head-short",
"type": "pipeline",
"bedMusicEnabled": false,
"exportProfile": "shorts-1080",
"prompt": "…",
"assetId": "…",
"steps": [{ "key": "probe", "options": {} }]
}
| Campo | Notas |
|---|---|
projectId | Obligatorio |
presetId | Resuelve steps desde @video-studio/core |
steps | Alternativa o override; máx. 50 |
type | pipeline (default), export, probe, transcribe, preview |
bedMusicEnabled | Override del step bed-music |
prompt / assetId | Casos prompt-to-video / preview |
Sin presetId ni steps → 400 no steps. Rate limit ~20/min.
Respuesta: { job } con steps ordenados.
GET /api/jobs
Últimos 30 jobs + steps.
GET /api/jobs/:id
Job + payload / result parseados. Poll cada 1–3 s hasta estado terminal.
Estados: queued, running, completed, failed, cancelled, awaiting_review.
POST /api/jobs/:id/cancel
Cancela job / steps activos.
POST /api/jobs/:id/retry
{ "mode": "pipeline" }
o { "mode": "step", "stepId": "…" } para reencolar desde un step fallido. Solo jobs failed / cancelled.
POST /api/jobs/:id/resume
Tras awaiting_review (presets con highlights):
{
"selectedHighlights": [
{ "start": 0, "end": 12.5, "score": 0.9, "reason": "hook" }
]
}
Reencola clip-batch con la selección.