{
  "slug": "modules/video",
  "title": "Video module",
  "description": "Browser-session recording jobs driven by natural-language prompts and explicit workflow steps.",
  "url": "https://cuitty.com/docs/modules/video",
  "markdown_url": "https://cuitty.com/docs/modules/video.md",
  "json_url": "https://cuitty.com/docs/modules/video.json",
  "frontmatter": {
    "title": "Video module",
    "description": "Browser-session recording jobs driven by natural-language prompts and explicit workflow steps.",
    "order": 14,
    "section": "Modules",
    "updatedAt": "2026-05-10"
  },
  "headings": [
    {
      "depth": 1,
      "slug": "video-module",
      "text": "Video module"
    },
    {
      "depth": 2,
      "slug": "what-it-captures",
      "text": "What it captures"
    },
    {
      "depth": 2,
      "slug": "submit-a-job",
      "text": "Submit a job"
    },
    {
      "depth": 2,
      "slug": "reads",
      "text": "Reads"
    }
  ],
  "body_markdown": "# Video module\n\nThe video module records browser workflows as reviewable artifacts. A job starts from a prompt, target URL, or explicit steps, then a browser runner captures screenshots and writes a video artifact when the run finishes.\n\n## What it captures\n\n- Prompt and target URL\n- Resolved workflow steps\n- Run status and per-step progress\n- Duration, output format, and artifact URL\n- Error details when a run fails\n\n## Submit a job\n\n```\nPOST /api/video/jobs\n```\n\nUse the endpoint for long-running video generation requests. Ingest events with `type: \"video\"` are reserved for completed-run metadata that should appear in timelines and audit-style views.\n\n## Reads\n\n| Endpoint | Returns |\n| --- | --- |\n| `GET /api/video/status` | Module health |\n| `GET /api/video/jobs?project_id=...` | Recent jobs |\n| `GET /api/video/jobs/{id}` | Job status, steps, and artifact metadata |\n\nProduct page: [Video Generator](/product/modules/video).",
  "body_html": "<h1 id=\"video-module\">Video module</h1>\n<p>The video module records browser workflows as reviewable artifacts. A job starts from a prompt, target URL, or explicit steps, then a browser runner captures screenshots and writes a video artifact when the run finishes.</p>\n<h2 id=\"what-it-captures\">What it captures</h2>\n<ul>\n<li>Prompt and target URL</li>\n<li>Resolved workflow steps</li>\n<li>Run status and per-step progress</li>\n<li>Duration, output format, and artifact URL</li>\n<li>Error details when a run fails</li>\n</ul>\n<h2 id=\"submit-a-job\">Submit a job</h2>\n<pre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"plaintext\"><code><span class=\"line\"><span>POST /api/video/jobs</span></span></code></pre>\n<p>Use the endpoint for long-running video generation requests. Ingest events with <code>type: \"video\"</code> are reserved for completed-run metadata that should appear in timelines and audit-style views.</p>\n<h2 id=\"reads\">Reads</h2>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<table><thead><tr><th>Endpoint</th><th>Returns</th></tr></thead><tbody><tr><td><code>GET /api/video/status</code></td><td>Module health</td></tr><tr><td><code>GET /api/video/jobs?project_id=...</code></td><td>Recent jobs</td></tr><tr><td><code>GET /api/video/jobs/{id}</code></td><td>Job status, steps, and artifact metadata</td></tr></tbody></table>\n<p>Product page: <a href=\"/product/modules/video\">Video Generator</a>.</p>",
  "links_out": [
    "/product/modules/video"
  ]
}