{
  "edition": "100-film public research edition",
  "review_date": "2026-09-04",
  "scope": "100 distinct official OpenAI films. The first 36 retain two-second overview studies; the added 64 use four-second full-duration contact sheets. Selected transitions use closer sampling. No audio analysis was performed.",
  "timing": "Approximate editorial study intervals, not a frame-accurate edit decision list. Requested frame timestamps are limited by the source frame rate. Edited footage does not establish product latency.",
  "screen_boundary": "App/browser groups include identifiable interface controls, cropped or staged interface views, and readable physical-screen inserts. They are occurrences, not unique features. Isolated outputs, title cards, graphic chat overlays, and unreadable background screens are excluded. A grouped beat can contain a human insert.",
  "selection": "A purposive, non-exhaustive sample spanning product films, screen tutorials, presenter demos, output reels, customer stories, live-action ads, and a retrospective. Inclusion is not a current-product recommendation.",
  "film_count": 100,
  "shot_count": 1075,
  "screen_count": 637,
  "films": [
    {
      "slug": "atlas-intro",
      "id": "Ej6hnsQgV_c",
      "title": "Introducing ChatGPT Atlas",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-10-21",
      "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
      "duration": 97.714,
      "width": 1920,
      "height": 1080,
      "fps": 30.000307065578973,
      "sha256": "74bd47a01176497da7c28cfb61233a9a6ae5a9d40b199654bd8310f72ddf125f",
      "family": "Product film",
      "priority": "Primary",
      "poster": 24,
      "summary": "A repeatable product-film structure: short white chapter cards, a recognizable browser window, then tightly cropped evidence of one action. The shopping sequence stays with a single task through permission, activity, and a visible cart.",
      "borrow": "Establish the whole window before cropping to a control. Use the same crop across related examples. Close a demo on its result, not its loading state.",
      "avoid": "Do not transplant the blue desktop, Atlas branding, shopping data, or implied agent capabilities into your product. The very tight crops depend on viewers having already seen the browser.",
      "selection_reason": "Browser context and full-window-to-detail cuts",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 16,
      "shots": [
        {
          "start": 0,
          "end": 3,
          "frame": 2,
          "kind": "graphic",
          "surface": "App identity",
          "description": "A small desktop dock introduces the application icon.",
          "treatment": "Centered object on white; generous empty space.",
          "reuse": "A brief identity anchor before the demo.",
          "id": "atlas-intro-01",
          "number": 1,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/002000.webp"
        },
        {
          "start": 3,
          "end": 7,
          "frame": 6,
          "kind": "title",
          "surface": "Opening card",
          "description": "The product name is revealed as a short statement.",
          "treatment": "Type appears on a white field.",
          "reuse": "Use a concise title as a manual-start lead-in.",
          "id": "atlas-intro-02",
          "number": 2,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=3s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/006000.webp"
        },
        {
          "start": 7,
          "end": 14,
          "frame": 12,
          "kind": "app",
          "surface": "Browser start / composer",
          "description": "A search field becomes a recognizable browser start screen.",
          "treatment": "Isolated control expands into window context.",
          "reuse": "Move from the task to its location in the product.",
          "id": "atlas-intro-03",
          "number": 3,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=7s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/012000.webp"
        },
        {
          "start": 14,
          "end": 16.9,
          "frame": 16,
          "kind": "app",
          "surface": "Browser page",
          "description": "A lodging website fills the framed browser.",
          "treatment": "Full-window establishment on a colored desktop.",
          "reuse": "Give viewers a spatial reference before the crop.",
          "id": "atlas-intro-04",
          "number": 4,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/016000.webp"
        },
        {
          "start": 16.9,
          "end": 19.9,
          "frame": 18,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A short statement separates the next capability.",
          "treatment": "White reset card; measured 3.0-second interval.",
          "reuse": "A recognizable content transition can be the OBS cue.",
          "id": "atlas-intro-05",
          "number": 5,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/018000.webp"
        },
        {
          "start": 19.9,
          "end": 23.033,
          "frame": 22,
          "kind": "app",
          "surface": "Browser page",
          "description": "A property listing establishes the page context.",
          "treatment": "Whole browser is visible before the sidebar detail.",
          "reuse": "Show what the assistant will act on.",
          "id": "atlas-intro-06",
          "number": 6,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=19s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/022000.webp"
        },
        {
          "start": 23.033,
          "end": 27,
          "frame": 26,
          "kind": "app",
          "surface": "Browser + assistant",
          "description": "A prompt is entered next to the property listing.",
          "treatment": "Verified hard cut into the sidebar crop.",
          "reuse": "Use a cut when a smooth zoom adds no information.",
          "id": "atlas-intro-07",
          "number": 7,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=23s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/026000.webp"
        },
        {
          "start": 27,
          "end": 31,
          "frame": 30,
          "kind": "app",
          "surface": "Browser + assistant",
          "description": "A question and answer stay beside the source page.",
          "treatment": "Close framing; context remains at the left edge.",
          "reuse": "Keep the relevant source visible with the answer.",
          "id": "atlas-intro-08",
          "number": 8,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=27s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/030000.webp"
        },
        {
          "start": 31,
          "end": 35,
          "frame": 34,
          "kind": "app",
          "surface": "Browser + assistant",
          "description": "Coursework and an article appear in successive contextual prompts.",
          "treatment": "Montage retains the same left-source/right-prompt arrangement.",
          "reuse": "Change the subject without changing the visual grammar.",
          "id": "atlas-intro-09",
          "number": 9,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=31s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/034000.webp"
        },
        {
          "start": 35,
          "end": 41,
          "frame": 40,
          "kind": "app",
          "surface": "Browser + assistant",
          "description": "A flight page is paired with a question and response.",
          "treatment": "Same tight split-screen composition.",
          "reuse": "End a short example on an answer the audience can recognize.",
          "id": "atlas-intro-10",
          "number": 10,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=35s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/040000.webp"
        },
        {
          "start": 41,
          "end": 45,
          "frame": 44,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A short assistance statement resets the screen.",
          "treatment": "Centered type; no product chrome.",
          "reuse": "Use chapter cards sparingly between distinct ideas.",
          "id": "atlas-intro-11",
          "number": 11,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/044000.webp"
        },
        {
          "start": 45,
          "end": 51,
          "frame": 48,
          "kind": "app",
          "surface": "Inline writing",
          "description": "Selected email text exposes an inline rewriting control.",
          "treatment": "Isolated email window with a small contextual action.",
          "reuse": "Demonstrate selection, action, and changed text in one place.",
          "id": "atlas-intro-12",
          "number": 12,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=45s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/048000.webp"
        },
        {
          "start": 51,
          "end": 53,
          "frame": 52,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A continuity statement introduces remembered context.",
          "treatment": "White field and short type.",
          "reuse": "Give a new behavior a readable label.",
          "id": "atlas-intro-13",
          "number": 13,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=51s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/052000.webp"
        },
        {
          "start": 53,
          "end": 57,
          "frame": 56,
          "kind": "app",
          "surface": "Browser start / composer",
          "description": "The browser start surface gives way to a request about earlier browsing.",
          "treatment": "Start-screen context then an isolated message crop.",
          "reuse": "Keep the request short enough to read at playback size.",
          "id": "atlas-intro-14",
          "number": 14,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=53s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/056000.webp"
        },
        {
          "start": 57,
          "end": 61,
          "frame": 60,
          "kind": "app",
          "surface": "Browser tabs",
          "description": "Previously visited items appear as opened tabs.",
          "treatment": "Crop favors the tab strip and task response.",
          "reuse": "Frame the actual changed state, not a generic success badge.",
          "id": "atlas-intro-15",
          "number": 15,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=57s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/060000.webp"
        },
        {
          "start": 61,
          "end": 63,
          "frame": 62,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A new statement introduces taking action.",
          "treatment": "Brief white reset.",
          "reuse": "Separate assistance from autonomous action in the story.",
          "id": "atlas-intro-16",
          "number": 16,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=61s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/062000.webp"
        },
        {
          "start": 63,
          "end": 67,
          "frame": 66,
          "kind": "app",
          "surface": "Browser + assistant",
          "description": "A shopping request is typed beside a store page.",
          "treatment": "Close sidebar with shopping context retained.",
          "reuse": "Make the task and its inputs visible.",
          "id": "atlas-intro-17",
          "number": 17,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=63s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/066000.webp"
        },
        {
          "start": 67,
          "end": 73,
          "frame": 70,
          "kind": "app",
          "surface": "Approval / consent",
          "description": "The assistant asks for confirmation before browser action.",
          "treatment": "Stable close-up on the permission choice.",
          "reuse": "Do not edit away a meaningful permission step.",
          "id": "atlas-intro-18",
          "number": 18,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=67s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/070000.webp"
        },
        {
          "start": 73,
          "end": 77,
          "frame": 76,
          "kind": "app",
          "surface": "Agent browser",
          "description": "The full browser shows the shopping task underway.",
          "treatment": "Pull back to the whole task environment.",
          "reuse": "Re-establish context after a close approval shot.",
          "id": "atlas-intro-19",
          "number": 19,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=73s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/076000.webp"
        },
        {
          "start": 77,
          "end": 81,
          "frame": 80,
          "kind": "app",
          "surface": "Agent browser",
          "description": "Search and add-to-cart activity is shown on the store page.",
          "treatment": "Closer crop follows the active region; several action beats.",
          "reuse": "Compress waiting but retain cause and effect.",
          "id": "atlas-intro-20",
          "number": 20,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=77s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/080000.webp"
        },
        {
          "start": 81,
          "end": 83,
          "frame": 82,
          "kind": "app",
          "surface": "Completion message",
          "description": "A completion message summarizes the prepared cart.",
          "treatment": "Text-only result crop.",
          "reuse": "Let the completion state register before the visual proof.",
          "id": "atlas-intro-21",
          "number": 21,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=81s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/082000.webp"
        },
        {
          "start": 83,
          "end": 87,
          "frame": 86,
          "kind": "app",
          "surface": "Cart / result",
          "description": "The cart and its checkout control provide tangible proof.",
          "treatment": "Two close result framings rather than a decorative transition.",
          "reuse": "Hold the finished result while the speaker states the outcome.",
          "id": "atlas-intro-22",
          "number": 22,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=83s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=86s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/086000.webp"
        },
        {
          "start": 87,
          "end": 90,
          "frame": 88,
          "kind": "title",
          "surface": "Closing card",
          "description": "A final product statement replaces the browser.",
          "treatment": "Return to the opening white-field grammar.",
          "reuse": "Create a clear visual finish independent of the talking head.",
          "id": "atlas-intro-23",
          "number": 23,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=87s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/088000.webp"
        },
        {
          "start": 90,
          "end": 97.714,
          "frame": 94,
          "kind": "title",
          "surface": "End card",
          "description": "An app icon resolves into the final destination card.",
          "treatment": "Small centered identity and URL.",
          "reuse": "Use an original all-hands ending, not the source brand assets.",
          "id": "atlas-intro-24",
          "number": 24,
          "film": "atlas-intro",
          "film_title": "Introducing ChatGPT Atlas",
          "source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=90s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c&t=94s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/atlas-intro/094000.webp"
        }
      ]
    },
    {
      "slug": "codex-first-look",
      "id": "0e-Brv-gS9Q",
      "title": "A first look at the Codex app",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-02-02",
      "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
      "duration": 132.654,
      "width": 1920,
      "height": 1080,
      "fps": 23.97611436154171,
      "sha256": "d5f8b05e7d123aa336f22d01210b315bfd914aa3d380e70ca21783f023174895",
      "family": "Product film",
      "priority": "Primary",
      "poster": 96,
      "summary": "A desktop tour organized by small chapter cards. A rapid opening push settles before typing; later crops emphasize selectors, voice input, worktrees, skills, schedules, and review rather than moving continuously.",
      "borrow": "Use motion to arrive at a useful crop, then stop. Alternate whole-window context with one readable control. Keep one task's result visible before opening another.",
      "avoid": "The source has many features in two minutes. Do not turn an all-hands update into an equally dense feature checklist or reproduce its desktop branding.",
      "selection_reason": "Chapter cards, camera pushes, and desktop workflow",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 16,
      "shots": [
        {
          "start": 0,
          "end": 2.586,
          "frame": 2,
          "kind": "title",
          "surface": "Opening card",
          "description": "A short product title on white.",
          "treatment": "Centered type; title-to-window boundary sampled closely.",
          "reuse": "A clean title is enough for the lead-in.",
          "id": "codex-first-look-01",
          "number": 1,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/002000.webp"
        },
        {
          "start": 2.586,
          "end": 5,
          "frame": 4,
          "kind": "app",
          "surface": "Desktop shell",
          "description": "The desktop window establishes the application before a rapid push.",
          "treatment": "Measured push concentrated around 3.9–4.3 seconds.",
          "reuse": "Move once, then allow reading.",
          "id": "codex-first-look-02",
          "number": 2,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=2s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/004000.webp"
        },
        {
          "start": 5,
          "end": 8,
          "frame": 6,
          "kind": "app",
          "surface": "Project selector",
          "description": "The project choice becomes the focal control.",
          "treatment": "Stable close crop after the push.",
          "reuse": "Show which project a task belongs to.",
          "id": "codex-first-look-03",
          "number": 3,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=5s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/006000.webp"
        },
        {
          "start": 8,
          "end": 15,
          "frame": 12,
          "kind": "app",
          "surface": "Composer",
          "description": "A change request is entered and sent.",
          "treatment": "Composer close-up; cursor movement carries the action.",
          "reuse": "Hold the completed request long enough to understand it.",
          "id": "codex-first-look-04",
          "number": 4,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/012000.webp"
        },
        {
          "start": 15,
          "end": 17.2,
          "frame": 16,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A multitasking chapter separates workflows.",
          "treatment": "White type card.",
          "reuse": "Use a chapter transition when the subject changes.",
          "id": "codex-first-look-05",
          "number": 5,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=15s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/016000.webp"
        },
        {
          "start": 17.2,
          "end": 22.4,
          "frame": 20,
          "kind": "app",
          "surface": "Thread sidebar",
          "description": "The sidebar and new-thread action show multiple work contexts.",
          "treatment": "Close sidebar followed by wider context.",
          "reuse": "Highlight navigation without losing the application frame.",
          "id": "codex-first-look-06",
          "number": 6,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=17s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/020000.webp"
        },
        {
          "start": 22.4,
          "end": 25,
          "frame": 24,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A voice-input chapter introduces a different interaction.",
          "treatment": "Short white card.",
          "reuse": "Name the interaction before showing its tiny control.",
          "id": "codex-first-look-07",
          "number": 7,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/024000.webp"
        },
        {
          "start": 25,
          "end": 31.4,
          "frame": 30,
          "kind": "app",
          "surface": "Voice input",
          "description": "The microphone control changes into a waveform.",
          "treatment": "Fixed composer crop with state changes.",
          "reuse": "Let the control state explain recording without extra graphics.",
          "id": "codex-first-look-08",
          "number": 8,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=25s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/030000.webp"
        },
        {
          "start": 31.4,
          "end": 34.2,
          "frame": 32,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A worktree chapter resets the scene.",
          "treatment": "Two-line title.",
          "reuse": "Keep headings concise when two lines are necessary.",
          "id": "codex-first-look-09",
          "number": 9,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=31s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/032000.webp"
        },
        {
          "start": 34.2,
          "end": 39,
          "frame": 38,
          "kind": "app",
          "surface": "Project selector",
          "description": "The selected project changes.",
          "treatment": "Close upper-center framing.",
          "reuse": "Orient the audience before the task begins.",
          "id": "codex-first-look-10",
          "number": 10,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/038000.webp"
        },
        {
          "start": 39,
          "end": 47,
          "frame": 44,
          "kind": "app",
          "surface": "Composer / worktree",
          "description": "The worktree mode is selected and a task is entered.",
          "treatment": "Lower-window crop with mode controls in frame.",
          "reuse": "Retain the setting that makes this task different.",
          "id": "codex-first-look-11",
          "number": 11,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=39s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/044000.webp"
        },
        {
          "start": 47,
          "end": 58,
          "frame": 54,
          "kind": "app",
          "surface": "Agent activity",
          "description": "The full window shows task activity and a completed response.",
          "treatment": "Stable desktop view with visible content progression.",
          "reuse": "Keep a little process evidence, not every wait.",
          "id": "codex-first-look-12",
          "number": 12,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=47s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/054000.webp"
        },
        {
          "start": 58,
          "end": 67.2,
          "frame": 62,
          "kind": "app",
          "surface": "Commit dialog",
          "description": "The commit action opens a dialog and advances through status.",
          "treatment": "Upper-toolbar crop then centered modal.",
          "reuse": "Show the actual completion or handoff step.",
          "id": "codex-first-look-13",
          "number": 13,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/062000.webp"
        },
        {
          "start": 67.2,
          "end": 69.5,
          "frame": 68,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A skills chapter introduces reusable actions.",
          "treatment": "White title reset.",
          "reuse": "Label a new abstraction before showing its menu.",
          "id": "codex-first-look-14",
          "number": 14,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=67s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/068000.webp"
        },
        {
          "start": 69.5,
          "end": 73,
          "frame": 72,
          "kind": "app",
          "surface": "Skills menu",
          "description": "A skill panel and picker appear.",
          "treatment": "Window context followed by a composer-menu crop.",
          "reuse": "Use the real picker, not a recreated feature list.",
          "id": "codex-first-look-15",
          "number": 15,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=69s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/072000.webp"
        },
        {
          "start": 73,
          "end": 80,
          "frame": 76,
          "kind": "app",
          "surface": "Composer / skill",
          "description": "A selected skill appears in the prompt and produces activity.",
          "treatment": "Close prompt with a recognizable tagged action.",
          "reuse": "Connect selection to its effect.",
          "id": "codex-first-look-16",
          "number": 16,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=73s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/076000.webp"
        },
        {
          "start": 80,
          "end": 90,
          "frame": 86,
          "kind": "app",
          "surface": "Automation form",
          "description": "The automation page opens a scheduling form.",
          "treatment": "Page context, modal, then closer form framing.",
          "reuse": "Show the name, task, and cadence without long typing.",
          "id": "codex-first-look-17",
          "number": 17,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=86s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/086000.webp"
        },
        {
          "start": 90,
          "end": 92.7,
          "frame": 92,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A review chapter separates the next task.",
          "treatment": "White reset.",
          "reuse": "Use a clear break before dense code.",
          "id": "codex-first-look-18",
          "number": 18,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=90s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/092000.webp"
        },
        {
          "start": 92.7,
          "end": 98,
          "frame": 96,
          "kind": "app",
          "surface": "Code review",
          "description": "A code diff is shown beside the task conversation.",
          "treatment": "Wide split view into a close diff crop.",
          "reuse": "Make the relevant changed lines readable.",
          "id": "codex-first-look-19",
          "number": 19,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=92s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/096000.webp"
        },
        {
          "start": 98,
          "end": 107,
          "frame": 100,
          "kind": "app",
          "surface": "Code review comment",
          "description": "An inline comment is entered, then the wider review returns.",
          "treatment": "Close action followed by contextual result.",
          "reuse": "Retain both the comment and what it refers to.",
          "id": "codex-first-look-20",
          "number": 20,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=98s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/100000.webp"
        },
        {
          "start": 107,
          "end": 109.5,
          "frame": 108,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A portable-window chapter introduces the final behavior.",
          "treatment": "Short statement on white.",
          "reuse": "Signal a layout change before the application moves.",
          "id": "codex-first-look-21",
          "number": 21,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=107s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/108000.webp"
        },
        {
          "start": 109.5,
          "end": 121,
          "frame": 118,
          "kind": "app",
          "surface": "Floating window",
          "description": "The task window becomes a smaller floating companion.",
          "treatment": "Whole-window context and a control close-up.",
          "reuse": "Track the same object across a layout change.",
          "id": "codex-first-look-22",
          "number": 22,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=109s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=118s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/118000.webp"
        },
        {
          "start": 121,
          "end": 127.8,
          "frame": 124,
          "kind": "app",
          "surface": "Generated site / preview",
          "description": "A finished website remains visible beside the small task panel.",
          "treatment": "Result and assistant share the desktop.",
          "reuse": "Finish with the thing that was built.",
          "id": "codex-first-look-23",
          "number": 23,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=121s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/124000.webp"
        },
        {
          "start": 127.8,
          "end": 132.654,
          "frame": 132,
          "kind": "title",
          "surface": "End card",
          "description": "The application gives way to the source identity.",
          "treatment": "Type and logo on white.",
          "reuse": "Leave a calm, unmistakable ending frame.",
          "id": "codex-first-look-24",
          "number": 24,
          "film": "codex-first-look",
          "film_title": "A first look at the Codex app",
          "source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=127s",
          "frame_source_url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-first-look/132000.webp"
        }
      ]
    },
    {
      "slug": "agent-intro",
      "id": "Wgn4JeYI9lY",
      "title": "Introducing ChatGPT agent",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-07-17",
      "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY",
      "duration": 127.354,
      "width": 1920,
      "height": 1080,
      "fps": 23.976125966937605,
      "sha256": "567e4f89d028c2e009664e7c46bc7978a4b0e72aaf81093a233afba4108ea511",
      "family": "Human + product",
      "priority": "Supporting",
      "poster": 68,
      "summary": "Interview coverage and physical laptop shots surround short, highly cropped software examples. Compact browser activity cards lead to concrete files and tables. This is a contrast to the product-only films, not the default layout for a separate presentation video.",
      "borrow": "Use task → visible activity → artifact as a story spine. Show a source document or browser action before the result file.",
      "avoid": "Do not add these interview subjects or another presenter inset to the companion video; the user's talking head already runs separately in OBS.",
      "selection_reason": "Human context, agent activity, and output proof",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 12,
      "shots": [
        {
          "start": 0,
          "end": 4.1,
          "frame": 2,
          "kind": "live",
          "surface": "Environment",
          "description": "An exterior garden establishes a place.",
          "treatment": "Wide live-action opening.",
          "reuse": "An environment shot is optional context, not a necessary preamble.",
          "id": "agent-intro-01",
          "number": 1,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/002000.webp"
        },
        {
          "start": 4.1,
          "end": 11.2,
          "frame": 8,
          "kind": "live",
          "surface": "Interview",
          "description": "A seated speaker appears in wide and tighter coverage.",
          "treatment": "Interview angle changes.",
          "reuse": "A contrast example; omit a second talking head in this project.",
          "id": "agent-intro-02",
          "number": 2,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/008000.webp"
        },
        {
          "start": 11.2,
          "end": 15.5,
          "frame": 12,
          "kind": "app",
          "surface": "Composer / tools",
          "description": "The tool menu exposes the agent choice, then the selected state.",
          "treatment": "Isolated centered composer.",
          "reuse": "Show entry into a mode before its results.",
          "id": "agent-intro-03",
          "number": 3,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=11s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/012000.webp"
        },
        {
          "start": 15.5,
          "end": 21.5,
          "frame": 18,
          "kind": "title",
          "surface": "Opening card",
          "description": "Typography surrounds a small abstract animated insert.",
          "treatment": "Large title with a colored inset.",
          "reuse": "A short visual reset can introduce a major subject.",
          "id": "agent-intro-04",
          "number": 4,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=15s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/018000.webp"
        },
        {
          "start": 21.5,
          "end": 33.6,
          "frame": 28,
          "kind": "live",
          "surface": "Interview",
          "description": "Several interview angles continue the introduction.",
          "treatment": "Multiple people and shot sizes.",
          "reuse": "Study pacing only; do not import the people footage.",
          "id": "agent-intro-05",
          "number": 5,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=21s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/028000.webp"
        },
        {
          "start": 33.6,
          "end": 37.4,
          "frame": 36,
          "kind": "live",
          "surface": "Physical laptop",
          "description": "Hands open and operate a laptop.",
          "treatment": "Tactile close-up inserts.",
          "reuse": "A brief physical action can motivate a screen cut when relevant.",
          "id": "agent-intro-06",
          "number": 6,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=33s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/036000.webp"
        },
        {
          "start": 37.4,
          "end": 41.9,
          "frame": 40,
          "kind": "app",
          "surface": "Composer / send",
          "description": "A multi-step task ends on a very tight send-control crop.",
          "treatment": "Prompt establishment into button detail.",
          "reuse": "Emphasize the moment a task starts.",
          "id": "agent-intro-07",
          "number": 7,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=37s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/040000.webp"
        },
        {
          "start": 41.9,
          "end": 44.8,
          "frame": 44,
          "kind": "live",
          "surface": "Interview",
          "description": "The film briefly returns to its speaker.",
          "treatment": "Wide seated coverage.",
          "reuse": "In all-hands, the separate OBS video provides this presence.",
          "id": "agent-intro-08",
          "number": 8,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/044000.webp"
        },
        {
          "start": 44.8,
          "end": 50,
          "frame": 48,
          "kind": "app",
          "surface": "Composer",
          "description": "Different task requests appear in quick succession.",
          "treatment": "Prompt montage with brief physical inserts.",
          "reuse": "Use a montage only to show breadth, not teach every task.",
          "id": "agent-intro-09",
          "number": 9,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/048000.webp"
        },
        {
          "start": 50,
          "end": 51,
          "frame": 50,
          "kind": "live",
          "surface": "Physical laptop",
          "description": "A keyboard insert punctuates the requests.",
          "treatment": "Tight hands shot.",
          "reuse": "Avoid decorative cutaways that compete with explanation.",
          "id": "agent-intro-10",
          "number": 10,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/050000.webp"
        },
        {
          "start": 51,
          "end": 55.6,
          "frame": 54,
          "kind": "app",
          "surface": "Composer / send",
          "description": "Another task is entered and the send button fills the crop.",
          "treatment": "Prompt-to-control framing.",
          "reuse": "A consistent submit motif connects otherwise different tasks.",
          "id": "agent-intro-11",
          "number": 11,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=51s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/054000.webp"
        },
        {
          "start": 55.6,
          "end": 59,
          "frame": 58,
          "kind": "live",
          "surface": "Physical laptop",
          "description": "A laptop closes and a person stands.",
          "treatment": "Short action montage.",
          "reuse": "Suggest offloaded work without pretending actual elapsed time.",
          "id": "agent-intro-12",
          "number": 12,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=55s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=58s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/058000.webp"
        },
        {
          "start": 59,
          "end": 65,
          "frame": 62,
          "kind": "app",
          "surface": "Agent browser",
          "description": "A compact live-browser card searches and opens restaurant pages.",
          "treatment": "Centered activity window with visible task label.",
          "reuse": "Keep progress legible without making it the whole screen.",
          "id": "agent-intro-13",
          "number": 13,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=59s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/062000.webp"
        },
        {
          "start": 65,
          "end": 67,
          "frame": 66,
          "kind": "app",
          "surface": "Agent activity",
          "description": "A status card describes information gathering.",
          "treatment": "Isolated activity text.",
          "reuse": "Use authentic activity evidence rather than generic particles.",
          "id": "agent-intro-14",
          "number": 14,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=65s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/066000.webp"
        },
        {
          "start": 67,
          "end": 73,
          "frame": 70,
          "kind": "app",
          "surface": "PDF / source viewer",
          "description": "A financial PDF appears inside the agent's browser view.",
          "treatment": "Compact document viewer with a task overlay.",
          "reuse": "Show the source material behind a claim.",
          "id": "agent-intro-15",
          "number": 15,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=67s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/070000.webp"
        },
        {
          "start": 73,
          "end": 77,
          "frame": 76,
          "kind": "app",
          "surface": "Agent browser",
          "description": "A travel task uses a compact browser/activity card.",
          "treatment": "The same card grammar carries a new subject.",
          "reuse": "Reuse framing, not identical content.",
          "id": "agent-intro-16",
          "number": 16,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=73s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/076000.webp"
        },
        {
          "start": 77,
          "end": 82,
          "frame": 80,
          "kind": "app",
          "surface": "Presentation output",
          "description": "A presentation attachment opens into a slide preview.",
          "treatment": "Attachment detail then a larger document surface.",
          "reuse": "Make the handoff from activity to artifact visible.",
          "id": "agent-intro-17",
          "number": 17,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=77s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/080000.webp"
        },
        {
          "start": 82,
          "end": 87,
          "frame": 84,
          "kind": "app",
          "surface": "Agent browser",
          "description": "A travel search page appears with an action overlay.",
          "treatment": "Centered browser activity and short task text.",
          "reuse": "Show the relevant action and omit idle browsing.",
          "id": "agent-intro-18",
          "number": 18,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=82s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/084000.webp"
        },
        {
          "start": 87,
          "end": 91.6,
          "frame": 90,
          "kind": "app",
          "surface": "Connected-app activity",
          "description": "An activity card includes a calendar connection state.",
          "treatment": "Compact status composition.",
          "reuse": "Distinguish connected-tool state from final success.",
          "id": "agent-intro-19",
          "number": 19,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=87s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/090000.webp"
        },
        {
          "start": 91.6,
          "end": 99.5,
          "frame": 96,
          "kind": "live",
          "surface": "Environment / laptop",
          "description": "Wide room coverage returns to close laptop use.",
          "treatment": "Multiple live-action cuts.",
          "reuse": "Useful contrast, not footage to reuse.",
          "id": "agent-intro-20",
          "number": 20,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=91s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/096000.webp"
        },
        {
          "start": 99.5,
          "end": 101.1,
          "frame": 100,
          "kind": "app",
          "surface": "Answer",
          "description": "A completed written response fills a close crop.",
          "treatment": "Result text isolated on white.",
          "reuse": "Hold the useful answer, not the entire chat history.",
          "id": "agent-intro-21",
          "number": 21,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=99s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/100000.webp"
        },
        {
          "start": 101.1,
          "end": 103.9,
          "frame": 102,
          "kind": "live",
          "surface": "Interview",
          "description": "A speaker reacts between result examples.",
          "treatment": "Medium close-up.",
          "reuse": "The user's recorded expression already supplies this beat.",
          "id": "agent-intro-22",
          "number": 22,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=101s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=102s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/102000.webp"
        },
        {
          "start": 103.9,
          "end": 111.9,
          "frame": 108,
          "kind": "output",
          "surface": "Slides / spreadsheet",
          "description": "A slide and spreadsheet results appear in successive crops.",
          "treatment": "Output montage; little or no app chrome.",
          "reuse": "Use proof artifacts, but do not call them application UI.",
          "id": "agent-intro-23",
          "number": 23,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=103s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/108000.webp"
        },
        {
          "start": 111.9,
          "end": 121.8,
          "frame": 118,
          "kind": "live",
          "surface": "Interview / laptop",
          "description": "Hands and faces close the human story.",
          "treatment": "Short live-action montage.",
          "reuse": "Do not duplicate the separate talking-head finish.",
          "id": "agent-intro-24",
          "number": 24,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=111s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=118s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/118000.webp"
        },
        {
          "start": 121.8,
          "end": 127.354,
          "frame": 126,
          "kind": "title",
          "surface": "End card",
          "description": "The film ends on source identity.",
          "treatment": "White type and mark.",
          "reuse": "Reserve a clear presentation end before the OBS buffer.",
          "id": "agent-intro-25",
          "number": 25,
          "film": "agent-intro",
          "film_title": "Introducing ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=121s",
          "frame_source_url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY&t=126s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-intro/126000.webp"
        }
      ]
    },
    {
      "slug": "codex-windows",
      "id": "8hNcRChDrNk",
      "title": "The Codex app is now on Windows",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-03-05",
      "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk",
      "duration": 66.834,
      "width": 1920,
      "height": 1080,
      "fps": 23.976293103448278,
      "sha256": "de2c2eb5ca8a48b0158e0e759e9297faf06ea1c63ca815696e10201e70286cac",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 30,
      "summary": "A presenter-led walkthrough alternates full camera coverage with desktop demos carrying a circular presenter inset. Camera crops follow the active sidebar, modal, or setting; the UI stays recognizable.",
      "borrow": "Use whole-window → active-control → result framing. Retain permission and environment settings when they explain a workflow.",
      "avoid": "The inset presenter is already baked into this reference. Do not imitate that composite: our deliverables keep presentation and talking head separate.",
      "selection_reason": "Platform launch and compact desktop demonstration",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 8,
      "shots": [
        {
          "start": 0,
          "end": 4.8,
          "frame": 2,
          "kind": "live",
          "surface": "Presenter",
          "description": "A seated presenter introduces the update.",
          "treatment": "Stable medium shot.",
          "reuse": "Reference only; supplied OBS footage owns the presenter.",
          "id": "codex-windows-01",
          "number": 1,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/002000.webp"
        },
        {
          "start": 4.8,
          "end": 12,
          "frame": 8,
          "kind": "app",
          "surface": "Thread sidebar",
          "description": "A desktop window and project sidebar appear with a circular presenter inset.",
          "treatment": "Whole-window context then sidebar crop.",
          "reuse": "Borrow the crop, not the inset.",
          "id": "codex-windows-02",
          "number": 2,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/008000.webp"
        },
        {
          "start": 12,
          "end": 21,
          "frame": 18,
          "kind": "app",
          "surface": "Agent activity / permissions",
          "description": "The task transcript and permission choices become the focus.",
          "treatment": "Closer result and control framing.",
          "reuse": "Keep consequential settings visible in a demo.",
          "id": "codex-windows-03",
          "number": 3,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/018000.webp"
        },
        {
          "start": 21,
          "end": 27,
          "frame": 24,
          "kind": "app",
          "surface": "Skills menu",
          "description": "A skills catalog leads to a picker in the composer.",
          "treatment": "Catalog overview then selection detail.",
          "reuse": "Show how a capability is chosen.",
          "id": "codex-windows-04",
          "number": 4,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=21s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/024000.webp"
        },
        {
          "start": 27,
          "end": 33,
          "frame": 30,
          "kind": "app",
          "surface": "Automation form",
          "description": "A scheduling page opens a setup dialog.",
          "treatment": "Full window to form crop.",
          "reuse": "Make the task and cadence legible.",
          "id": "codex-windows-05",
          "number": 5,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=27s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/030000.webp"
        },
        {
          "start": 33,
          "end": 41,
          "frame": 36,
          "kind": "app",
          "surface": "Composer / worktree",
          "description": "Task location is selected and a short request is entered.",
          "treatment": "Lower-window crop with controls retained.",
          "reuse": "Preserve the context-setting step before typing.",
          "id": "codex-windows-06",
          "number": 6,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=33s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/036000.webp"
        },
        {
          "start": 41,
          "end": 45,
          "frame": 44,
          "kind": "app",
          "surface": "Skill detail",
          "description": "A skill information panel fills the center.",
          "treatment": "Modal over a dimmed catalog.",
          "reuse": "Use a real detail state rather than a decorative label.",
          "id": "codex-windows-07",
          "number": 7,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/044000.webp"
        },
        {
          "start": 45,
          "end": 49,
          "frame": 48,
          "kind": "app",
          "surface": "Settings",
          "description": "The demo moves from the task window into general settings.",
          "treatment": "Wider establishing view.",
          "reuse": "Orient viewers before a new settings region.",
          "id": "codex-windows-08",
          "number": 8,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=45s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/048000.webp"
        },
        {
          "start": 49,
          "end": 56.6,
          "frame": 54,
          "kind": "app",
          "surface": "Settings / environment",
          "description": "Environment and shell options are opened in close-up.",
          "treatment": "Fixed settings crop with menu state changes.",
          "reuse": "A setting change can be the proof shot when that is the topic.",
          "id": "codex-windows-09",
          "number": 9,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=49s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/054000.webp"
        },
        {
          "start": 56.6,
          "end": 66.834,
          "frame": 60,
          "kind": "live",
          "surface": "Presenter",
          "description": "The presenter returns for the conclusion.",
          "treatment": "Full camera view; no elaborate end slate.",
          "reuse": "The separate talking head can finish after the presentation ends.",
          "id": "codex-windows-10",
          "number": 10,
          "film": "codex-windows",
          "film_title": "The Codex app is now on Windows",
          "source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=56s",
          "frame_source_url": "https://www.youtube.com/watch?v=8hNcRChDrNk&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows/060000.webp"
        }
      ]
    },
    {
      "slug": "chatgpt-images",
      "id": "DPBtd57p5Mg",
      "title": "ChatGPT Images",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-12-16",
      "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg",
      "duration": 55.254,
      "width": 1920,
      "height": 1080,
      "fps": 30.00018105118317,
      "sha256": "90472999b5af3958b3bfdb05be52223c9a1949f8313d78e6b3237a7a547a3cfd",
      "family": "Output montage",
      "priority": "Selective",
      "poster": 50,
      "summary": "Most of this film is an escalating montage of image variations, not an app walkthrough. A recurring subject keeps the collage coherent. Only near the end does a phone show the Images interface.",
      "borrow": "Use a consistent subject for before/after comparisons. Move from a few readable examples to a gallery, then reveal where those results live in the product.",
      "avoid": "Do not label the photographic montage as screen capture. Avoid its high-density pace under detailed spoken explanation.",
      "selection_reason": "Image output and app-screen presentation",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 1,
      "shots": [
        {
          "start": 0,
          "end": 3,
          "frame": 2,
          "kind": "title",
          "surface": "Opening card",
          "description": "A small portrait sits between the product-name words.",
          "treatment": "Centered type and image on white.",
          "reuse": "A single visual can carry the opening identity.",
          "id": "chatgpt-images-01",
          "number": 1,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/002000.webp"
        },
        {
          "start": 3,
          "end": 7,
          "frame": 6,
          "kind": "output",
          "surface": "Image variation",
          "description": "A portrait changes styling while its subject stays consistent.",
          "treatment": "Same image position; successive variations.",
          "reuse": "Keep the comparison aligned.",
          "id": "chatgpt-images-02",
          "number": 2,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=3s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/006000.webp"
        },
        {
          "start": 7,
          "end": 14,
          "frame": 10,
          "kind": "montage",
          "surface": "Image variation",
          "description": "The subject appears in changed clothes, crops, and settings.",
          "treatment": "Overlapping image cards and cutout figures.",
          "reuse": "Use controlled variation rather than unrelated examples.",
          "id": "chatgpt-images-03",
          "number": 3,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=7s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/010000.webp"
        },
        {
          "start": 14,
          "end": 22,
          "frame": 20,
          "kind": "montage",
          "surface": "Group image",
          "description": "A recurring group changes composition and location.",
          "treatment": "Side-by-side examples become a centered group image.",
          "reuse": "Show what stays constant as well as what changes.",
          "id": "chatgpt-images-04",
          "number": 4,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/020000.webp"
        },
        {
          "start": 22,
          "end": 34,
          "frame": 28,
          "kind": "montage",
          "surface": "Image gallery",
          "description": "Travel and fantasy variations accumulate in layered cards.",
          "treatment": "Rapid stacked-image montage.",
          "reuse": "Reserve fast montage for breadth, not detailed reading.",
          "id": "chatgpt-images-05",
          "number": 5,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/028000.webp"
        },
        {
          "start": 34,
          "end": 43,
          "frame": 38,
          "kind": "montage",
          "surface": "Image gallery",
          "description": "Further illustrated and stylized variations accelerate the sequence.",
          "treatment": "Overlapping cards preserve the recurring people and dog.",
          "reuse": "Choose fewer examples for a narrated all-hands segment.",
          "id": "chatgpt-images-06",
          "number": 6,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/038000.webp"
        },
        {
          "start": 43,
          "end": 47.5,
          "frame": 46,
          "kind": "output",
          "surface": "Image variation",
          "description": "A dog becomes the isolated subject of several transformations.",
          "treatment": "Larger individual result images.",
          "reuse": "A tighter subject can reset a busy montage.",
          "id": "chatgpt-images-07",
          "number": 7,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=43s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=46s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/046000.webp"
        },
        {
          "start": 47.5,
          "end": 48.5,
          "frame": 48,
          "kind": "montage",
          "surface": "Result gallery",
          "description": "Many prior images resolve into a tiled gallery.",
          "treatment": "Contact-sheet-like arrangement on white.",
          "reuse": "Use a gallery as a summary of demonstrated range.",
          "id": "chatgpt-images-08",
          "number": 8,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=47s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/048000.webp"
        },
        {
          "start": 48.5,
          "end": 51.8,
          "frame": 50,
          "kind": "app",
          "surface": "Mobile images gallery",
          "description": "A phone reveals the Images landing surface and prior results.",
          "treatment": "Small centered device, distinct from the preceding output art.",
          "reuse": "Connect result examples to their actual product location.",
          "id": "chatgpt-images-09",
          "number": 9,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/050000.webp"
        },
        {
          "start": 51.8,
          "end": 55.254,
          "frame": 54,
          "kind": "title",
          "surface": "End card",
          "description": "A product title and source mark close the film.",
          "treatment": "White-field return.",
          "reuse": "End on a quiet frame rather than another montage.",
          "id": "chatgpt-images-10",
          "number": 10,
          "film": "chatgpt-images",
          "film_title": "ChatGPT Images",
          "source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=51s",
          "frame_source_url": "https://www.youtube.com/watch?v=DPBtd57p5Mg&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-images/054000.webp"
        }
      ]
    },
    {
      "slug": "images-two",
      "id": "-7JSa_luc6k",
      "title": "This is ChatGPT Images 2.0",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-21",
      "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k",
      "duration": 109.294,
      "width": 1920,
      "height": 1080,
      "fps": 29.9699842600388,
      "sha256": "fd413711a362a6291a6a61a5a7a57af02dba86f02ecd9097f1c4beb8287b27a9",
      "family": "Output montage",
      "priority": "Selective",
      "poster": 24,
      "summary": "A materially rich output film: words appear on physical-looking surfaces, then museum, print, diagram, comic, editorial, and photo examples change rapidly. Device mockups show imagery, not a verified OpenAI app workflow in the inspected samples.",
      "borrow": "Keep a conceptual thread through varied formats. Show a useful artifact at its natural scale, and isolate one detail before returning to the whole.",
      "avoid": "This is not evidence for an app-screen animation recipe. Its dense result montage needs much slower adaptation beneath the user's narration.",
      "selection_reason": "Visual creation and result-led montage",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 7,
          "frame": 4,
          "kind": "montage",
          "surface": "Material typography",
          "description": "Words and identity appear on changing textured and physical-looking surfaces.",
          "treatment": "Rapid texture and lettering changes; dense samples inspected.",
          "reuse": "A material title can work when it belongs to the presentation's identity.",
          "id": "images-two-01",
          "number": 1,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/004000.webp"
        },
        {
          "start": 7,
          "end": 19,
          "frame": 12,
          "kind": "montage",
          "surface": "Museum / print imagery",
          "description": "Photo stacks, a museum leaflet, and exhibition scenes create a visual premise.",
          "treatment": "Print-like borders and perspective alternate with full scenes.",
          "reuse": "Use one coherent visual world instead of random stock imagery.",
          "id": "images-two-02",
          "number": 2,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=7s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/012000.webp"
        },
        {
          "start": 19,
          "end": 24,
          "frame": 22,
          "kind": "montage",
          "surface": "Diagram / notes",
          "description": "A collage transitions into technical drawing pages.",
          "treatment": "Cut between arranged paper artifacts.",
          "reuse": "A diagram can make an abstract capability tangible.",
          "id": "images-two-03",
          "number": 3,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=19s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/022000.webp"
        },
        {
          "start": 24,
          "end": 28,
          "frame": 26,
          "kind": "output",
          "surface": "Infographic / chart",
          "description": "Educational diagrams and a data chart fill the image.",
          "treatment": "Large output-only framing.",
          "reuse": "Treat the graphic as a result, not as application UI.",
          "id": "images-two-04",
          "number": 4,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/026000.webp"
        },
        {
          "start": 28,
          "end": 34,
          "frame": 30,
          "kind": "montage",
          "surface": "Print / comic",
          "description": "Clothing graphics, comic pages, and people imagery appear.",
          "treatment": "Cross-format result montage.",
          "reuse": "Keep format changes tied to a spoken point.",
          "id": "images-two-05",
          "number": 5,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/030000.webp"
        },
        {
          "start": 34,
          "end": 41,
          "frame": 38,
          "kind": "montage",
          "surface": "Botanical / editorial",
          "description": "Flower close-ups, notes, a laptop-displayed page, and botanical posters follow.",
          "treatment": "Detail-to-layout contrasts; laptop imagery lacks a demonstrated app workflow.",
          "reuse": "Do not infer interactive behavior from a device mockup.",
          "id": "images-two-06",
          "number": 6,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/038000.webp"
        },
        {
          "start": 41,
          "end": 48,
          "frame": 44,
          "kind": "montage",
          "surface": "Educational layouts",
          "description": "Scrapbook, migration map, and forest infographic examples vary the format.",
          "treatment": "Full compositions with dense printed information.",
          "reuse": "Choose one layout and hold it if the audience must read.",
          "id": "images-two-07",
          "number": 7,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/044000.webp"
        },
        {
          "start": 48,
          "end": 54,
          "frame": 52,
          "kind": "output",
          "surface": "Technical drawing",
          "description": "Notebook geometry and aircraft studies are shown.",
          "treatment": "Paper textures and close detail.",
          "reuse": "Use detail crops to reveal craft in a result.",
          "id": "images-two-08",
          "number": 8,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/052000.webp"
        },
        {
          "start": 54,
          "end": 60,
          "frame": 56,
          "kind": "montage",
          "surface": "Multilingual print",
          "description": "Poster text changes language before menu examples.",
          "treatment": "Repeated layout makes the language variation legible.",
          "reuse": "Change one variable at a time in a comparison.",
          "id": "images-two-09",
          "number": 9,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/056000.webp"
        },
        {
          "start": 60,
          "end": 66,
          "frame": 64,
          "kind": "output",
          "surface": "Comic panels",
          "description": "A full comic page leads to individual panel crops.",
          "treatment": "Whole-to-detail output framing.",
          "reuse": "Establish a composition before moving inside it.",
          "id": "images-two-10",
          "number": 10,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/064000.webp"
        },
        {
          "start": 66,
          "end": 72,
          "frame": 70,
          "kind": "montage",
          "surface": "Editorial / planning",
          "description": "Magazine and renovation-plan layouts show different document outputs.",
          "treatment": "Cover, spread, and plan as separate visual beats.",
          "reuse": "Use a finished artifact to close a feature explanation.",
          "id": "images-two-11",
          "number": 11,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/070000.webp"
        },
        {
          "start": 72,
          "end": 81,
          "frame": 76,
          "kind": "montage",
          "surface": "Illustrated story",
          "description": "Manga panels, a rendered scene, and a phone image extend one story.",
          "treatment": "Related characters carry across formats.",
          "reuse": "Continuity makes a format montage easier to follow.",
          "id": "images-two-12",
          "number": 12,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=72s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/076000.webp"
        },
        {
          "start": 81,
          "end": 88,
          "frame": 84,
          "kind": "montage",
          "surface": "Book / material detail",
          "description": "A book image becomes a close material study and another physical composition.",
          "treatment": "Scale changes around one visual subject.",
          "reuse": "Use a single purposeful detail reveal.",
          "id": "images-two-13",
          "number": 13,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=81s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/084000.webp"
        },
        {
          "start": 88,
          "end": 101,
          "frame": 96,
          "kind": "montage",
          "surface": "Gallery / memory imagery",
          "description": "Exhibitions, manuscripts, albums, and photo stacks form a fast closing run.",
          "treatment": "Many cuts; this row groups a montage, not a single shot.",
          "reuse": "Do not copy this density into an information-heavy segment.",
          "id": "images-two-14",
          "number": 14,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/096000.webp"
        },
        {
          "start": 101,
          "end": 107,
          "frame": 104,
          "kind": "montage",
          "surface": "Material end cards",
          "description": "Product identity reappears in several graphic formats.",
          "treatment": "Fast typography and texture sequence.",
          "reuse": "If used, keep end-card styling original.",
          "id": "images-two-15",
          "number": 15,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=101s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/104000.webp"
        },
        {
          "start": 107,
          "end": 109.294,
          "frame": 108,
          "kind": "title",
          "surface": "End card",
          "description": "The source mark resolves on white.",
          "treatment": "Static visual finish.",
          "reuse": "Provide an unmistakable end to the shared-screen presentation.",
          "id": "images-two-16",
          "number": 16,
          "film": "images-two",
          "film_title": "This is ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=107s",
          "frame_source_url": "https://www.youtube.com/watch?v=-7JSa_luc6k&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-two/108000.webp"
        }
      ]
    },
    {
      "slug": "deep-research",
      "id": "zm6F0vo2E64",
      "title": "OpenAI deep research in practice.",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-02-04",
      "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64",
      "duration": 116.134,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "4e3431fc0673767169609290439acbcd3a6112a89233f3318799de286a7339c8",
      "family": "Human + product",
      "priority": "Supporting",
      "poster": 90,
      "summary": "A customer-story format uses environment, interview, industry B-roll, and intermittent UI evidence. The most useful software details are the mode selector, research activity, a long report, and the close source list.",
      "borrow": "Link the work to a real question, retain a little research activity, and end with readable sources. A result's provenance can be a strong proof shot.",
      "avoid": "Do not reuse the customer identity, endorsement, industry footage, or imply a research duration from the film's compressed runtime.",
      "selection_reason": "Research request, progress, and cited output",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 7,
      "shots": [
        {
          "start": 0,
          "end": 7,
          "frame": 4,
          "kind": "live",
          "surface": "Environment",
          "description": "Window and office shots establish a working setting.",
          "treatment": "Wide and medium environmental coverage.",
          "reuse": "Use context only when it explains the work.",
          "id": "deep-research-01",
          "number": 1,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/004000.webp"
        },
        {
          "start": 7,
          "end": 10,
          "frame": 8,
          "kind": "app",
          "surface": "Composer / tools",
          "description": "The deep-research choice is visible in the composer.",
          "treatment": "Centered application fragment.",
          "reuse": "Show the mode entry clearly.",
          "id": "deep-research-02",
          "number": 2,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=7s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/008000.webp"
        },
        {
          "start": 10,
          "end": 17,
          "frame": 14,
          "kind": "live",
          "surface": "Interview / title",
          "description": "A person at a laptop leads into name and role coverage.",
          "treatment": "Live action with title overlays.",
          "reuse": "A customer-story reference, not an all-hands default.",
          "id": "deep-research-03",
          "number": 3,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/014000.webp"
        },
        {
          "start": 17,
          "end": 25,
          "frame": 20,
          "kind": "live",
          "surface": "Environment / portrait",
          "description": "Portrait strips and office reception coverage establish context.",
          "treatment": "Collage and live-action cuts.",
          "reuse": "Do not borrow customer branding or endorsement.",
          "id": "deep-research-04",
          "number": 4,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=17s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/020000.webp"
        },
        {
          "start": 25,
          "end": 32,
          "frame": 28,
          "kind": "live",
          "surface": "Research materials",
          "description": "Paper, a hand pointing at a screen, and files create work-context inserts.",
          "treatment": "Close tactile details.",
          "reuse": "A physical screen is not necessarily a product demo.",
          "id": "deep-research-05",
          "number": 5,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=25s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/028000.webp"
        },
        {
          "start": 32,
          "end": 38,
          "frame": 36,
          "kind": "live",
          "surface": "Physical laptop",
          "description": "Laptop use appears in varied shot sizes.",
          "treatment": "Small framed shots and wider coverage.",
          "reuse": "Keep the relevant action, not ornamental B-roll.",
          "id": "deep-research-06",
          "number": 6,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/036000.webp"
        },
        {
          "start": 38,
          "end": 42,
          "frame": 40,
          "kind": "app",
          "surface": "Composer / tools",
          "description": "The research mode becomes visibly selected.",
          "treatment": "Stable composer crop.",
          "reuse": "Show the state change that starts the task.",
          "id": "deep-research-07",
          "number": 7,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=38s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/040000.webp"
        },
        {
          "start": 42,
          "end": 45,
          "frame": 44,
          "kind": "live",
          "surface": "Physical laptop",
          "description": "Hands and a wide laptop shot bridge into the task.",
          "treatment": "Short live-action inserts.",
          "reuse": "The user's separate recording can supply the human context.",
          "id": "deep-research-08",
          "number": 8,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/044000.webp"
        },
        {
          "start": 45,
          "end": 49.3,
          "frame": 48,
          "kind": "app",
          "surface": "Research activity",
          "description": "The conversation shows a research sidebar, then a close reading-status detail.",
          "treatment": "Whole response into activity crop.",
          "reuse": "Make work-in-progress specific rather than decorative.",
          "id": "deep-research-09",
          "number": 9,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=45s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/048000.webp"
        },
        {
          "start": 49.3,
          "end": 66,
          "frame": 60,
          "kind": "live",
          "surface": "Industry B-roll",
          "description": "Interview and city coverage lead to semiconductor manufacturing imagery.",
          "treatment": "Multi-shot contextual montage.",
          "reuse": "Only use footage that genuinely belongs to the topic.",
          "id": "deep-research-10",
          "number": 10,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=49s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/060000.webp"
        },
        {
          "start": 66,
          "end": 68,
          "frame": 66,
          "kind": "live",
          "surface": "Interview",
          "description": "The speaker returns before another screen example.",
          "treatment": "Tight interview shot.",
          "reuse": "Avoid a redundant second presenter in the companion video.",
          "id": "deep-research-11",
          "number": 11,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/066000.webp"
        },
        {
          "start": 68,
          "end": 72,
          "frame": 70,
          "kind": "app",
          "surface": "Physical laptop / composer",
          "description": "An over-the-shoulder laptop shows a research request.",
          "treatment": "Oblique screen framing with the user in foreground.",
          "reuse": "Useful for context, weaker for small-text readability.",
          "id": "deep-research-12",
          "number": 12,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/070000.webp"
        },
        {
          "start": 72,
          "end": 79,
          "frame": 76,
          "kind": "live",
          "surface": "Prompt overlay",
          "description": "Large prompt-like text overlays the person and office.",
          "treatment": "Text over live action, not a literal app screen.",
          "reuse": "Treat editorial annotations as annotations, not UI evidence.",
          "id": "deep-research-13",
          "number": 13,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=72s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/076000.webp"
        },
        {
          "start": 79,
          "end": 83.3,
          "frame": 82,
          "kind": "app",
          "surface": "Research report",
          "description": "A long research response fills the software view.",
          "treatment": "Direct screen view with visible report progression.",
          "reuse": "Show report structure rather than every paragraph.",
          "id": "deep-research-14",
          "number": 14,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=79s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/082000.webp"
        },
        {
          "start": 83.3,
          "end": 85.6,
          "frame": 84,
          "kind": "app",
          "surface": "Physical laptop / report",
          "description": "The report is seen on the user's laptop.",
          "treatment": "Over-the-shoulder result insert.",
          "reuse": "Use it for ownership/context, not detailed reading.",
          "id": "deep-research-15",
          "number": 15,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=83s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/084000.webp"
        },
        {
          "start": 85.6,
          "end": 87.5,
          "frame": 86,
          "kind": "live",
          "surface": "Interview",
          "description": "A short speaker beat separates report details.",
          "treatment": "Medium camera coverage.",
          "reuse": "The external talking-head stream can perform this role.",
          "id": "deep-research-16",
          "number": 16,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=85s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=86s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/086000.webp"
        },
        {
          "start": 87.5,
          "end": 91.7,
          "frame": 90,
          "kind": "app",
          "surface": "Citations / sources",
          "description": "The sources section becomes a readable close-up.",
          "treatment": "Report overview into source-list detail.",
          "reuse": "Proof can be traceability, not just a polished result.",
          "id": "deep-research-17",
          "number": 17,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=87s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/090000.webp"
        },
        {
          "start": 91.7,
          "end": 112,
          "frame": 104,
          "kind": "live",
          "surface": "Interview / environment",
          "description": "Interview, stairs, and outdoor portraits conclude the story.",
          "treatment": "Multiple live-action and framed-portrait cuts.",
          "reuse": "Study the breathing room, not the specific footage.",
          "id": "deep-research-18",
          "number": 18,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=91s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/104000.webp"
        },
        {
          "start": 112,
          "end": 116.134,
          "frame": 114,
          "kind": "title",
          "surface": "End card",
          "description": "A source wordmark sits over the office view.",
          "treatment": "Quiet environmental ending.",
          "reuse": "A settled ending need not be a complicated animation.",
          "id": "deep-research-19",
          "number": 19,
          "film": "deep-research",
          "film_title": "OpenAI deep research in practice.",
          "source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=zm6F0vo2E64&t=114s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/deep-research/114000.webp"
        }
      ]
    },
    {
      "slug": "research-update",
      "id": "2gCqVb2lBwk",
      "title": "Updates to deep research in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-02-10",
      "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk",
      "duration": 79.134,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "1ada0f7f862d6776c6077f93d327d63d9505d85691245ccf19939edb281bb0e3",
      "family": "Product film",
      "priority": "Primary",
      "poster": 62,
      "summary": "A focused research workflow: request, source controls, plan, follow-up, report, citations, export. Most of the film is restrained UI framing, with only two short text resets.",
      "borrow": "Show inputs and constraints before the result. Zoom or crop toward the current control, then return to the full report. Include the export or handoff state.",
      "avoid": "Do not copy tiny text at whole-window scale. The app's easing and the film's camera moves are different systems and have not been equated here.",
      "selection_reason": "Research controls and report navigation",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 12,
      "shots": [
        {
          "start": 0,
          "end": 3.7,
          "frame": 2,
          "kind": "title",
          "surface": "Opening card",
          "description": "A short research statement establishes the subject.",
          "treatment": "White type card.",
          "reuse": "Open with the audience's benefit, not a long agenda.",
          "id": "research-update-01",
          "number": 1,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/002000.webp"
        },
        {
          "start": 3.7,
          "end": 9,
          "frame": 6,
          "kind": "app",
          "surface": "Desktop shell",
          "description": "The full application opens the research starting surface.",
          "treatment": "Window framed on a colored desktop.",
          "reuse": "Establish location before removing chrome from the crop.",
          "id": "research-update-02",
          "number": 2,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=3s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/006000.webp"
        },
        {
          "start": 9,
          "end": 17,
          "frame": 14,
          "kind": "app",
          "surface": "Research composer",
          "description": "A comparison request is entered.",
          "treatment": "Centered composer grows more prominent.",
          "reuse": "Show enough of the request to explain the eventual result.",
          "id": "research-update-03",
          "number": 3,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=9s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/014000.webp"
        },
        {
          "start": 17,
          "end": 20,
          "frame": 18,
          "kind": "app",
          "surface": "Connected-app picker",
          "description": "A source-app menu exposes connection choices.",
          "treatment": "Close menu view.",
          "reuse": "Keep the selected sources visible when they matter.",
          "id": "research-update-04",
          "number": 4,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=17s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/018000.webp"
        },
        {
          "start": 20,
          "end": 31,
          "frame": 26,
          "kind": "app",
          "surface": "Source controls",
          "description": "A specific-sites dialog accumulates selected sources.",
          "treatment": "Stable modal composition; repeated additions.",
          "reuse": "A compact selection sequence is clearer than a long settings tour.",
          "id": "research-update-05",
          "number": 5,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/026000.webp"
        },
        {
          "start": 31,
          "end": 34,
          "frame": 32,
          "kind": "app",
          "surface": "Research composer",
          "description": "The configured request is sent.",
          "treatment": "Composer crop with selected source count.",
          "reuse": "Retain evidence that the constraints were applied.",
          "id": "research-update-06",
          "number": 6,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=31s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/032000.webp"
        },
        {
          "start": 34,
          "end": 43,
          "frame": 40,
          "kind": "app",
          "surface": "Research plan",
          "description": "A plan/checklist shows sources and work progressing.",
          "treatment": "Whole-window context before the detailed state.",
          "reuse": "Make the plan an observable product state.",
          "id": "research-update-07",
          "number": 7,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/040000.webp"
        },
        {
          "start": 43,
          "end": 53,
          "frame": 48,
          "kind": "app",
          "surface": "Research follow-up",
          "description": "A close progress view leaves room for a follow-up request.",
          "treatment": "Crop combines activity and the composer below it.",
          "reuse": "Show that the user can steer the work.",
          "id": "research-update-08",
          "number": 8,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=43s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/048000.webp"
        },
        {
          "start": 53,
          "end": 57.5,
          "frame": 56,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A report-viewing statement resets the scene.",
          "treatment": "Short white type card.",
          "reuse": "Mark the move from process to result.",
          "id": "research-update-09",
          "number": 9,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=53s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/056000.webp"
        },
        {
          "start": 57.5,
          "end": 61,
          "frame": 60,
          "kind": "app",
          "surface": "Research report",
          "description": "The completed report opens into a multi-pane reading view.",
          "treatment": "Whole app; report gains its own navigation and source pane.",
          "reuse": "Reveal the result as a real product surface.",
          "id": "research-update-10",
          "number": 10,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=57s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/060000.webp"
        },
        {
          "start": 61,
          "end": 65,
          "frame": 62,
          "kind": "app",
          "surface": "Report navigation",
          "description": "The table of contents and report heading become the focus.",
          "treatment": "Closer left-and-center crop.",
          "reuse": "Show how the audience would navigate the artifact.",
          "id": "research-update-11",
          "number": 11,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=61s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/062000.webp"
        },
        {
          "start": 65,
          "end": 69,
          "frame": 68,
          "kind": "app",
          "surface": "Research report",
          "description": "The report scrolls to denser tables and supporting text.",
          "treatment": "Wider multi-pane view.",
          "reuse": "Show structure and a representative detail, not every page.",
          "id": "research-update-12",
          "number": 12,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=65s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/068000.webp"
        },
        {
          "start": 69,
          "end": 73,
          "frame": 70,
          "kind": "app",
          "surface": "Citations / sources",
          "description": "The source pane remains beside the result.",
          "treatment": "Right-side emphasis with report context retained.",
          "reuse": "Keep provenance adjacent to the claim.",
          "id": "research-update-13",
          "number": 13,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=69s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/070000.webp"
        },
        {
          "start": 73,
          "end": 75.2,
          "frame": 74,
          "kind": "app",
          "surface": "Export menu",
          "description": "An export menu appears over the report.",
          "treatment": "Tight control and artifact crop.",
          "reuse": "End on a useful handoff, not another loading state.",
          "id": "research-update-14",
          "number": 14,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=73s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/074000.webp"
        },
        {
          "start": 75.2,
          "end": 79.134,
          "frame": 78,
          "kind": "title",
          "surface": "End card",
          "description": "A product wordmark and logo close the film.",
          "treatment": "White-field finish.",
          "reuse": "Reserve a calm final frame for the presenter to finish speaking.",
          "id": "research-update-15",
          "number": 15,
          "film": "research-update",
          "film_title": "Updates to deep research in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=75s",
          "frame_source_url": "https://www.youtube.com/watch?v=2gCqVb2lBwk&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/research-update/078000.webp"
        }
      ]
    },
    {
      "slug": "codex-browser",
      "id": "bhgYFRZLyKI",
      "title": "Debug web apps with browser use in Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-12",
      "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI",
      "duration": 87.954,
      "width": 1920,
      "height": 1080,
      "fps": 30.0,
      "sha256": "40b508948ca3eeff83c98801f1417d2c198855180b35654bff369d7392fff8cb",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 70,
      "summary": "A camera-led explanation uses short software inserts for a risky setting, approval, a slow application, diagnostic evidence, and the final result. The controls and before/after proof matter more than decorative motion.",
      "borrow": "Keep the permission step. Show the original problem, a diagnostic clue, and the resulting behavior in that order.",
      "avoid": "A video insert cannot establish a performance benchmark. Do not repeat its numerical results as claims about your product or recommend enabling the pictured risky setting.",
      "selection_reason": "Browser debugging and before/after proof",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 24.3,
          "frame": 14,
          "kind": "live",
          "surface": "Presenter",
          "description": "A presenter explains the setup across several camera cuts.",
          "treatment": "Medium and closer coverage.",
          "reuse": "Use the supplied talking head for this role.",
          "id": "codex-browser-01",
          "number": 1,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/014000.webp"
        },
        {
          "start": 24.3,
          "end": 28.4,
          "frame": 26,
          "kind": "app",
          "surface": "Browser permissions",
          "description": "A developer setting includes a visible elevated-risk warning.",
          "treatment": "Close settings crop; toggle changes state.",
          "reuse": "Do not crop away risk or permission context.",
          "id": "codex-browser-02",
          "number": 2,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/026000.webp"
        },
        {
          "start": 28.4,
          "end": 35,
          "frame": 32,
          "kind": "live",
          "surface": "Presenter",
          "description": "The presenter returns between setup and consent.",
          "treatment": "Camera coverage.",
          "reuse": "The companion video should follow the recorded explanation.",
          "id": "codex-browser-03",
          "number": 3,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/032000.webp"
        },
        {
          "start": 35,
          "end": 37.6,
          "frame": 36,
          "kind": "app",
          "surface": "Approval / consent",
          "description": "An approval card asks to allow browser access.",
          "treatment": "Tight card framing retains the warning and buttons.",
          "reuse": "Show consequential consent as part of the workflow.",
          "id": "codex-browser-04",
          "number": 4,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=35s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/036000.webp"
        },
        {
          "start": 37.6,
          "end": 39,
          "frame": 38,
          "kind": "live",
          "surface": "Presenter",
          "description": "A brief camera beat bridges to the example.",
          "treatment": "Medium close-up.",
          "reuse": "A beat can be held on a relevant screen instead.",
          "id": "codex-browser-05",
          "number": 5,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=37s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/038000.webp"
        },
        {
          "start": 39,
          "end": 48.7,
          "frame": 44,
          "kind": "app",
          "surface": "Demo web app",
          "description": "A chat-style web app is exercised in a browser panel.",
          "treatment": "Interface is framed as the subject of debugging.",
          "reuse": "Distinguish the demo app from the assistant's own UI.",
          "id": "codex-browser-06",
          "number": 6,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=39s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/044000.webp"
        },
        {
          "start": 48.7,
          "end": 57.2,
          "frame": 52,
          "kind": "live",
          "surface": "Presenter",
          "description": "The presenter explains the observed behavior.",
          "treatment": "Multiple camera crops.",
          "reuse": "The separate OBS stream supplies explanation.",
          "id": "codex-browser-07",
          "number": 7,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/052000.webp"
        },
        {
          "start": 57.2,
          "end": 61.7,
          "frame": 60,
          "kind": "app",
          "surface": "Diagnostic output",
          "description": "Structured trace data and its interpretation appear in the task response.",
          "treatment": "Close code/data block and explanatory text.",
          "reuse": "Use a representative diagnostic clue instead of decorative code.",
          "id": "codex-browser-08",
          "number": 8,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=57s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/060000.webp"
        },
        {
          "start": 61.7,
          "end": 67.7,
          "frame": 64,
          "kind": "live",
          "surface": "Presenter",
          "description": "A camera beat connects diagnosis to result.",
          "treatment": "Medium framing.",
          "reuse": "Give the audience time to understand the cause.",
          "id": "codex-browser-09",
          "number": 9,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=61s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/064000.webp"
        },
        {
          "start": 67.7,
          "end": 74.4,
          "frame": 70,
          "kind": "app",
          "surface": "Result + browser",
          "description": "A task summary and browser preview are visible together.",
          "treatment": "Close result context then whole-window pullback.",
          "reuse": "Close the loop on the same application that showed the problem.",
          "id": "codex-browser-10",
          "number": 10,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=67s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/070000.webp"
        },
        {
          "start": 74.4,
          "end": 85,
          "frame": 80,
          "kind": "live",
          "surface": "Presenter",
          "description": "The presenter concludes.",
          "treatment": "Stable camera coverage.",
          "reuse": "Keep the presentation ending ahead of the talking-head buffer.",
          "id": "codex-browser-11",
          "number": 11,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/080000.webp"
        },
        {
          "start": 85,
          "end": 87.954,
          "frame": 86,
          "kind": "title",
          "surface": "End card",
          "description": "A source identity and destination close the film.",
          "treatment": "Small type on white.",
          "reuse": "Use an original end slate for the presentation.",
          "id": "codex-browser-12",
          "number": 12,
          "film": "codex-browser",
          "film_title": "Debug web apps with browser use in Codex",
          "source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=85s",
          "frame_source_url": "https://www.youtube.com/watch?v=bhgYFRZLyKI&t=86s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-browser/086000.webp"
        }
      ]
    },
    {
      "slug": "codex-sites",
      "id": "VRvC5smyzso",
      "title": "Introducing Sites in Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-05",
      "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso",
      "duration": 133.654,
      "width": 1920,
      "height": 1080,
      "fps": 30.0,
      "sha256": "1651c0a84eb2d331c17629f559c57632c2068b177eb20fcdecc05616c4fbe785",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 46,
      "summary": "A presenter-led tour puts finished interactive sites near the start, then shows several different output layouts and finally sharing controls. The strongest lesson is demonstrating what was built, not merely showing the request.",
      "borrow": "Show a useful finished artifact early. Scroll a meaningful region, change a visible control, and include a share or access state when it is part of the story.",
      "avoid": "The example dashboards are output sites, not the standard Codex shell. Their metrics and product-looking controls are demo content, not your product features or business results.",
      "selection_reason": "Building and publishing an interactive site",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 8,
      "shots": [
        {
          "start": 0,
          "end": 3.1,
          "frame": 2,
          "kind": "live",
          "surface": "Presenter",
          "description": "A seated presenter opens the tour.",
          "treatment": "Medium camera shot.",
          "reuse": "Keep the user in the separate OBS asset.",
          "id": "codex-sites-01",
          "number": 1,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/002000.webp"
        },
        {
          "start": 3.1,
          "end": 7,
          "frame": 6,
          "kind": "app",
          "surface": "Composer / site task",
          "description": "A Sites-tagged request is entered.",
          "treatment": "Close composer framing.",
          "reuse": "Show the task before revealing the artifact.",
          "id": "codex-sites-02",
          "number": 2,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=3s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/006000.webp"
        },
        {
          "start": 7,
          "end": 9,
          "frame": 8,
          "kind": "app",
          "surface": "Agent result / link",
          "description": "A task response exposes the built site's link.",
          "treatment": "Whole task window.",
          "reuse": "Show the handoff from agent to output.",
          "id": "codex-sites-03",
          "number": 3,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=7s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/008000.webp"
        },
        {
          "start": 9,
          "end": 14.5,
          "frame": 12,
          "kind": "app",
          "surface": "Generated site / dashboard",
          "description": "A forecasting dashboard is opened and scrolled.",
          "treatment": "Browser-contained output with charts and tables.",
          "reuse": "Prove that a useful artifact exists.",
          "id": "codex-sites-04",
          "number": 4,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=9s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/012000.webp"
        },
        {
          "start": 14.5,
          "end": 43,
          "frame": 28,
          "kind": "live",
          "surface": "Presenter",
          "description": "The presenter explains the capability between examples.",
          "treatment": "Long camera-led explanation with several cuts.",
          "reuse": "Do not infer demo timing from this explanation interval.",
          "id": "codex-sites-05",
          "number": 5,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/028000.webp"
        },
        {
          "start": 43,
          "end": 57.5,
          "frame": 48,
          "kind": "app",
          "surface": "Generated site / dashboard",
          "description": "An energy account dashboard scrolls and changes visible data states.",
          "treatment": "Whole browser and closer chart/layout crops.",
          "reuse": "Animate the real result, not an invented dashboard.",
          "id": "codex-sites-06",
          "number": 6,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=43s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/048000.webp"
        },
        {
          "start": 57.5,
          "end": 62.8,
          "frame": 60,
          "kind": "live",
          "surface": "Presenter",
          "description": "The presenter bridges to another output.",
          "treatment": "Medium framing.",
          "reuse": "A chapter or held result can serve this beat in the companion.",
          "id": "codex-sites-07",
          "number": 7,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=57s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/060000.webp"
        },
        {
          "start": 62.8,
          "end": 71.5,
          "frame": 68,
          "kind": "app",
          "surface": "Generated site / event planner",
          "description": "An event site changes selected sessions and detail content.",
          "treatment": "Stable browser framing with a changing central panel.",
          "reuse": "Show one interaction so the output reads as usable software.",
          "id": "codex-sites-08",
          "number": 8,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/068000.webp"
        },
        {
          "start": 71.5,
          "end": 81.3,
          "frame": 76,
          "kind": "live",
          "surface": "Presenter",
          "description": "Another camera segment separates the examples.",
          "treatment": "Medium coverage.",
          "reuse": "Use only as a pacing contrast.",
          "id": "codex-sites-09",
          "number": 9,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=71s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/076000.webp"
        },
        {
          "start": 81.3,
          "end": 93.5,
          "frame": 88,
          "kind": "app",
          "surface": "Generated site / memo",
          "description": "A memo site scrolls through analysis, a chart, and review details.",
          "treatment": "Readable document-like layout inside browser context.",
          "reuse": "A finished document can be a product-demo result.",
          "id": "codex-sites-10",
          "number": 10,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=81s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/088000.webp"
        },
        {
          "start": 93.5,
          "end": 116.5,
          "frame": 104,
          "kind": "live",
          "surface": "Presenter",
          "description": "The presenter explains access and use before the final controls.",
          "treatment": "Camera-led interval.",
          "reuse": "Let the recording determine the length of this explanation.",
          "id": "codex-sites-11",
          "number": 11,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=93s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/104000.webp"
        },
        {
          "start": 116.5,
          "end": 121.8,
          "frame": 118,
          "kind": "app",
          "surface": "Site settings",
          "description": "A site's settings expose sharing, secrets, and environment areas.",
          "treatment": "Whole application; no actual secret values need to be reproduced.",
          "reuse": "Use safe fixture data and keep private values out of captures.",
          "id": "codex-sites-12",
          "number": 12,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=116s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=118s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/118000.webp"
        },
        {
          "start": 121.8,
          "end": 124.3,
          "frame": 124,
          "kind": "app",
          "surface": "Sharing dialog",
          "description": "A share dialog appears over the site list.",
          "treatment": "Centered modal with surrounding context.",
          "reuse": "End the workflow on its delivery state.",
          "id": "codex-sites-13",
          "number": 13,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=121s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/124000.webp"
        },
        {
          "start": 124.3,
          "end": 130.6,
          "frame": 128,
          "kind": "live",
          "surface": "Presenter",
          "description": "The presenter closes the tour.",
          "treatment": "Stable camera view.",
          "reuse": "The talking head can continue after the presentation's visual finish.",
          "id": "codex-sites-14",
          "number": 14,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=124s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/128000.webp"
        },
        {
          "start": 130.6,
          "end": 133.654,
          "frame": 132,
          "kind": "title",
          "surface": "End card",
          "description": "A source mark and destination finish the film.",
          "treatment": "Quiet white end slate.",
          "reuse": "Leave a clear endpoint on the presentation timeline.",
          "id": "codex-sites-15",
          "number": 15,
          "film": "codex-sites",
          "film_title": "Introducing Sites in Codex",
          "source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=130s",
          "frame_source_url": "https://www.youtube.com/watch?v=VRvC5smyzso&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sites/132000.webp"
        }
      ]
    },
    {
      "slug": "chatgpt-work",
      "id": "yRc5HcGJ-Cs",
      "title": "Meet ChatGPT Work",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-07-09",
      "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs",
      "duration": 100.014,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "196a90f944970d703eb9b436dc7e34415fa0d1c44014d91a7b04f5b88dad6786",
      "family": "Product film",
      "priority": "Primary",
      "poster": 64,
      "summary": "A product-only film carries one lamp-project story across voice input, connected work, a spreadsheet, imagery, a deck, a chart revision, and mobile follow-up. The coherent task makes many surfaces feel connected.",
      "borrow": "Carry one example through multiple surfaces. Give the result its own framing, then show a targeted revision and the changed result. Use a device change only when the task actually continues there.",
      "avoid": "The abstract model tile and logo interludes are branding, not UI. Avoid reproducing the source's fixture metrics, app capabilities, or performance implications.",
      "selection_reason": "Broad product introduction and work surfaces",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 14,
      "shots": [
        {
          "start": 0,
          "end": 9.5,
          "frame": 6,
          "kind": "title",
          "surface": "Opening sequence",
          "description": "Identity and short statements introduce the product.",
          "treatment": "White typography with restrained accent color.",
          "reuse": "A few words can establish the topic without a busy title design.",
          "id": "chatgpt-work-01",
          "number": 1,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/006000.webp"
        },
        {
          "start": 9.5,
          "end": 11.5,
          "frame": 10,
          "kind": "app",
          "surface": "Composer",
          "description": "A large input field introduces the task surface.",
          "treatment": "Isolated close application fragment.",
          "reuse": "Start the demo where the user's intent enters.",
          "id": "chatgpt-work-02",
          "number": 2,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=9s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/010000.webp"
        },
        {
          "start": 11.5,
          "end": 13,
          "frame": 12,
          "kind": "graphic",
          "surface": "Identity tile",
          "description": "An abstract model/identity detail interrupts the composer.",
          "treatment": "Large sparse graphic.",
          "reuse": "Keep brand interludes distinct from product evidence.",
          "id": "chatgpt-work-03",
          "number": 3,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=11s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/012000.webp"
        },
        {
          "start": 13,
          "end": 23.5,
          "frame": 18,
          "kind": "app",
          "surface": "Voice input",
          "description": "The microphone becomes a waveform, then a completed request.",
          "treatment": "Close composer details; little surrounding chrome.",
          "reuse": "Show input state changes without adding a second voice track.",
          "id": "chatgpt-work-04",
          "number": 4,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=13s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/018000.webp"
        },
        {
          "start": 23.5,
          "end": 31,
          "frame": 28,
          "kind": "title",
          "surface": "Connected-work statement",
          "description": "A chapter statement leads to app-icon activity labels.",
          "treatment": "Typography and isolated branded activity graphics.",
          "reuse": "Do not call these isolated marks full application screens.",
          "id": "chatgpt-work-05",
          "number": 5,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=23s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/028000.webp"
        },
        {
          "start": 31,
          "end": 37,
          "frame": 34,
          "kind": "app",
          "surface": "Agent activity",
          "description": "A framed desktop shows the task progressing with a plan.",
          "treatment": "Whole-window context on a dark desktop.",
          "reuse": "Keep one coherent task visible across the sequence.",
          "id": "chatgpt-work-06",
          "number": 6,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=31s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/034000.webp"
        },
        {
          "start": 37,
          "end": 39,
          "frame": 38,
          "kind": "app",
          "surface": "Spreadsheet / preview",
          "description": "A spreadsheet opens beside the conversation.",
          "treatment": "Split task-and-artifact view.",
          "reuse": "Reveal the actual result, not just a completion sentence.",
          "id": "chatgpt-work-07",
          "number": 7,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=37s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/038000.webp"
        },
        {
          "start": 39,
          "end": 41.3,
          "frame": 40,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A short statement introduces finishing the work.",
          "treatment": "White reset card.",
          "reuse": "Mark a meaningful change of stage.",
          "id": "chatgpt-work-08",
          "number": 8,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=39s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/040000.webp"
        },
        {
          "start": 41.3,
          "end": 45.6,
          "frame": 44,
          "kind": "app",
          "surface": "Composer / follow-up",
          "description": "A follow-up asks for visual assets within the same project.",
          "treatment": "Close composer with the previous artifact at the edge.",
          "reuse": "Maintain continuity while changing the output type.",
          "id": "chatgpt-work-09",
          "number": 9,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/044000.webp"
        },
        {
          "start": 45.6,
          "end": 48,
          "frame": 46,
          "kind": "graphic",
          "surface": "Image reveal",
          "description": "A soft-edged image placeholder resolves toward a result.",
          "treatment": "Isolated image reveal.",
          "reuse": "A reveal should lead to a useful artifact, not remain abstract.",
          "id": "chatgpt-work-10",
          "number": 10,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=45s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=46s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/046000.webp"
        },
        {
          "start": 48,
          "end": 51.1,
          "frame": 50,
          "kind": "app",
          "surface": "Image / page preview",
          "description": "A lamp image and product-page layout appear beside the task.",
          "treatment": "Whole-window split result view.",
          "reuse": "Show the image in its intended use.",
          "id": "chatgpt-work-11",
          "number": 11,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/050000.webp"
        },
        {
          "start": 51.1,
          "end": 55.2,
          "frame": 54,
          "kind": "app",
          "surface": "Composer / follow-up",
          "description": "The next request asks for a deck based on the same work.",
          "treatment": "Composer detail with existing result context.",
          "reuse": "Connect artifacts rather than starting a fresh unrelated demo.",
          "id": "chatgpt-work-12",
          "number": 12,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=51s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/054000.webp"
        },
        {
          "start": 55.2,
          "end": 59.5,
          "frame": 58,
          "kind": "app",
          "surface": "File handoff",
          "description": "A completed response exposes a presentation attachment.",
          "treatment": "Tight result message and file card.",
          "reuse": "Make the deliverable's existence unambiguous.",
          "id": "chatgpt-work-13",
          "number": 13,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=55s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=58s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/058000.webp"
        },
        {
          "start": 59.5,
          "end": 62.5,
          "frame": 60,
          "kind": "output",
          "surface": "Slide sequence",
          "description": "Several deck pages appear without the surrounding application.",
          "treatment": "Output-only slide overview.",
          "reuse": "Let viewers see the artifact before its editing controls.",
          "id": "chatgpt-work-14",
          "number": 14,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=59s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/060000.webp"
        },
        {
          "start": 62.5,
          "end": 64.3,
          "frame": 64,
          "kind": "app",
          "surface": "Presentation editor",
          "description": "The deck opens in a split editor view.",
          "treatment": "Full window with slide strip and task context.",
          "reuse": "Orient viewers before a selected-region edit.",
          "id": "chatgpt-work-15",
          "number": 15,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/064000.webp"
        },
        {
          "start": 64.3,
          "end": 67.3,
          "frame": 66,
          "kind": "app",
          "surface": "Selection / edit prompt",
          "description": "A selected chart region carries a contextual revision request.",
          "treatment": "Close chart crop with an overlaid edit control.",
          "reuse": "Put the requested change beside the exact thing being changed.",
          "id": "chatgpt-work-16",
          "number": 16,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/066000.webp"
        },
        {
          "start": 67.3,
          "end": 73.5,
          "frame": 72,
          "kind": "app",
          "surface": "Presentation editor",
          "description": "The full editor returns and the chart changes.",
          "treatment": "Wide context followed by a visible before/after result.",
          "reuse": "Hold the changed chart, not just the edit command.",
          "id": "chatgpt-work-17",
          "number": 17,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=67s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/072000.webp"
        },
        {
          "start": 73.5,
          "end": 75.5,
          "frame": 74,
          "kind": "title",
          "surface": "Chapter card",
          "description": "A short task-completion statement bridges to mobile.",
          "treatment": "White title reset.",
          "reuse": "Use a clear transition before a device change.",
          "id": "chatgpt-work-18",
          "number": 18,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=73s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/074000.webp"
        },
        {
          "start": 75.5,
          "end": 81,
          "frame": 78,
          "kind": "app",
          "surface": "Mobile task conversation",
          "description": "A phone shows a sharing request and its response.",
          "treatment": "Centered device on white.",
          "reuse": "Only change device when it advances the same task.",
          "id": "chatgpt-work-19",
          "number": 19,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=75s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/078000.webp"
        },
        {
          "start": 81,
          "end": 85.5,
          "frame": 84,
          "kind": "app",
          "surface": "Mobile scheduled tasks",
          "description": "The phone displays scheduled work and a feedback notification.",
          "treatment": "Stable device with state changes.",
          "reuse": "Show follow-through rather than another generic app launch.",
          "id": "chatgpt-work-20",
          "number": 20,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=81s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/084000.webp"
        },
        {
          "start": 85.5,
          "end": 88.5,
          "frame": 88,
          "kind": "app",
          "surface": "Mobile result",
          "description": "A task update includes a revised presentation attachment.",
          "treatment": "Close mobile content without the whole device.",
          "reuse": "Keep the latest deliverable visible.",
          "id": "chatgpt-work-21",
          "number": 21,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=85s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/088000.webp"
        },
        {
          "start": 88.5,
          "end": 91.4,
          "frame": 90,
          "kind": "output",
          "surface": "Revised slides",
          "description": "The updated deck pages appear as an output sequence.",
          "treatment": "Several isolated slide thumbnails.",
          "reuse": "Close the loop on the requested change.",
          "id": "chatgpt-work-22",
          "number": 22,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/090000.webp"
        },
        {
          "start": 91.4,
          "end": 100.014,
          "frame": 98,
          "kind": "title",
          "surface": "End sequence",
          "description": "A closing statement, small graphic, product name, and source mark resolve.",
          "treatment": "Return to sparse white-field branding.",
          "reuse": "Choose a simpler original ending for the all-hands handoff.",
          "id": "chatgpt-work-23",
          "number": 23,
          "film": "chatgpt-work",
          "film_title": "Meet ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=91s",
          "frame_source_url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs&t=98s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-work/098000.webp"
        }
      ]
    },
    {
      "slug": "work-voice",
      "id": "ceBruD6v5Bk",
      "title": "You can just use your voice | ChatGPT Work",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-24",
      "source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk",
      "duration": 39.574,
      "width": 1920,
      "height": 1080,
      "fps": 30.0,
      "sha256": "d75296d6561d87dcda171c5a8cfe68c330ad8f4bacfe78f51e8933f84c82f1b8",
      "family": "Product film",
      "priority": "Primary",
      "poster": 24,
      "summary": "A short voice story keeps a transcription bubble and orb readable, reduces the voice UI into a floating control, shows the source material on the desktop, and returns to a concise answer.",
      "borrow": "Keep a persistent visual anchor while changing context. Show the material used for the answer, then give the answer a calm frame.",
      "avoid": "The desktop is intentionally busy. Use a clean fixture desktop for your product demos, and keep this presentation silent even when demonstrating a voice feature.",
      "selection_reason": "Short voice-interaction demonstration",
      "inspection": "Visual study of thirty-six official OpenAI films, combining the original twelve studies with twenty-four additional films. Full-duration two-second contact sheets were visually inspected, with denser samples for selected transitions. No soundtrack, narration, or audio-mix analysis is claimed.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 3.3,
          "frame": 2,
          "kind": "title",
          "surface": "Opening sequence",
          "description": "A source mark leads into a short colored-word statement.",
          "treatment": "Sparse white typography.",
          "reuse": "Keep the opening concise.",
          "id": "work-voice-01",
          "number": 1,
          "film": "work-voice",
          "film_title": "You can just use your voice | ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-voice/002000.webp"
        },
        {
          "start": 3.3,
          "end": 6.5,
          "frame": 4,
          "kind": "app",
          "surface": "Mode switch",
          "description": "A compact segmented control selects the work mode.",
          "treatment": "Isolated control; brief transition into the voice state.",
          "reuse": "Show the relevant mode without a long navigation sequence.",
          "id": "work-voice-02",
          "number": 2,
          "film": "work-voice",
          "film_title": "You can just use your voice | ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=3s",
          "frame_source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-voice/004000.webp"
        },
        {
          "start": 6.5,
          "end": 19,
          "frame": 14,
          "kind": "app",
          "surface": "Voice transcription",
          "description": "The transcript grows above a colored voice orb.",
          "treatment": "Stable two-part composition on white.",
          "reuse": "A readable transcript can carry a silent voice-feature demo.",
          "id": "work-voice-03",
          "number": 3,
          "film": "work-voice",
          "film_title": "You can just use your voice | ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-voice/014000.webp"
        },
        {
          "start": 19,
          "end": 23.5,
          "frame": 22,
          "kind": "app",
          "surface": "Floating voice control",
          "description": "The orb becomes a small floating control while status text changes.",
          "treatment": "Persistent object shrinks and relocates.",
          "reuse": "Preserve an anchor through a layout transition.",
          "id": "work-voice-04",
          "number": 4,
          "film": "work-voice",
          "film_title": "You can just use your voice | ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=19s",
          "frame_source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-voice/022000.webp"
        },
        {
          "start": 23.5,
          "end": 27,
          "frame": 26,
          "kind": "app",
          "surface": "Desktop source material",
          "description": "An email and recipe document appear with the small voice control retained.",
          "treatment": "Whole desktop context; source content is the focus.",
          "reuse": "Show what the assistant is using, with safe fixture data.",
          "id": "work-voice-05",
          "number": 5,
          "film": "work-voice",
          "film_title": "You can just use your voice | ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=23s",
          "frame_source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-voice/026000.webp"
        },
        {
          "start": 27,
          "end": 33.5,
          "frame": 30,
          "kind": "app",
          "surface": "Voice answer",
          "description": "A short comparison answer returns above the larger orb.",
          "treatment": "Calm response framing.",
          "reuse": "Let the outcome register before the close.",
          "id": "work-voice-06",
          "number": 6,
          "film": "work-voice",
          "film_title": "You can just use your voice | ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=27s",
          "frame_source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-voice/030000.webp"
        },
        {
          "start": 33.5,
          "end": 39.574,
          "frame": 36,
          "kind": "title",
          "surface": "End sequence",
          "description": "A closing phrase resolves into a small collage and identity.",
          "treatment": "Sparse type and related artifact fragments.",
          "reuse": "Use a recognizable final state while the talking head winds down.",
          "id": "work-voice-07",
          "number": 7,
          "film": "work-voice",
          "film_title": "You can just use your voice | ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=33s",
          "frame_source_url": "https://www.youtube.com/watch?v=ceBruD6v5Bk&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-voice/036000.webp"
        }
      ]
    },
    {
      "slug": "agent-look",
      "id": "2wzGS_WUZYQ",
      "title": "A Look at ChatGPT agent",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-07-17",
      "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ",
      "duration": 46.874,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "f39beb96507b79d3779d339fb923ac1d0c5ad74f145295ec0c86d8b333e68391",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 10,
      "summary": "A compact capability reel keeps one floating task window on a blue field, alternating browser evidence with explanatory cards.",
      "borrow": "Keep the task container consistent while changing its contents. Short chapter statements separate browser work, code, connections, and deliverables.",
      "avoid": "The Gmail and Calendar sequences are stylized connection graphics, not readable app walkthroughs. Do not copy their treatment as proof of a working your product integration.",
      "selection_reason": "Compact agent workflow and artifact handoff",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 5,
          "frame": 2,
          "kind": "title",
          "surface": "Capability card",
          "description": "A short web-action statement appears over a soft blue background.",
          "treatment": "Centered type; no application chrome.",
          "reuse": "Label the next task before showing controls.",
          "id": "agent-look-01",
          "number": 1,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/002000.webp"
        },
        {
          "start": 5,
          "end": 7,
          "frame": 6,
          "kind": "graphic",
          "surface": "Task-window illustration",
          "description": "A floating task container introduces a cursor and a search-status bubble.",
          "treatment": "One small window against a broad field.",
          "reuse": "Establish a recurring container for a capability reel.",
          "id": "agent-look-02",
          "number": 2,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=5s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/006000.webp"
        },
        {
          "start": 7,
          "end": 10,
          "frame": 8,
          "kind": "app",
          "surface": "Travel website",
          "description": "A travel homepage appears inside the task window with an action annotation.",
          "treatment": "Small browser surface; pointer-adjacent explanation.",
          "reuse": "Keep explanatory text outside the important UI.",
          "id": "agent-look-03",
          "number": 3,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=7s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/008000.webp"
        },
        {
          "start": 10,
          "end": 13,
          "frame": 12,
          "kind": "app",
          "surface": "Flight results",
          "description": "Flight search results replace the homepage while the status bubble changes.",
          "treatment": "Same container and background retain continuity.",
          "reuse": "Show the result of the preceding action.",
          "id": "agent-look-04",
          "number": 4,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/012000.webp"
        },
        {
          "start": 13,
          "end": 15,
          "frame": 14,
          "kind": "title",
          "surface": "Code chapter",
          "description": "A code-execution statement replaces the task window.",
          "treatment": "Full reset to centered type.",
          "reuse": "Separate a new kind of work with a brief label.",
          "id": "agent-look-05",
          "number": 5,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=13s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/014000.webp"
        },
        {
          "start": 15,
          "end": 17,
          "frame": 16,
          "kind": "app",
          "surface": "Code execution panel",
          "description": "A dark code panel sits inside the same light task card.",
          "treatment": "Strong dark-on-light contrast within the established frame.",
          "reuse": "Make a technical step visually distinct without changing layout.",
          "id": "agent-look-06",
          "number": 6,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=15s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/016000.webp"
        },
        {
          "start": 17,
          "end": 19,
          "frame": 18,
          "kind": "title",
          "surface": "Connections chapter",
          "description": "A connections statement introduces the next pair of examples.",
          "treatment": "Repeated blue-field chapter grammar.",
          "reuse": "Use consistent chapter transitions as recognizable cues.",
          "id": "agent-look-07",
          "number": 7,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=17s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/018000.webp"
        },
        {
          "start": 19,
          "end": 24,
          "frame": 22,
          "kind": "graphic",
          "surface": "Mail connection illustration",
          "description": "A mail-service icon, skeleton rows, and an explanatory bubble fill the card.",
          "treatment": "Illustrated connection state rather than readable mail UI.",
          "reuse": "Use an illustration only when it is clearly labeled as such.",
          "id": "agent-look-08",
          "number": 8,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=19s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/022000.webp"
        },
        {
          "start": 24,
          "end": 29,
          "frame": 26,
          "kind": "graphic",
          "surface": "Calendar connection illustration",
          "description": "The calendar icon replaces the mail icon in the same simplified card.",
          "treatment": "Matched placement across adjacent examples.",
          "reuse": "Compare categories without asking viewers to relearn the composition.",
          "id": "agent-look-09",
          "number": 9,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/026000.webp"
        },
        {
          "start": 29,
          "end": 31,
          "frame": 30,
          "kind": "title",
          "surface": "Deliverables chapter",
          "description": "A statement introduces slides and spreadsheets.",
          "treatment": "Short two-line centered card.",
          "reuse": "Name the output category before revealing it.",
          "id": "agent-look-10",
          "number": 10,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=29s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/030000.webp"
        },
        {
          "start": 31,
          "end": 35,
          "frame": 34,
          "kind": "app",
          "surface": "Presentation preview",
          "description": "A loading presentation pane resolves into a blue cover slide with navigation controls.",
          "treatment": "Artifact shown inside a task window.",
          "reuse": "Keep enough controls to distinguish a usable deliverable from a still.",
          "id": "agent-look-11",
          "number": 11,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=31s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/034000.webp"
        },
        {
          "start": 35,
          "end": 39,
          "frame": 38,
          "kind": "app",
          "surface": "Presentation navigation",
          "description": "Interior slides appear with the same bottom navigation controls.",
          "treatment": "Successive pages retain the same frame.",
          "reuse": "Show a representative interior page, not only the cover.",
          "id": "agent-look-12",
          "number": 12,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=35s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/038000.webp"
        },
        {
          "start": 39,
          "end": 41,
          "frame": 40,
          "kind": "app",
          "surface": "Spreadsheet preview",
          "description": "A table replaces the slide preview inside the task card.",
          "treatment": "Output-category change with a stable outer shell.",
          "reuse": "End a multi-output sequence on a different tangible artifact.",
          "id": "agent-look-13",
          "number": 13,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=39s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/040000.webp"
        },
        {
          "start": 41,
          "end": 46.874,
          "frame": 44,
          "kind": "title",
          "surface": "End identity",
          "description": "The blue field gives way to a white brand ending.",
          "treatment": "Centered identity; simplified final screen.",
          "reuse": "Return to the presentation's own ending card.",
          "id": "agent-look-14",
          "number": 14,
          "film": "agent-look",
          "film_title": "A Look at ChatGPT agent",
          "source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-look/044000.webp"
        }
      ]
    },
    {
      "slug": "agent-plugins",
      "id": "UaeWJK_vv-Y",
      "title": "Introducing Agent Plugins",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-06",
      "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y",
      "duration": 95.114,
      "width": 1920,
      "height": 1080,
      "fps": 29.97002997002997,
      "sha256": "8ea2f09c2ce3e0defc1aff86fbe3fe74409a1e8e9ba0cc7523d15076a62a855e",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 74,
      "summary": "A presenter-led explanation switches to a dark specification page and code editor. Selected JSON blocks carry the technical emphasis.",
      "borrow": "Use readable code selection to mark the changed fields, and separate a specification overview from an implementation example.",
      "avoid": "Most of the opening and ending is a presenter, not a product demo. The inset presenter and partner branding are not assets for the silent companion video.",
      "selection_reason": "Plugin discovery, setup, and connected-tool states",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 7,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Laptop opening",
          "description": "A close laptop shot carries an overlaid topic title.",
          "treatment": "Physical object foreground; lower-left title.",
          "reuse": "A brief contextual opening can precede technical detail.",
          "id": "agent-plugins-01",
          "number": 1,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/002000.webp"
        },
        {
          "start": 4,
          "end": 8,
          "frame": 6,
          "kind": "live",
          "surface": "Presenter establishment",
          "description": "The speaker appears behind a laptop with a lower-third label.",
          "treatment": "Wide, centered desk composition.",
          "reuse": "Keep this role in the separate talking-head asset.",
          "id": "agent-plugins-02",
          "number": 2,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/006000.webp"
        },
        {
          "start": 8,
          "end": 14,
          "frame": 10,
          "kind": "live",
          "surface": "Presenter close-up",
          "description": "A closer angled view replaces the wide shot.",
          "treatment": "Direct cut changes scale while preserving location.",
          "reuse": "Borrow the scale change, not an extra presenter inset.",
          "id": "agent-plugins-03",
          "number": 3,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/010000.webp"
        },
        {
          "start": 14,
          "end": 20,
          "frame": 16,
          "kind": "live",
          "surface": "Presenter return",
          "description": "The wider desk framing returns before the technical chapter.",
          "treatment": "Re-establishing wide shot.",
          "reuse": "Prepare a clear transition from explanation to evidence.",
          "id": "agent-plugins-04",
          "number": 4,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/016000.webp"
        },
        {
          "start": 20,
          "end": 22,
          "frame": 20,
          "kind": "title",
          "surface": "Specification introduction",
          "description": "A short monospaced statement appears on black.",
          "treatment": "Sparse technical chapter card.",
          "reuse": "Introduce a technical concept with one readable line.",
          "id": "agent-plugins-05",
          "number": 5,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/020000.webp"
        },
        {
          "start": 22,
          "end": 29,
          "frame": 24,
          "kind": "graphic",
          "surface": "Partner marks",
          "description": "A row of supporting organization marks occupies the black field.",
          "treatment": "Evenly spaced logo strip.",
          "reuse": "Use real project participants only when relevant and permitted.",
          "id": "agent-plugins-06",
          "number": 6,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/024000.webp"
        },
        {
          "start": 29,
          "end": 32,
          "frame": 30,
          "kind": "title",
          "surface": "Plugin identity",
          "description": "A large topic label and small category labels appear.",
          "treatment": "Centered heading with supporting metadata.",
          "reuse": "Make the chapter name readable before the documentation view.",
          "id": "agent-plugins-07",
          "number": 7,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=29s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/030000.webp"
        },
        {
          "start": 32,
          "end": 38,
          "frame": 34,
          "kind": "app",
          "surface": "Specification website",
          "description": "A dark documentation page shows navigation, prose, and a package code example.",
          "treatment": "Whole-page establishment followed by a closer reading crop.",
          "reuse": "Show where a code sample belongs before enlarging it.",
          "id": "agent-plugins-08",
          "number": 8,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/034000.webp"
        },
        {
          "start": 38,
          "end": 42,
          "frame": 40,
          "kind": "app",
          "surface": "Code editor / package",
          "description": "An editor displays a small plugin package and its manifest.",
          "treatment": "Dark editor with a lower-right presenter inset.",
          "reuse": "Use the file tree to establish the artifact being edited.",
          "id": "agent-plugins-09",
          "number": 9,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=38s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/040000.webp"
        },
        {
          "start": 42,
          "end": 46,
          "frame": 42,
          "kind": "app",
          "surface": "Manifest selection",
          "description": "The manifest name line is highlighted while the file tree remains visible.",
          "treatment": "Native selection supplies the emphasis.",
          "reuse": "Point to the changed field rather than adding decorative arrows.",
          "id": "agent-plugins-10",
          "number": 10,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=42s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/042000.webp"
        },
        {
          "start": 46,
          "end": 52,
          "frame": 48,
          "kind": "app",
          "surface": "Skill folder",
          "description": "A skills folder and its file become visible beside the manifest.",
          "treatment": "Stable editor framing; structural context changes.",
          "reuse": "Show the relationship between configuration and its supporting file.",
          "id": "agent-plugins-11",
          "number": 11,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/048000.webp"
        },
        {
          "start": 52,
          "end": 62,
          "frame": 56,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "The film returns to the desk speaker.",
          "treatment": "Longer continuous explanation beat.",
          "reuse": "Let the talking head carry this material without redundant screen action.",
          "id": "agent-plugins-12",
          "number": 12,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/056000.webp"
        },
        {
          "start": 62,
          "end": 70,
          "frame": 66,
          "kind": "app",
          "surface": "Manifest metadata",
          "description": "The editor returns without the inset and shows additional manifest fields.",
          "treatment": "More screen area devoted to the technical artifact.",
          "reuse": "Remove nonessential overlays for dense material.",
          "id": "agent-plugins-13",
          "number": 13,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/066000.webp"
        },
        {
          "start": 70,
          "end": 74,
          "frame": 72,
          "kind": "app",
          "surface": "Client configuration",
          "description": "A larger block of client configuration is selected.",
          "treatment": "Blue selection against a dark editor.",
          "reuse": "Keep the selected block short enough to read.",
          "id": "agent-plugins-14",
          "number": 14,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=70s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/072000.webp"
        },
        {
          "start": 74,
          "end": 80,
          "frame": 76,
          "kind": "app",
          "surface": "Configuration expansion",
          "description": "A broader configuration block and additional supporting folders are visible.",
          "treatment": "Same editor holds through the changed structure.",
          "reuse": "Demonstrate growth in the artifact without an unrelated transition.",
          "id": "agent-plugins-15",
          "number": 15,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/076000.webp"
        },
        {
          "start": 80,
          "end": 86,
          "frame": 82,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "Wide and close presenter views resume.",
          "treatment": "Alternating scales within the same set.",
          "reuse": "Reserve the spoken conclusion for the supplied recording.",
          "id": "agent-plugins-16",
          "number": 16,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/082000.webp"
        },
        {
          "start": 86,
          "end": 91,
          "frame": 88,
          "kind": "live",
          "surface": "Presenter closing hold",
          "description": "The wide desk shot carries the final explanation.",
          "treatment": "Stable closing composition.",
          "reuse": "Allow a clear spoken finish before the final visual card.",
          "id": "agent-plugins-17",
          "number": 17,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/088000.webp"
        },
        {
          "start": 91,
          "end": 95.114,
          "frame": 94,
          "kind": "title",
          "surface": "End destination",
          "description": "A white identity card resolves to a destination line.",
          "treatment": "Minimal brand ending.",
          "reuse": "Use an original project destination rather than source branding.",
          "id": "agent-plugins-18",
          "number": 18,
          "film": "agent-plugins",
          "film_title": "Introducing Agent Plugins",
          "source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=91s",
          "frame_source_url": "https://www.youtube.com/watch?v=UaeWJK_vv-Y&t=94s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-plugins/094000.webp"
        }
      ]
    },
    {
      "slug": "codex-record-replay",
      "id": "ZK3JhU73W18",
      "title": "Record & Replay in Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-18",
      "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18",
      "duration": 124.774,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "56d5bd4113624fc9499ed2ac2a9b5ac4f3c5340f01afeb2337923442e3bfc04b",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 50,
      "summary": "A recorded publishing workflow is followed by a generated skill and a second upload that reuses it. The repeated task makes before-and-after comparison concrete.",
      "borrow": "Establish a manual workflow, expose the reusable artifact, then replay the same kind of task with new inputs. Keep the external application's completion state visible.",
      "avoid": "The film compresses a multi-step upload; its duration is not a product latency measurement. Do not suggest your product has record-and-replay without verifying it.",
      "selection_reason": "Recording a workflow and turning it into a reusable skill",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 18,
      "shots": [
        {
          "start": 0,
          "end": 19,
          "frame": 10,
          "kind": "live",
          "surface": "Presenter introduction",
          "description": "A desk presenter introduces the workflow before any screen capture.",
          "treatment": "Single steady wide shot.",
          "reuse": "Let the supplied talking head establish the problem.",
          "id": "codex-record-replay-01",
          "number": 1,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/010000.webp"
        },
        {
          "start": 19,
          "end": 25,
          "frame": 24,
          "kind": "app",
          "surface": "Codex composer",
          "description": "A Record & Replay request is entered into the new-task composer.",
          "treatment": "Wide app view moves attention to the prompt.",
          "reuse": "Show the initiating request before the external task.",
          "id": "codex-record-replay-02",
          "number": 2,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=19s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/024000.webp"
        },
        {
          "start": 25,
          "end": 28,
          "frame": 26,
          "kind": "app",
          "surface": "YouTube upload / file picker",
          "description": "An upload dialog and local file window establish the source media.",
          "treatment": "Overlapping native windows show the handoff.",
          "reuse": "Keep input selection visible when it explains the workflow.",
          "id": "codex-record-replay-03",
          "number": 3,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=25s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/026000.webp"
        },
        {
          "start": 28,
          "end": 30,
          "frame": 28,
          "kind": "app",
          "surface": "Publishing spreadsheet",
          "description": "A spreadsheet supplies publishing information.",
          "treatment": "Brief full-browser reference view.",
          "reuse": "Show the source of task data rather than implying it appeared automatically.",
          "id": "codex-record-replay-04",
          "number": 4,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/028000.webp"
        },
        {
          "start": 30,
          "end": 34,
          "frame": 32,
          "kind": "app",
          "surface": "Upload metadata",
          "description": "Title and description fields are populated in the upload dialog.",
          "treatment": "Stable browser framing through form entry.",
          "reuse": "Group related fields into one readable action beat.",
          "id": "codex-record-replay-05",
          "number": 5,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/032000.webp"
        },
        {
          "start": 34,
          "end": 37,
          "frame": 36,
          "kind": "app",
          "surface": "Subtitle import",
          "description": "Subtitle controls open a native file picker.",
          "treatment": "Modal-on-modal sequence retains the browser behind it.",
          "reuse": "Preserve a meaningful file-import step.",
          "id": "codex-record-replay-06",
          "number": 6,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/036000.webp"
        },
        {
          "start": 37,
          "end": 40,
          "frame": 38,
          "kind": "app",
          "surface": "Subtitle review",
          "description": "Timed caption rows appear beside the video preview.",
          "treatment": "Two-pane editor demonstrates the imported result.",
          "reuse": "Show imported content in its destination, not only the picker.",
          "id": "codex-record-replay-07",
          "number": 7,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=37s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/038000.webp"
        },
        {
          "start": 40,
          "end": 43,
          "frame": 40,
          "kind": "app",
          "surface": "Publishing visibility",
          "description": "The upload flow reaches its visibility choices.",
          "treatment": "The final form step stays legible.",
          "reuse": "Do not omit a material privacy or publishing choice.",
          "id": "codex-record-replay-08",
          "number": 8,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/040000.webp"
        },
        {
          "start": 43,
          "end": 49,
          "frame": 46,
          "kind": "app",
          "surface": "Recording completion",
          "description": "The conversation shows a done message and recording-processing status.",
          "treatment": "Return to the original task context.",
          "reuse": "Make the handoff back to the assistant explicit.",
          "id": "codex-record-replay-09",
          "number": 9,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=43s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=46s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/046000.webp"
        },
        {
          "start": 49,
          "end": 57,
          "frame": 50,
          "kind": "app",
          "surface": "Generated skill artifact",
          "description": "Skill documents and an edited-files summary appear in the response.",
          "treatment": "Close conversation crop emphasizes inspectable outputs.",
          "reuse": "Show the reusable artifact before claiming the process is reusable.",
          "id": "codex-record-replay-10",
          "number": 10,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=49s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/050000.webp"
        },
        {
          "start": 57,
          "end": 64,
          "frame": 60,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The speaker returns between the recording and replay examples.",
          "treatment": "Same desk framing separates the two demonstrations.",
          "reuse": "Use a chapter transition instead in the silent presentation.",
          "id": "codex-record-replay-11",
          "number": 11,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=57s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/060000.webp"
        },
        {
          "start": 64,
          "end": 68,
          "frame": 66,
          "kind": "app",
          "surface": "Replay inputs",
          "description": "A file window is used to select the next upload's source files.",
          "treatment": "Input selection is shown against the empty composer.",
          "reuse": "Make the changed input obvious in a repeated workflow.",
          "id": "codex-record-replay-12",
          "number": 12,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/066000.webp"
        },
        {
          "start": 68,
          "end": 72,
          "frame": 70,
          "kind": "app",
          "surface": "Skill invocation",
          "description": "The composer shows attached inputs and a request referencing the upload skill.",
          "treatment": "Prompt and attachment chips share the frame.",
          "reuse": "Connect the earlier artifact to the next action.",
          "id": "codex-record-replay-13",
          "number": 13,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/070000.webp"
        },
        {
          "start": 72,
          "end": 76,
          "frame": 74,
          "kind": "app",
          "surface": "Replay task state",
          "description": "The submitted task appears in a conversation with an output rail.",
          "treatment": "Brief established app state before browser activity.",
          "reuse": "Retain a visible start state for an automated sequence.",
          "id": "codex-record-replay-14",
          "number": 14,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=72s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/074000.webp"
        },
        {
          "start": 76,
          "end": 79,
          "frame": 78,
          "kind": "app",
          "surface": "Replayed upload",
          "description": "The browser opens the next file and reaches the upload details dialog.",
          "treatment": "External application remains identifiable.",
          "reuse": "Show the real destination rather than an abstract progress animation.",
          "id": "codex-record-replay-15",
          "number": 15,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=76s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/078000.webp"
        },
        {
          "start": 79,
          "end": 83,
          "frame": 82,
          "kind": "app",
          "surface": "Metadata and thumbnail",
          "description": "The new video's description and thumbnail appear in the upload form.",
          "treatment": "Successive form states within one browser view.",
          "reuse": "Choose a visibly different result to prove the new input was used.",
          "id": "codex-record-replay-16",
          "number": 16,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=79s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/082000.webp"
        },
        {
          "start": 83,
          "end": 87,
          "frame": 86,
          "kind": "app",
          "surface": "Replayed subtitle import",
          "description": "A file picker leads to the subtitle import options.",
          "treatment": "The same task stage returns with new material.",
          "reuse": "Match framing across before-and-after workflow stages.",
          "id": "codex-record-replay-17",
          "number": 17,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=83s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=86s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/086000.webp"
        },
        {
          "start": 87,
          "end": 90,
          "frame": 88,
          "kind": "app",
          "surface": "Imported captions",
          "description": "The subtitle editor displays the new video's caption rows.",
          "treatment": "Preview and timed text provide result evidence.",
          "reuse": "Include a validation view after an automated import.",
          "id": "codex-record-replay-18",
          "number": 18,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=87s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/088000.webp"
        },
        {
          "start": 90,
          "end": 94,
          "frame": 92,
          "kind": "app",
          "surface": "Visibility confirmation",
          "description": "The replay reaches the final visibility and save step.",
          "treatment": "Stable dialog framing through the closing action.",
          "reuse": "Show the consequential last action without hiding its settings.",
          "id": "codex-record-replay-19",
          "number": 19,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=90s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/092000.webp"
        },
        {
          "start": 94,
          "end": 98,
          "frame": 96,
          "kind": "app",
          "surface": "Channel content result",
          "description": "The content list shows the uploaded video and a visibility notice.",
          "treatment": "Result view replaces the upload dialog.",
          "reuse": "End the demo on the actual saved item.",
          "id": "codex-record-replay-20",
          "number": 20,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=94s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/096000.webp"
        },
        {
          "start": 98,
          "end": 121,
          "frame": 110,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The desk presenter carries the closing explanation.",
          "treatment": "Long static human shot after the result.",
          "reuse": "Keep this time with the talking head; do not stretch UI for filler.",
          "id": "codex-record-replay-21",
          "number": 21,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=98s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=110s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/110000.webp"
        },
        {
          "start": 121,
          "end": 124.774,
          "frame": 124,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending closes the film.",
          "treatment": "Centered wordmark and symbol.",
          "reuse": "Use the presentation's own final card.",
          "id": "codex-record-replay-22",
          "number": 22,
          "film": "codex-record-replay",
          "film_title": "Record & Replay in Codex",
          "source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=121s",
          "frame_source_url": "https://www.youtube.com/watch?v=ZK3JhU73W18&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-record-replay/124000.webp"
        }
      ]
    },
    {
      "slug": "codex-ios",
      "id": "u9zLlcsCDiQ",
      "title": "Build and test iOS apps without leaving Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-15",
      "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ",
      "duration": 41.854,
      "width": 1920,
      "height": 1080,
      "fps": 23.976859820233315,
      "sha256": "75f96d5d171575e683c23d7982b51f8f2e37816f3203744ef7077c68e395990c",
      "family": "Product film",
      "priority": "Primary",
      "poster": 18,
      "summary": "A compact app-only sequence moves from a request to an embedded phone simulator, element inspection, a code change, and a working share sheet.",
      "borrow": "Keep the conversation and tested interface together, then use native element highlighting to direct attention to the affected control.",
      "avoid": "The phone is a simulator inside the demo, not an independently filmed mobile device. Preserve that distinction and verify any equivalent your product workflow.",
      "selection_reason": "Device simulator, application testing, and result evidence",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 10,
      "shots": [
        {
          "start": 0,
          "end": 5,
          "frame": 4,
          "kind": "app",
          "surface": "Project composer",
          "description": "A simulator-related request is entered in the project composer.",
          "treatment": "Full-window opening tightens around the prompt.",
          "reuse": "Start with the action the speaker is describing.",
          "id": "codex-ios-01",
          "number": 1,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/004000.webp"
        },
        {
          "start": 5,
          "end": 8,
          "frame": 6,
          "kind": "app",
          "surface": "Task response",
          "description": "The submitted request becomes a conversation with working status.",
          "treatment": "Simple white conversation view.",
          "reuse": "Keep the task's initiating state before showing its outcome.",
          "id": "codex-ios-02",
          "number": 2,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=5s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/006000.webp"
        },
        {
          "start": 8,
          "end": 11,
          "frame": 10,
          "kind": "app",
          "surface": "Embedded iOS simulator",
          "description": "A phone simulator appears beside the task and tool rail.",
          "treatment": "Wide establishment followed by a simulator-favoring crop.",
          "reuse": "Show the relationship between command and test environment.",
          "id": "codex-ios-03",
          "number": 3,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/010000.webp"
        },
        {
          "start": 11,
          "end": 15,
          "frame": 14,
          "kind": "app",
          "surface": "Element inspection",
          "description": "The phone interface receives a colored element overlay and a contextual prompt.",
          "treatment": "Native inspect highlight directs attention.",
          "reuse": "Use real selection feedback rather than invented callouts.",
          "id": "codex-ios-04",
          "number": 4,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=11s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/014000.webp"
        },
        {
          "start": 15,
          "end": 18,
          "frame": 16,
          "kind": "app",
          "surface": "Inspection target change",
          "description": "A different element is highlighted with a small identifier tooltip.",
          "treatment": "Same phone position makes the target change apparent.",
          "reuse": "Keep a stable frame while identifying a specific control.",
          "id": "codex-ios-05",
          "number": 5,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=15s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/016000.webp"
        },
        {
          "start": 18,
          "end": 23,
          "frame": 20,
          "kind": "app",
          "surface": "Conversation and simulator",
          "description": "The task discusses the selected element while the simulator remains beside it.",
          "treatment": "Balanced split view preserves cause and effect.",
          "reuse": "Pair the request with the exact UI region it concerns.",
          "id": "codex-ios-06",
          "number": 6,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/020000.webp"
        },
        {
          "start": 23,
          "end": 27,
          "frame": 26,
          "kind": "app",
          "surface": "Changed-file result",
          "description": "The response shows an edited-file summary alongside the unhighlighted app.",
          "treatment": "Conversation and runtime result share the frame.",
          "reuse": "Distinguish a code edit from verification of its behavior.",
          "id": "codex-ios-07",
          "number": 7,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=23s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/026000.webp"
        },
        {
          "start": 27,
          "end": 30,
          "frame": 28,
          "kind": "app",
          "surface": "Follow-up test request",
          "description": "A short follow-up asks to exercise the sharing behavior.",
          "treatment": "Stable conversation crop with the phone still visible.",
          "reuse": "Make the validation action explicit.",
          "id": "codex-ios-08",
          "number": 8,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=27s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/028000.webp"
        },
        {
          "start": 30,
          "end": 33,
          "frame": 32,
          "kind": "app",
          "surface": "Phone action menu",
          "description": "A post menu opens and exposes sharing options.",
          "treatment": "The menu is the new visual event.",
          "reuse": "Hold on the control that leads to the result.",
          "id": "codex-ios-09",
          "number": 9,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/032000.webp"
        },
        {
          "start": 33,
          "end": 37,
          "frame": 36,
          "kind": "app",
          "surface": "Share-as-image sheet",
          "description": "A sheet displays a post preview and a share action.",
          "treatment": "Contained result replaces the menu without leaving the phone.",
          "reuse": "End on the user-visible behavior, not the code diff.",
          "id": "codex-ios-10",
          "number": 10,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=33s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/036000.webp"
        },
        {
          "start": 37,
          "end": 41.854,
          "frame": 40,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending replaces the simulator.",
          "treatment": "Clean visual stop.",
          "reuse": "Leave the remaining wave and pause to the talking head.",
          "id": "codex-ios-11",
          "number": 11,
          "film": "codex-ios",
          "film_title": "Build and test iOS apps without leaving Codex",
          "source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=37s",
          "frame_source_url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-ios/040000.webp"
        }
      ]
    },
    {
      "slug": "codex-prototypes",
      "id": "_9ImjmzAyus",
      "title": "Build and share interactive prototypes in Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-04",
      "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus",
      "duration": 148.734,
      "width": 1920,
      "height": 1080,
      "fps": 30.0,
      "sha256": "4160a9600cb24ae556bb60397fbe5f9499301702b8fcdaf96b0940fe28ed19fe",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 70,
      "summary": "A screen-only walkthrough develops a calendar concept through clarification, design alternatives, an interactive prototype, a design-file handoff, and a shared browser version.",
      "borrow": "Expose intermediate design decisions and distinguish a generated mockup, a running prototype, an editable design file, and a published page.",
      "avoid": "The calendar interface is the demo's generated prototype, not proof of a shipped ChatGPT calendar feature. The long conversational stretches need selective adaptation.",
      "selection_reason": "Interactive prototypes, revisions, and sharing",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 26,
      "shots": [
        {
          "start": 0,
          "end": 8,
          "frame": 4,
          "kind": "app",
          "surface": "Design request",
          "description": "A calendar-feature request is entered using a product-design context.",
          "treatment": "Whole app on a blue desktop.",
          "reuse": "Establish the task and chosen workflow together.",
          "id": "codex-prototypes-01",
          "number": 1,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/004000.webp"
        },
        {
          "start": 8,
          "end": 15,
          "frame": 12,
          "kind": "app",
          "surface": "Workflow acknowledgement",
          "description": "The conversation introduces the design process.",
          "treatment": "Stable app framing through the first response.",
          "reuse": "Retain only the planning text that matters to the story.",
          "id": "codex-prototypes-02",
          "number": 2,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/012000.webp"
        },
        {
          "start": 15,
          "end": 20,
          "frame": 18,
          "kind": "app",
          "surface": "Clarifying questions",
          "description": "A structured set of design questions appears.",
          "treatment": "Readable text block rather than a fabricated progress graphic.",
          "reuse": "Show uncertainty being resolved before presenting a polished result.",
          "id": "codex-prototypes-03",
          "number": 3,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=15s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/018000.webp"
        },
        {
          "start": 20,
          "end": 24,
          "frame": 22,
          "kind": "app",
          "surface": "Brief answers",
          "description": "A reply supplies scope and desired behavior.",
          "treatment": "Conversation scroll connects question and answer.",
          "reuse": "Keep meaningful human decisions in the workflow.",
          "id": "codex-prototypes-04",
          "number": 4,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/022000.webp"
        },
        {
          "start": 24,
          "end": 29,
          "frame": 28,
          "kind": "app",
          "surface": "Design brief approval",
          "description": "A proposed brief is followed by a short approval.",
          "treatment": "Alternating message blocks in one frame.",
          "reuse": "Distinguish planning approval from completed implementation.",
          "id": "codex-prototypes-05",
          "number": 5,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/028000.webp"
        },
        {
          "start": 29,
          "end": 35,
          "frame": 34,
          "kind": "app",
          "surface": "Design alternatives",
          "description": "Several visual directions appear as thumbnails beneath explanatory text.",
          "treatment": "Small option set embedded in the conversation.",
          "reuse": "Show alternatives before committing to one direction.",
          "id": "codex-prototypes-06",
          "number": 6,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=29s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/034000.webp"
        },
        {
          "start": 35,
          "end": 40,
          "frame": 38,
          "kind": "app",
          "surface": "Mockup lightbox",
          "description": "Calendar mockups open in a dark image viewer with navigation arrows.",
          "treatment": "Image-only design surface inside recognizable viewer controls.",
          "reuse": "Use a lightbox to make a proposed layout readable.",
          "id": "codex-prototypes-07",
          "number": 7,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=35s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/038000.webp"
        },
        {
          "start": 40,
          "end": 45,
          "frame": 42,
          "kind": "app",
          "surface": "Prototype selection",
          "description": "The conversation resumes with a request to build one direction.",
          "treatment": "Return to task context after viewing options.",
          "reuse": "Connect the selected concept to the next build step.",
          "id": "codex-prototypes-08",
          "number": 8,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=42s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/042000.webp"
        },
        {
          "start": 45,
          "end": 52,
          "frame": 50,
          "kind": "app",
          "surface": "Build progress and assets",
          "description": "Implementation text is followed by small portrait assets.",
          "treatment": "Conversation remains the organizing surface.",
          "reuse": "Group preparation steps instead of showing every progress update.",
          "id": "codex-prototypes-09",
          "number": 9,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=45s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/050000.webp"
        },
        {
          "start": 52,
          "end": 57,
          "frame": 54,
          "kind": "app",
          "surface": "Prototype split view",
          "description": "The running calendar prototype opens beside the conversation.",
          "treatment": "A new right pane gives the output its own space.",
          "reuse": "Reveal a usable artifact without losing its originating request.",
          "id": "codex-prototypes-10",
          "number": 10,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/054000.webp"
        },
        {
          "start": 57,
          "end": 62,
          "frame": 60,
          "kind": "app",
          "surface": "Design comparison",
          "description": "A design image is opened alongside the prototype workflow.",
          "treatment": "Viewer and conversation remain visible together.",
          "reuse": "Compare the implementation against the intended layout.",
          "id": "codex-prototypes-11",
          "number": 11,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=57s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/060000.webp"
        },
        {
          "start": 62,
          "end": 69,
          "frame": 66,
          "kind": "app",
          "surface": "Prototype overview",
          "description": "The agenda interface returns beside the build summary.",
          "treatment": "Stable split view shows navigation and event rows.",
          "reuse": "Establish the main layout before testing individual interactions.",
          "id": "codex-prototypes-12",
          "number": 12,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/066000.webp"
        },
        {
          "start": 69,
          "end": 73,
          "frame": 70,
          "kind": "app",
          "surface": "Prototype detail panel",
          "description": "The prototype fills more of the window and an event's details are visible.",
          "treatment": "Wider artifact framing makes its side panel readable.",
          "reuse": "Expand the result when interaction becomes the subject.",
          "id": "codex-prototypes-13",
          "number": 13,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=69s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/070000.webp"
        },
        {
          "start": 73,
          "end": 79,
          "frame": 74,
          "kind": "app",
          "surface": "Event variation",
          "description": "Different agenda items expose their associated detail content.",
          "treatment": "Matched layout across changing selected items.",
          "reuse": "Demonstrate behavior with a second item, not a duplicate static view.",
          "id": "codex-prototypes-14",
          "number": 14,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=73s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/074000.webp"
        },
        {
          "start": 79,
          "end": 83,
          "frame": 80,
          "kind": "app",
          "surface": "Agenda annotation",
          "description": "A selected agenda row receives a blue inspection highlight.",
          "treatment": "Native overlay identifies the active row.",
          "reuse": "Use inspection to make a revision target unambiguous.",
          "id": "codex-prototypes-15",
          "number": 15,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=79s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/080000.webp"
        },
        {
          "start": 83,
          "end": 88,
          "frame": 84,
          "kind": "app",
          "surface": "Attachment annotation",
          "description": "A related-files region is selected within the event detail panel.",
          "treatment": "Same prototype framing, different highlighted region.",
          "reuse": "Show the exact nested region under discussion.",
          "id": "codex-prototypes-16",
          "number": 16,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=83s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/084000.webp"
        },
        {
          "start": 88,
          "end": 95,
          "frame": 92,
          "kind": "app",
          "surface": "Design handoff request",
          "description": "The conversation receives a request for a design-file concept page.",
          "treatment": "Return from runtime interaction to a written handoff.",
          "reuse": "Name the deliverable before switching applications.",
          "id": "codex-prototypes-17",
          "number": 17,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/092000.webp"
        },
        {
          "start": 95,
          "end": 102,
          "frame": 98,
          "kind": "app",
          "surface": "Handoff preparation",
          "description": "The response describes the requested design-file content.",
          "treatment": "Conversation-only bridge.",
          "reuse": "Keep the relationship between the prototype and handoff explicit.",
          "id": "codex-prototypes-18",
          "number": 18,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=95s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=98s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/098000.webp"
        },
        {
          "start": 102,
          "end": 109,
          "frame": 106,
          "kind": "app",
          "surface": "Figma concept page",
          "description": "A design canvas shows a concept page with a prototype image and supporting notes.",
          "treatment": "Whole editor establishes that this is an editable design artifact.",
          "reuse": "Retain editor chrome when editability is part of the claim.",
          "id": "codex-prototypes-19",
          "number": 19,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=102s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=106s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/106000.webp"
        },
        {
          "start": 109,
          "end": 115,
          "frame": 112,
          "kind": "app",
          "surface": "Editable text layers",
          "description": "Text on the concept page is selected inside the design editor.",
          "treatment": "Native selection and properties panel supply proof.",
          "reuse": "Demonstrate editability with a real selected layer.",
          "id": "codex-prototypes-20",
          "number": 20,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=109s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/112000.webp"
        },
        {
          "start": 115,
          "end": 121,
          "frame": 118,
          "kind": "app",
          "surface": "Concept-page details",
          "description": "The canvas scrolls to supporting workflow and interface material.",
          "treatment": "Vertical exploration within the same editor.",
          "reuse": "Show a useful interior section after the hero layout.",
          "id": "codex-prototypes-21",
          "number": 21,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=115s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=118s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/118000.webp"
        },
        {
          "start": 121,
          "end": 127,
          "frame": 126,
          "kind": "app",
          "surface": "Share request and result",
          "description": "The conversation receives a sharing request and returns a site card.",
          "treatment": "Request-to-artifact handoff in the original app.",
          "reuse": "Keep the publish action separate from the prototype build.",
          "id": "codex-prototypes-22",
          "number": 22,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=121s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=126s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/126000.webp"
        },
        {
          "start": 127,
          "end": 135,
          "frame": 132,
          "kind": "app",
          "surface": "Shared browser prototype",
          "description": "The calendar opens as a browser page and an event is selected.",
          "treatment": "Browser context replaces the development conversation.",
          "reuse": "Prove the result can be opened in its intended destination.",
          "id": "codex-prototypes-23",
          "number": 23,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=127s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/132000.webp"
        },
        {
          "start": 135,
          "end": 140,
          "frame": 138,
          "kind": "app",
          "surface": "Shared-page navigation",
          "description": "The shared prototype moves through another agenda state.",
          "treatment": "Stable browser frame during interaction.",
          "reuse": "Validate more than the landing view.",
          "id": "codex-prototypes-24",
          "number": 24,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=135s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=138s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/138000.webp"
        },
        {
          "start": 140,
          "end": 144,
          "frame": 142,
          "kind": "app",
          "surface": "Published artifact card",
          "description": "The conversation returns to the shared-site card.",
          "treatment": "Compact summary after the external result.",
          "reuse": "Leave a recognizable handoff artifact.",
          "id": "codex-prototypes-25",
          "number": 25,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=140s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=142s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/142000.webp"
        },
        {
          "start": 144,
          "end": 148.734,
          "frame": 146,
          "kind": "app",
          "surface": "New-task reset",
          "description": "The film ends back at an empty composer.",
          "treatment": "Return to the opening app state.",
          "reuse": "A loopable reset is useful for a reel, not the required all-hands ending.",
          "id": "codex-prototypes-26",
          "number": 26,
          "film": "codex-prototypes",
          "film_title": "Build and share interactive prototypes in Codex",
          "source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=144s",
          "frame_source_url": "https://www.youtube.com/watch?v=_9ImjmzAyus&t=146s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-prototypes/146000.webp"
        }
      ]
    },
    {
      "slug": "codex-apps",
      "id": "5UlRL_ImvQ0",
      "title": "Build and share apps in Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-02",
      "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0",
      "duration": 46.494,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "48fdcf37ab3bfa5d990c2bd0b979ae14cf1618e52d73bba14bd1451e4cc43fee",
      "family": "Product film",
      "priority": "Primary",
      "poster": 26,
      "summary": "A short launch film interleaves bracketed kinetic type, tight composer crops, real sharing controls, and a collage of example outputs.",
      "borrow": "Use short statements to organize a fast reel, then slow down for access controls and the saved artifact. Keep output collages separate from workflow evidence.",
      "avoid": "The collage is breadth-of-output imagery, not a sequence of demonstrated interactions. Do not copy the purple identity or imply generated apps are native product screens.",
      "selection_reason": "Short build-to-shared-app sequence",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "title",
          "surface": "Opening statement",
          "description": "A short product statement appears on white.",
          "treatment": "Centered black type with ample space.",
          "reuse": "Use a brief readable opening before the reel accelerates.",
          "id": "codex-apps-01",
          "number": 1,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/002000.webp"
        },
        {
          "start": 4,
          "end": 7,
          "frame": 6,
          "kind": "montage",
          "surface": "App-output collage",
          "description": "Small app designs surround an expanding build-and-share statement.",
          "treatment": "Loose collage around a typographic center.",
          "reuse": "Use an output montage only after the category is clear.",
          "id": "codex-apps-02",
          "number": 2,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/006000.webp"
        },
        {
          "start": 7,
          "end": 11,
          "frame": 10,
          "kind": "app",
          "surface": "Event-operations request",
          "description": "A Sites request and task response appear in a cropped conversation.",
          "treatment": "Tight crop retains the task title and message.",
          "reuse": "Give the promise a concrete initiating request.",
          "id": "codex-apps-03",
          "number": 3,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=7s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/010000.webp"
        },
        {
          "start": 11,
          "end": 15,
          "frame": 14,
          "kind": "title",
          "surface": "Idea-to-deployment card",
          "description": "Bracketed words complete a short process statement.",
          "treatment": "Typographic emphasis rather than interface movement.",
          "reuse": "Use selective word emphasis for a chapter transition.",
          "id": "codex-apps-04",
          "number": 4,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=11s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/014000.webp"
        },
        {
          "start": 15,
          "end": 21,
          "frame": 18,
          "kind": "app",
          "surface": "Composer prompt variations",
          "description": "Short Sites requests change inside an enlarged composer before submission.",
          "treatment": "Close control framing; surrounding chrome mostly omitted.",
          "reuse": "Group concise task variants without simulating unsupported inputs.",
          "id": "codex-apps-05",
          "number": 5,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=15s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/018000.webp"
        },
        {
          "start": 21,
          "end": 24,
          "frame": 22,
          "kind": "app",
          "surface": "Generated revenue dashboard",
          "description": "A chart and table appear in a framed dashboard output.",
          "treatment": "Whole-result reveal after the composer.",
          "reuse": "Show a tangible output rather than a generic success message.",
          "id": "codex-apps-06",
          "number": 6,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=21s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/022000.webp"
        },
        {
          "start": 24,
          "end": 25,
          "frame": 24,
          "kind": "title",
          "surface": "Access-control card",
          "description": "A short statement introduces who can access the result.",
          "treatment": "Single typographic reset.",
          "reuse": "Give permissions their own narrative beat.",
          "id": "codex-apps-07",
          "number": 7,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/024000.webp"
        },
        {
          "start": 25,
          "end": 28,
          "frame": 26,
          "kind": "app",
          "surface": "Sharing dialog",
          "description": "A share dialog displays invitees, roles, and access controls.",
          "treatment": "Centered dialog over a subdued output.",
          "reuse": "Keep the real permission model visible.",
          "id": "codex-apps-08",
          "number": 8,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=25s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/026000.webp"
        },
        {
          "start": 28,
          "end": 30,
          "frame": 28,
          "kind": "app",
          "surface": "Access-scope menu",
          "description": "The access dropdown exposes workspace and invited-person options.",
          "treatment": "Close framing around the consequential choice.",
          "reuse": "Use the actual menu as proof of access scope.",
          "id": "codex-apps-09",
          "number": 9,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/028000.webp"
        },
        {
          "start": 30,
          "end": 34,
          "frame": 32,
          "kind": "title",
          "surface": "Build-and-share statement",
          "description": "Two short lines resolve with bracketed emphasis.",
          "treatment": "Return to the film's repeated type treatment.",
          "reuse": "Summarize after showing the permission step.",
          "id": "codex-apps-10",
          "number": 10,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/032000.webp"
        },
        {
          "start": 34,
          "end": 36,
          "frame": 34,
          "kind": "app",
          "surface": "Launch-tracker artifact",
          "description": "A conversation result and generated launch page share the frame.",
          "treatment": "Artifact card beside a recognizable output preview.",
          "reuse": "End the workflow on the saved result and its handoff control.",
          "id": "codex-apps-11",
          "number": 11,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/034000.webp"
        },
        {
          "start": 36,
          "end": 40,
          "frame": 38,
          "kind": "montage",
          "surface": "Output breadth",
          "description": "A dense collage moves among varied app and page designs.",
          "treatment": "Many small outputs; no readable interaction sequence.",
          "reuse": "Use sparingly as a breadth beat, not technical evidence.",
          "id": "codex-apps-12",
          "number": 12,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/038000.webp"
        },
        {
          "start": 40,
          "end": 46.494,
          "frame": 44,
          "kind": "title",
          "surface": "End identity",
          "description": "Short destination text resolves into the product icon.",
          "treatment": "White-field identity ending.",
          "reuse": "Replace with the presentation's own finish.",
          "id": "codex-apps-13",
          "number": 13,
          "film": "codex-apps",
          "film_title": "Build and share apps in Codex",
          "source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-apps/044000.webp"
        }
      ]
    },
    {
      "slug": "codex-data-science",
      "id": "Lvk_VZOppIY",
      "title": "Codex for data science",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-09",
      "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY",
      "duration": 100.334,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "49f1417248d0e64fe0d36687bb73ea619127955a78675356cf9aaaa4f470e84f",
      "family": "Product film",
      "priority": "Primary",
      "poster": 42,
      "summary": "A data-analysis request becomes an interactive report, an editable chart, a visible query source, and a presentation export.",
      "borrow": "Show the report in context, crop to a specific chart interaction, expose provenance, then prove the export by opening it.",
      "avoid": "The sample business metrics are source-film demo data. Neither the edited pace nor the visible working-time labels establish performance for your product.",
      "selection_reason": "Data analysis, code, charts, and exploratory results",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 17,
      "shots": [
        {
          "start": 0,
          "end": 8,
          "frame": 4,
          "kind": "app",
          "surface": "Analysis workspace",
          "description": "An empty task window establishes the workspace.",
          "treatment": "Whole app on a blue desktop.",
          "reuse": "Use a shorter establishment if narration already supplies context.",
          "id": "codex-data-science-01",
          "number": 1,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/004000.webp"
        },
        {
          "start": 8,
          "end": 16,
          "frame": 14,
          "kind": "app",
          "surface": "Data-analysis request",
          "description": "A request asks for an interactive report using a connected dataset.",
          "treatment": "Closer composer framing makes the task legible.",
          "reuse": "Name the input and desired output in the same view.",
          "id": "codex-data-science-02",
          "number": 2,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/014000.webp"
        },
        {
          "start": 16,
          "end": 23,
          "frame": 20,
          "kind": "app",
          "surface": "Analysis progress",
          "description": "The response shows query work and a report summary.",
          "treatment": "Conversation view then a wider app frame.",
          "reuse": "Retain provenance-bearing progress, not every waiting state.",
          "id": "codex-data-science-03",
          "number": 3,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/020000.webp"
        },
        {
          "start": 23,
          "end": 28,
          "frame": 26,
          "kind": "app",
          "surface": "Report summary",
          "description": "The report opens beside the conversation with an executive summary.",
          "treatment": "Split view establishes artifact and origin.",
          "reuse": "Begin an analytical result with the conclusion viewers need.",
          "id": "codex-data-science-04",
          "number": 4,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=23s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/026000.webp"
        },
        {
          "start": 28,
          "end": 31,
          "frame": 30,
          "kind": "app",
          "surface": "Trend and baseline charts",
          "description": "A line chart gives way to a monthly bar comparison.",
          "treatment": "Vertical report navigation within a stable pane.",
          "reuse": "Show the comparison that supports the spoken claim.",
          "id": "codex-data-science-05",
          "number": 5,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/030000.webp"
        },
        {
          "start": 31,
          "end": 37,
          "frame": 34,
          "kind": "app",
          "surface": "Segment analysis",
          "description": "The report moves through a segment chart and recommended next steps.",
          "treatment": "Same document hierarchy connects chart and interpretation.",
          "reuse": "Keep the evidence next to its qualified conclusion.",
          "id": "codex-data-science-06",
          "number": 6,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=31s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/034000.webp"
        },
        {
          "start": 37,
          "end": 41,
          "frame": 40,
          "kind": "app",
          "surface": "Chart-type control",
          "description": "An enlarged chart exposes a type-selection menu.",
          "treatment": "Tight crop centers the real control.",
          "reuse": "Make an interactive affordance readable before activating it.",
          "id": "codex-data-science-07",
          "number": 7,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=37s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/040000.webp"
        },
        {
          "start": 41,
          "end": 48,
          "frame": 44,
          "kind": "app",
          "surface": "Interactive bar chart",
          "description": "The line becomes bars and a hover tooltip identifies individual values.",
          "treatment": "Stable chart crop through the changed representation.",
          "reuse": "Show a state change plus a useful inspection interaction.",
          "id": "codex-data-science-08",
          "number": 8,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/044000.webp"
        },
        {
          "start": 48,
          "end": 53,
          "frame": 50,
          "kind": "app",
          "surface": "Chart action menu",
          "description": "The wider report returns before its chart menu opens.",
          "treatment": "Re-establishment precedes a contextual action.",
          "reuse": "Prevent a close-up from losing its place in the report.",
          "id": "codex-data-science-09",
          "number": 9,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/050000.webp"
        },
        {
          "start": 53,
          "end": 58,
          "frame": 54,
          "kind": "app",
          "surface": "Query provenance",
          "description": "A source view displays tables, filters, a query, and a copy control.",
          "treatment": "Close detail crop favors inspectable evidence.",
          "reuse": "Expose provenance when accuracy is part of the demo.",
          "id": "codex-data-science-10",
          "number": 10,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=53s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/054000.webp"
        },
        {
          "start": 58,
          "end": 65,
          "frame": 62,
          "kind": "app",
          "surface": "Inline chart-title edit",
          "description": "The chart title becomes an editable text field and is revised.",
          "treatment": "The chart stays visible beneath its editable label.",
          "reuse": "Demonstrate direct manipulation with a small concrete change.",
          "id": "codex-data-science-11",
          "number": 11,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/062000.webp"
        },
        {
          "start": 65,
          "end": 71,
          "frame": 68,
          "kind": "app",
          "surface": "Report export menu",
          "description": "The export menu offers document and slide destinations.",
          "treatment": "Crop moves attention to the top-right controls.",
          "reuse": "Show the destination choice rather than jumping straight to a file.",
          "id": "codex-data-science-12",
          "number": 12,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=65s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/068000.webp"
        },
        {
          "start": 71,
          "end": 77,
          "frame": 74,
          "kind": "app",
          "surface": "Export follow-up dialog",
          "description": "A confirmation dialog contains the export request.",
          "treatment": "Modal preserves the chart behind the action.",
          "reuse": "Keep an explicit confirmation step in consequential workflows.",
          "id": "codex-data-science-13",
          "number": 13,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=71s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/074000.webp"
        },
        {
          "start": 77,
          "end": 83,
          "frame": 80,
          "kind": "app",
          "surface": "Export task handoff",
          "description": "The export request appears in the conversation beside the report.",
          "treatment": "Return to the split task-and-artifact view.",
          "reuse": "Connect the export command to its source artifact.",
          "id": "codex-data-science-14",
          "number": 14,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=77s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/080000.webp"
        },
        {
          "start": 83,
          "end": 88,
          "frame": 86,
          "kind": "app",
          "surface": "Slide-deck result",
          "description": "A presentation opens with a thumbnail rail and a summary slide.",
          "treatment": "Whole deck viewer establishes the output format.",
          "reuse": "Open the exported artifact to prove the handoff worked.",
          "id": "codex-data-science-15",
          "number": 15,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=83s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=86s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/086000.webp"
        },
        {
          "start": 88,
          "end": 92,
          "frame": 90,
          "kind": "app",
          "surface": "Chart slides",
          "description": "Interior slides show baseline and trend charts.",
          "treatment": "Matched viewer framing across pages.",
          "reuse": "Check the analytical content survived the format change.",
          "id": "codex-data-science-16",
          "number": 16,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/090000.webp"
        },
        {
          "start": 92,
          "end": 97,
          "frame": 94,
          "kind": "app",
          "surface": "Recommendation slide",
          "description": "A closing slide gives a short set of next actions.",
          "treatment": "Held final page in the deck viewer.",
          "reuse": "End the result on an actionable conclusion.",
          "id": "codex-data-science-17",
          "number": 17,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=92s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=94s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/094000.webp"
        },
        {
          "start": 97,
          "end": 100.334,
          "frame": 98,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending replaces the deck.",
          "treatment": "Minimal end card.",
          "reuse": "Use an original finish while the talking head retains its ending buffer.",
          "id": "codex-data-science-18",
          "number": 18,
          "film": "codex-data-science",
          "film_title": "Codex for data science",
          "source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=97s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lvk_VZOppIY&t=98s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-data-science/098000.webp"
        }
      ]
    },
    {
      "slug": "codex-campaign",
      "id": "2ey7znf8SI0",
      "title": "Create campaign concepts and assets with Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-10",
      "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
      "duration": 102.554,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "5b6cfa74d05791ca265e346006c9726e20b2afe53fc1e7b980b75e33ff94044c",
      "family": "Product film",
      "priority": "Primary",
      "poster": 22,
      "summary": "A creative brief grows into a mood board, a localized image revision, style variants, campaign formats, and an editable external design.",
      "borrow": "Keep the image and its instruction visible together. Distinguish a local edit, a global style change, a format adaptation, and a design-tool handoff.",
      "avoid": "The chocolate imagery, campaign identity, and generated designs are research material, not all-hands assets. The film does not establish equivalent your product image-editing behavior.",
      "selection_reason": "Creative brief, campaign artifacts, and output inspection",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 19,
      "shots": [
        {
          "start": 0,
          "end": 9,
          "frame": 6,
          "kind": "app",
          "surface": "Creative brief",
          "description": "A campaign request includes a visual reference attachment.",
          "treatment": "Whole-window composer with a small source image.",
          "reuse": "Show the actual inputs behind a creative result.",
          "id": "codex-campaign-01",
          "number": 1,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/006000.webp"
        },
        {
          "start": 9,
          "end": 14,
          "frame": 12,
          "kind": "app",
          "surface": "Mood-board choices",
          "description": "A structured brief offers visual-direction and subject choices.",
          "treatment": "Close crop on selectable creative constraints.",
          "reuse": "Make the chosen direction visible rather than unexplained.",
          "id": "codex-campaign-02",
          "number": 2,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=9s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/012000.webp"
        },
        {
          "start": 14,
          "end": 18,
          "frame": 16,
          "kind": "app",
          "surface": "Mood-board gallery",
          "description": "A grid of chocolate campaign images appears beside the conversation.",
          "treatment": "Two-pane layout separates guidance and outputs.",
          "reuse": "Establish the collection before examining one image.",
          "id": "codex-campaign-03",
          "number": 3,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/016000.webp"
        },
        {
          "start": 18,
          "end": 21,
          "frame": 20,
          "kind": "app",
          "surface": "Image selection",
          "description": "One image opens large and a region receives a contextual edit control.",
          "treatment": "Single-image focus retains the conversation edge.",
          "reuse": "Show the exact area being changed.",
          "id": "codex-campaign-04",
          "number": 4,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/020000.webp"
        },
        {
          "start": 21,
          "end": 27,
          "frame": 24,
          "kind": "app",
          "surface": "Localized revision request",
          "description": "A short instruction sits over the selected image region.",
          "treatment": "Tight crop joins the target and requested change.",
          "reuse": "Keep the modification specific and visually checkable.",
          "id": "codex-campaign-05",
          "number": 5,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=21s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/024000.webp"
        },
        {
          "start": 27,
          "end": 32,
          "frame": 30,
          "kind": "app",
          "surface": "Revised image result",
          "description": "A changed version of the chocolate-making image appears.",
          "treatment": "Return to the wider image-and-conversation view.",
          "reuse": "Use matched subject matter to make the difference apparent.",
          "id": "codex-campaign-06",
          "number": 6,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=27s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/030000.webp"
        },
        {
          "start": 32,
          "end": 36,
          "frame": 34,
          "kind": "app",
          "surface": "Second image choice",
          "description": "The gallery returns and a different product composition opens.",
          "treatment": "Grid-to-detail navigation.",
          "reuse": "Choose a second example with a distinct composition.",
          "id": "codex-campaign-07",
          "number": 7,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/034000.webp"
        },
        {
          "start": 36,
          "end": 40,
          "frame": 38,
          "kind": "app",
          "surface": "Style controls",
          "description": "Style categories and preset descriptions appear below the image.",
          "treatment": "Control-focused crop keeps the source image above.",
          "reuse": "Differentiate a global treatment from a local edit.",
          "id": "codex-campaign-08",
          "number": 8,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/038000.webp"
        },
        {
          "start": 40,
          "end": 44,
          "frame": 42,
          "kind": "app",
          "surface": "Styled result",
          "description": "The product arrangement returns with a darker, more directional treatment.",
          "treatment": "Same output area supports a visual comparison.",
          "reuse": "Hold the changed result long enough to inspect it.",
          "id": "codex-campaign-09",
          "number": 9,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=42s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/042000.webp"
        },
        {
          "start": 44,
          "end": 55,
          "frame": 50,
          "kind": "app",
          "surface": "Gallery selection",
          "description": "The board is revisited, scrolled, and images are selected for the next task.",
          "treatment": "Stable grid with selection feedback and a bottom action bar.",
          "reuse": "Show which inputs will feed the next output set.",
          "id": "codex-campaign-10",
          "number": 10,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/050000.webp"
        },
        {
          "start": 55,
          "end": 63,
          "frame": 60,
          "kind": "app",
          "surface": "Campaign-format request",
          "description": "Selected images accompany a request for opening campaign material.",
          "treatment": "Conversation and chosen-image board share the frame.",
          "reuse": "Connect a batch transformation to its selected sources.",
          "id": "codex-campaign-11",
          "number": 11,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=55s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/060000.webp"
        },
        {
          "start": 63,
          "end": 68,
          "frame": 66,
          "kind": "app",
          "surface": "Campaign variants",
          "description": "A new board contains multiple aspect ratios and layouts.",
          "treatment": "Grid reveals the output family before close inspection.",
          "reuse": "Use the collection view to show scope without counting every tile.",
          "id": "codex-campaign-12",
          "number": 12,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=63s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/066000.webp"
        },
        {
          "start": 68,
          "end": 72,
          "frame": 70,
          "kind": "app",
          "surface": "Square campaign designs",
          "description": "Square campaign compositions are opened in the image viewer.",
          "treatment": "Matched viewer frame across related designs.",
          "reuse": "Compare two treatments of the same communication task.",
          "id": "codex-campaign-13",
          "number": 13,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/070000.webp"
        },
        {
          "start": 72,
          "end": 77,
          "frame": 74,
          "kind": "app",
          "surface": "Landscape and portrait formats",
          "description": "The viewer moves through wide and tall campaign layouts.",
          "treatment": "Changing aspect ratio is the meaningful visual difference.",
          "reuse": "Show that a format adaptation is composed, not merely cropped.",
          "id": "codex-campaign-14",
          "number": 14,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=72s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/074000.webp"
        },
        {
          "start": 77,
          "end": 82,
          "frame": 78,
          "kind": "app",
          "surface": "External design destination",
          "description": "The selected design exposes an Open-in destination menu.",
          "treatment": "Close control view over the selected artifact.",
          "reuse": "Make the handoff destination explicit.",
          "id": "codex-campaign-15",
          "number": 15,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=77s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/078000.webp"
        },
        {
          "start": 82,
          "end": 86,
          "frame": 84,
          "kind": "app",
          "surface": "Editable-design handoff",
          "description": "A response provides a link to an editable design.",
          "treatment": "Result link remains beside the source artwork.",
          "reuse": "Show the handoff artifact before leaving the source application.",
          "id": "codex-campaign-16",
          "number": 16,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=82s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/084000.webp"
        },
        {
          "start": 86,
          "end": 90,
          "frame": 88,
          "kind": "app",
          "surface": "Canva text edit",
          "description": "The design opens in Canva and its date text is edited.",
          "treatment": "Editor chrome and selected text prove editability.",
          "reuse": "Verify a handoff with a visible edit, not just an opened page.",
          "id": "codex-campaign-17",
          "number": 17,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/088000.webp"
        },
        {
          "start": 90,
          "end": 95,
          "frame": 92,
          "kind": "app",
          "surface": "Canva image layer",
          "description": "The image layer is selected and adjusted within the design.",
          "treatment": "Native bounding box exposes the editable object.",
          "reuse": "Show that the visual layer remains separately manipulable.",
          "id": "codex-campaign-18",
          "number": 18,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=90s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/092000.webp"
        },
        {
          "start": 95,
          "end": 102.554,
          "frame": 98,
          "kind": "app",
          "surface": "Finished external design",
          "description": "The completed design remains in the external editor.",
          "treatment": "Longer result hold; no separate brand card.",
          "reuse": "A quiet result hold can support the speaker's final explanation.",
          "id": "codex-campaign-19",
          "number": 19,
          "film": "codex-campaign",
          "film_title": "Create campaign concepts and assets with Codex",
          "source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=95s",
          "frame_source_url": "https://www.youtube.com/watch?v=2ey7znf8SI0&t=98s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-campaign/098000.webp"
        }
      ]
    },
    {
      "slug": "codex-sales",
      "id": "4YkOAYNZVOQ",
      "title": "Build sales account strategies and outreach with Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-11",
      "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ",
      "duration": 137.754,
      "width": 1920,
      "height": 1080,
      "fps": 30.00007260424154,
      "sha256": "4b4ea110577e3a92f83a9eac657f15a35ad81a5f2e313e0fe07a6b19f7c0e474",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 86,
      "summary": "A sales workflow moves from ranked accounts to a pursuit deck, draft emails, and a recurring task. The strongest evidence is in the opened deliverables.",
      "borrow": "Show prioritization criteria, inspect representative output pages, then confirm draft status and scheduled behavior in their actual interfaces.",
      "avoid": "Several composer holds are long and text is small. Do not turn draft-email evidence into a claim that messages were sent, or copy source customer details.",
      "selection_reason": "Account research, strategy, and outreach artifacts",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 16,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "app",
          "surface": "Sales request",
          "description": "A project composer receives an account-prioritization task.",
          "treatment": "Whole app within a colored desktop frame.",
          "reuse": "Start with a concrete business question.",
          "id": "codex-sales-01",
          "number": 1,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/008000.webp"
        },
        {
          "start": 12,
          "end": 16,
          "frame": 14,
          "kind": "app",
          "surface": "Analysis acknowledgement",
          "description": "The task response introduces the account review.",
          "treatment": "Brief conversation state before results.",
          "reuse": "Retain enough context to explain the next table.",
          "id": "codex-sales-02",
          "number": 2,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/014000.webp"
        },
        {
          "start": 16,
          "end": 24,
          "frame": 20,
          "kind": "app",
          "surface": "Ranked account table",
          "description": "A table groups accounts with colored priority markers and rationale.",
          "treatment": "Vertical table reveal inside the conversation.",
          "reuse": "Show the criteria behind a ranking, not only colored badges.",
          "id": "codex-sales-03",
          "number": 3,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/020000.webp"
        },
        {
          "start": 24,
          "end": 32,
          "frame": 28,
          "kind": "app",
          "surface": "Pursuit-deck request",
          "description": "A follow-up asks for a presentation about selected accounts.",
          "treatment": "Composer beneath the retained ranking.",
          "reuse": "Connect the chosen accounts to the next deliverable.",
          "id": "codex-sales-04",
          "number": 4,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/028000.webp"
        },
        {
          "start": 32,
          "end": 42,
          "frame": 38,
          "kind": "app",
          "surface": "Deck preparation",
          "description": "The response describes the account plan before returning a file.",
          "treatment": "Conversation-only production bridge.",
          "reuse": "Compress nonessential waiting while retaining the task relationship.",
          "id": "codex-sales-05",
          "number": 5,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/038000.webp"
        },
        {
          "start": 42,
          "end": 48,
          "frame": 46,
          "kind": "app",
          "surface": "Deck artifact and cover",
          "description": "A presentation file opens beside the conversation.",
          "treatment": "Split view establishes the saved deck.",
          "reuse": "Open a deliverable rather than stopping at its filename.",
          "id": "codex-sales-06",
          "number": 6,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=46s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/046000.webp"
        },
        {
          "start": 48,
          "end": 51,
          "frame": 50,
          "kind": "app",
          "surface": "Priority and account slides",
          "description": "The deck advances from ranking to a specific account plan.",
          "treatment": "Page thumbnails preserve deck context.",
          "reuse": "Pair the overall decision with a representative detail page.",
          "id": "codex-sales-07",
          "number": 7,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/050000.webp"
        },
        {
          "start": 51,
          "end": 58,
          "frame": 54,
          "kind": "app",
          "surface": "Additional account plans",
          "description": "Two further account pages use the same structured layout.",
          "treatment": "Matched pages make differences in content easier to compare.",
          "reuse": "Use repeated structure for parallel examples.",
          "id": "codex-sales-08",
          "number": 8,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=51s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/054000.webp"
        },
        {
          "start": 58,
          "end": 72,
          "frame": 66,
          "kind": "app",
          "surface": "Outreach request",
          "description": "The conversation receives a request to prepare outreach for the selected accounts.",
          "treatment": "Long composer beat beneath the deck result.",
          "reuse": "Shorten typing in production without changing the request's meaning.",
          "id": "codex-sales-09",
          "number": 9,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/066000.webp"
        },
        {
          "start": 72,
          "end": 80,
          "frame": 78,
          "kind": "app",
          "surface": "Draft summary",
          "description": "A response lists prepared draft recipients.",
          "treatment": "Compact result table in the conversation.",
          "reuse": "Distinguish a prepared draft from a completed send.",
          "id": "codex-sales-10",
          "number": 10,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=72s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/078000.webp"
        },
        {
          "start": 80,
          "end": 84,
          "frame": 82,
          "kind": "app",
          "surface": "Gmail drafts destination",
          "description": "The browser opens Gmail and its draft list.",
          "treatment": "External-app establishment after the summary.",
          "reuse": "Verify that the artifact exists in its destination.",
          "id": "codex-sales-11",
          "number": 11,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/082000.webp"
        },
        {
          "start": 84,
          "end": 92,
          "frame": 88,
          "kind": "app",
          "surface": "Draft-email inspection",
          "description": "Two draft compose windows appear side by side.",
          "treatment": "Close crop favors subject, recipient, and message body.",
          "reuse": "Compare representative drafts while keeping their unsent state clear.",
          "id": "codex-sales-12",
          "number": 12,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=84s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/088000.webp"
        },
        {
          "start": 92,
          "end": 114,
          "frame": 104,
          "kind": "app",
          "surface": "Recurring-work request",
          "description": "The conversation returns and a longer scheduling request is composed.",
          "treatment": "Extended static task context.",
          "reuse": "Treat this as one authoring beat, not many nearly identical examples.",
          "id": "codex-sales-13",
          "number": 13,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=92s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/104000.webp"
        },
        {
          "start": 114,
          "end": 124,
          "frame": 120,
          "kind": "app",
          "surface": "Schedule response",
          "description": "A response describes the recurring prospecting cadence.",
          "treatment": "Conversation result before the task detail opens.",
          "reuse": "Make the requested recurrence explicit.",
          "id": "codex-sales-14",
          "number": 14,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=114s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=120s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/120000.webp"
        },
        {
          "start": 124,
          "end": 132,
          "frame": 128,
          "kind": "app",
          "surface": "Scheduled-task detail",
          "description": "A task pane shows its instructions, status, and scheduling information.",
          "treatment": "Artifact pane expands to a readable detail view.",
          "reuse": "Prove the schedule with real task settings.",
          "id": "codex-sales-15",
          "number": 15,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=124s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/128000.webp"
        },
        {
          "start": 132,
          "end": 136,
          "frame": 134,
          "kind": "app",
          "surface": "Task and conversation context",
          "description": "The view widens to show the task next to its conversation.",
          "treatment": "Re-establishing split view.",
          "reuse": "End on both the saved configuration and its origin.",
          "id": "codex-sales-16",
          "number": 16,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=132s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=134s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/134000.webp"
        },
        {
          "start": 136,
          "end": 137.754,
          "frame": 136,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending closes the workflow.",
          "treatment": "Minimal final card.",
          "reuse": "Use an original all-hands ending.",
          "id": "codex-sales-17",
          "number": 17,
          "film": "codex-sales",
          "film_title": "Build sales account strategies and outreach with Codex",
          "source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=136s",
          "frame_source_url": "https://www.youtube.com/watch?v=4YkOAYNZVOQ&t=136s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-sales/136000.webp"
        }
      ]
    },
    {
      "slug": "codex-earnings",
      "id": "Rlju1Z9e110",
      "title": "Analyze earnings and update your investment thesis with Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-12",
      "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110",
      "duration": 88.694,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "994db9ddc1e988d0eb3fe0d75c9a795cbd10a8ac305da44294f61c7c9cef4045",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 66,
      "summary": "A research request opens into a long-form analytical report. Alternating overview and close detail makes charts, scenarios, and source limitations the visual subjects.",
      "borrow": "Use a report's hierarchy to structure the demo: conclusion, evidence, scenarios, next actions, and sources. Enlarge dense comparisons selectively.",
      "avoid": "This is a filmmaking study, not financial guidance or verification of the report's claims. Source-film figures and conclusions must not become all-hands evidence.",
      "selection_reason": "Financial research, sourced analysis, and an updated artifact",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 15,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "app",
          "surface": "Research workspace",
          "description": "An empty app window leads into a new research request.",
          "treatment": "Whole-window establishment.",
          "reuse": "Avoid retaining a long empty hold in a narrated presentation.",
          "id": "codex-earnings-01",
          "number": 1,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/008000.webp"
        },
        {
          "start": 12,
          "end": 24,
          "frame": 20,
          "kind": "app",
          "surface": "Research prompt",
          "description": "A detailed earnings-analysis prompt is entered with a selected workflow.",
          "treatment": "Progressive composer crop.",
          "reuse": "Frame the constraints that determine the output.",
          "id": "codex-earnings-02",
          "number": 2,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/020000.webp"
        },
        {
          "start": 24,
          "end": 35,
          "frame": 30,
          "kind": "app",
          "surface": "Research process",
          "description": "The response outlines analysis and source-gathering work.",
          "treatment": "Conversation remains in the established app frame.",
          "reuse": "Keep process claims tied to visible source or tool activity.",
          "id": "codex-earnings-03",
          "number": 3,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/030000.webp"
        },
        {
          "start": 35,
          "end": 41,
          "frame": 38,
          "kind": "app",
          "surface": "Source-gathering detail",
          "description": "A closer view shows source-related status and tool rows.",
          "treatment": "Text-focused crop excludes excess window chrome.",
          "reuse": "Enlarge provenance-bearing details rather than generic progress.",
          "id": "codex-earnings-04",
          "number": 4,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=35s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/038000.webp"
        },
        {
          "start": 41,
          "end": 46,
          "frame": 44,
          "kind": "app",
          "surface": "Report artifact",
          "description": "The response returns a linked analytical report.",
          "treatment": "Wider task view restores context before opening.",
          "reuse": "Show the saved artifact as the outcome of the request.",
          "id": "codex-earnings-05",
          "number": 5,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/044000.webp"
        },
        {
          "start": 46,
          "end": 48,
          "frame": 46,
          "kind": "app",
          "surface": "Report cover",
          "description": "A green report header opens inside the app browser.",
          "treatment": "Whole-page result reveal.",
          "reuse": "Give a complex report a clear title and date context.",
          "id": "codex-earnings-06",
          "number": 6,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=46s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/046000.webp"
        },
        {
          "start": 48,
          "end": 52,
          "frame": 50,
          "kind": "app",
          "surface": "Thesis and decision summary",
          "description": "Two summary panels organize the report's conclusion and decision context.",
          "treatment": "Side-by-side information blocks.",
          "reuse": "Separate the conclusion from the caveats that qualify it.",
          "id": "codex-earnings-07",
          "number": 7,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/050000.webp"
        },
        {
          "start": 52,
          "end": 56,
          "frame": 54,
          "kind": "app",
          "surface": "Growth-driver comparison",
          "description": "Four explanatory columns appear below the summary.",
          "treatment": "Stable page width supports comparison.",
          "reuse": "Use parallel layout for a small set of distinct factors.",
          "id": "codex-earnings-08",
          "number": 8,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/054000.webp"
        },
        {
          "start": 56,
          "end": 58,
          "frame": 56,
          "kind": "app",
          "surface": "Durability table",
          "description": "A structured table compares signals and considerations.",
          "treatment": "Brief interior report view.",
          "reuse": "Show an analytical distinction instead of another cover shot.",
          "id": "codex-earnings-09",
          "number": 9,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=56s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/056000.webp"
        },
        {
          "start": 58,
          "end": 62,
          "frame": 60,
          "kind": "app",
          "surface": "Chart and interpretation",
          "description": "A line chart sits beside an explanatory panel.",
          "treatment": "Evidence and interpretation share a row.",
          "reuse": "Keep the chart's meaning close to the chart.",
          "id": "codex-earnings-10",
          "number": 10,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/060000.webp"
        },
        {
          "start": 62,
          "end": 65,
          "frame": 64,
          "kind": "app",
          "surface": "Quality-of-results panels",
          "description": "Two panels organize the report's result-quality discussion.",
          "treatment": "Repeated report-card system.",
          "reuse": "Use consistent containers for successive analytical questions.",
          "id": "codex-earnings-11",
          "number": 11,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/064000.webp"
        },
        {
          "start": 65,
          "end": 69,
          "frame": 68,
          "kind": "app",
          "surface": "Quarterly charts",
          "description": "A closer view moves from revenue bars to a multi-series line chart.",
          "treatment": "Detail crops travel across the chart row.",
          "reuse": "Prioritize one chart at a time when labels are dense.",
          "id": "codex-earnings-12",
          "number": 12,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=65s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/068000.webp"
        },
        {
          "start": 69,
          "end": 75,
          "frame": 72,
          "kind": "app",
          "surface": "Scenario comparison",
          "description": "Three scenario columns are established and then enlarged.",
          "treatment": "Wide-to-detail treatment over a fixed report layout.",
          "reuse": "Keep scenarios visibly distinct from observed results.",
          "id": "codex-earnings-13",
          "number": 13,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=69s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/072000.webp"
        },
        {
          "start": 75,
          "end": 81,
          "frame": 78,
          "kind": "app",
          "surface": "Monitoring checklist",
          "description": "A table organizes follow-up checks and decision triggers.",
          "treatment": "Stable table view after the scenario section.",
          "reuse": "End analytical content with specific next observations.",
          "id": "codex-earnings-14",
          "number": 14,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=75s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/078000.webp"
        },
        {
          "start": 81,
          "end": 85,
          "frame": 82,
          "kind": "app",
          "surface": "Sources and limitations",
          "description": "A source ledger and limitations panel close the report walkthrough.",
          "treatment": "Two-column evidence and caveat ending.",
          "reuse": "Do not crop away limitations that matter to the claim.",
          "id": "codex-earnings-15",
          "number": 15,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=81s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/082000.webp"
        },
        {
          "start": 85,
          "end": 88.694,
          "frame": 88,
          "kind": "title",
          "surface": "End identity",
          "description": "The report gives way to a white identity ending.",
          "treatment": "Clean final reset.",
          "reuse": "Use the presentation's own identity.",
          "id": "codex-earnings-16",
          "number": 16,
          "film": "codex-earnings",
          "film_title": "Analyze earnings and update your investment thesis with Codex",
          "source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=85s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rlju1Z9e110&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-earnings/088000.webp"
        }
      ]
    },
    {
      "slug": "computer-use",
      "id": "dB6pOolO7io",
      "title": "ChatGPT can now complete tasks on your computer",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-07-16",
      "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io",
      "duration": 79.934,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "d0363a9494a429830df74b4e8c4a9579dc545732889f3fd8a8d4ecf2a3afa6a2",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 34,
      "summary": "A presenter-led demo spans browser research, an annotated web page, an expense form, and a native Notes task. It makes application boundaries visible.",
      "borrow": "Keep external applications recognizable, preserve permission states, and use real page annotation to turn a broad task into a specific follow-up.",
      "avoid": "Do not borrow the inset presenter for the companion video or imply a submitted expense from a populated form alone. The native-app permission step is material.",
      "selection_reason": "Computer-use context, actions, and visible task progress",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 12,
      "shots": [
        {
          "start": 0,
          "end": 6,
          "frame": 4,
          "kind": "live",
          "surface": "Physical opening and title",
          "description": "A presenter arrives at the desk while a topic title overlays the laptop shot.",
          "treatment": "Wide-to-object opening with large type.",
          "reuse": "Use a brief contextual opening, not a second talking head.",
          "id": "computer-use-01",
          "number": 1,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/004000.webp"
        },
        {
          "start": 6,
          "end": 14,
          "frame": 10,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "Wide and close speaker views introduce the demonstration.",
          "treatment": "Alternating desk-camera scales.",
          "reuse": "Keep the explanation in the user-supplied recording.",
          "id": "computer-use-02",
          "number": 2,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/010000.webp"
        },
        {
          "start": 14,
          "end": 18,
          "frame": 16,
          "kind": "app",
          "surface": "Browser research request",
          "description": "A prompt asks for feedback from a community website.",
          "treatment": "Composer crop with a small presenter inset.",
          "reuse": "Show the task's source and scope before browser navigation.",
          "id": "computer-use-03",
          "number": 3,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/016000.webp"
        },
        {
          "start": 18,
          "end": 21,
          "frame": 20,
          "kind": "app",
          "surface": "Browser search results",
          "description": "A browser output opens a community search-results page.",
          "treatment": "Output rail leads to the destination page.",
          "reuse": "Retain the handoff between task and browsing surface.",
          "id": "computer-use-04",
          "number": 4,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/020000.webp"
        },
        {
          "start": 21,
          "end": 24,
          "frame": 22,
          "kind": "app",
          "surface": "Source page selection",
          "description": "A community topic is opened and text is highlighted.",
          "treatment": "Close browser framing makes the source readable.",
          "reuse": "Show source material rather than only a generated summary.",
          "id": "computer-use-05",
          "number": 5,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=21s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/022000.webp"
        },
        {
          "start": 24,
          "end": 29,
          "frame": 26,
          "kind": "app",
          "surface": "Research summary and sources",
          "description": "The conversation and source page appear together during the summary.",
          "treatment": "Split view links conclusions to source context.",
          "reuse": "Keep a relevant source visible beside the claim.",
          "id": "computer-use-06",
          "number": 6,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/026000.webp"
        },
        {
          "start": 29,
          "end": 32,
          "frame": 30,
          "kind": "app",
          "surface": "Follow-up source page",
          "description": "A positive-feedback topic fills the browser pane.",
          "treatment": "Close crop establishes the next annotation target.",
          "reuse": "Show the selected item before attaching a new instruction.",
          "id": "computer-use-07",
          "number": 7,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=29s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/030000.webp"
        },
        {
          "start": 32,
          "end": 37,
          "frame": 34,
          "kind": "app",
          "surface": "Page annotation",
          "description": "The topic heading is highlighted and a contextual follow-up is entered.",
          "treatment": "Native selection plus an inline prompt.",
          "reuse": "Make the revision target unambiguous without a decorative arrow.",
          "id": "computer-use-08",
          "number": 8,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/034000.webp"
        },
        {
          "start": 37,
          "end": 43,
          "frame": 40,
          "kind": "app",
          "surface": "Second task request",
          "description": "The app returns to a fresh composer for another task.",
          "treatment": "Wide reset separates the examples.",
          "reuse": "Use a recognizable content transition between unrelated workflows.",
          "id": "computer-use-09",
          "number": 9,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=37s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/040000.webp"
        },
        {
          "start": 43,
          "end": 47,
          "frame": 46,
          "kind": "app",
          "surface": "Expense application",
          "description": "Browser navigation reaches a new-transaction form.",
          "treatment": "Destination chrome remains visible.",
          "reuse": "Establish the real app receiving the action.",
          "id": "computer-use-10",
          "number": 10,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=43s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=46s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/046000.webp"
        },
        {
          "start": 47,
          "end": 54,
          "frame": 50,
          "kind": "app",
          "surface": "Populated expense form",
          "description": "Merchant, date, and amount fields appear in the form.",
          "treatment": "Close form view followed by a wider result.",
          "reuse": "Describe the visible prepared state, not an unshown submission.",
          "id": "computer-use-11",
          "number": 11,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=47s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/050000.webp"
        },
        {
          "start": 54,
          "end": 59,
          "frame": 56,
          "kind": "app",
          "surface": "Native Notes request",
          "description": "A fresh request asks to update a Notes list.",
          "treatment": "Composer reset makes the application change explicit.",
          "reuse": "Separate browser work from native-app control.",
          "id": "computer-use-12",
          "number": 12,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/056000.webp"
        },
        {
          "start": 59,
          "end": 63,
          "frame": 62,
          "kind": "app",
          "surface": "Native-app permission",
          "description": "The task shows a permission question with the Notes window behind it.",
          "treatment": "Overlapping windows preserve the consequential approval.",
          "reuse": "Never edit away a meaningful permission step.",
          "id": "computer-use-13",
          "number": 13,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=59s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/062000.webp"
        },
        {
          "start": 63,
          "end": 68,
          "frame": 66,
          "kind": "app",
          "surface": "Notes result",
          "description": "The Notes app displays the resulting task list.",
          "treatment": "Native window in front of the conversation.",
          "reuse": "Verify the result in the application where it is used.",
          "id": "computer-use-14",
          "number": 14,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=63s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/066000.webp"
        },
        {
          "start": 68,
          "end": 77,
          "frame": 72,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The film returns to the desk presenter.",
          "treatment": "Stable human closing shot.",
          "reuse": "Let the talking head carry the conclusion while visuals settle.",
          "id": "computer-use-15",
          "number": 15,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/072000.webp"
        },
        {
          "start": 77,
          "end": 79.934,
          "frame": 78,
          "kind": "title",
          "surface": "End identity",
          "description": "A white brand ending replaces the presenter.",
          "treatment": "Minimal closing card.",
          "reuse": "Use an original final visual.",
          "id": "computer-use-16",
          "number": 16,
          "film": "computer-use",
          "film_title": "ChatGPT can now complete tasks on your computer",
          "source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=77s",
          "frame_source_url": "https://www.youtube.com/watch?v=dB6pOolO7io&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-use/078000.webp"
        }
      ]
    },
    {
      "slug": "computer-pip",
      "id": "IYYTI73J7Rg",
      "title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-07-10",
      "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg",
      "duration": 55.474,
      "width": 1920,
      "height": 1080,
      "fps": 24.00014425330881,
      "sha256": "f340e7a191f5eed66f690aaa063cafad547b1ae3c65984470cbfcb2d9cccf612",
      "family": "Product film",
      "priority": "Selective",
      "poster": 28,
      "summary": "A scenic desktop and animated companion frame a picture-in-picture demonstration. Small working windows stay visible while the foreground context changes.",
      "borrow": "Use persistent position to help viewers track a background task. Re-establish the desktop before demonstrating concurrent windows.",
      "avoid": "The animated character and desktop are source identity, not your product assets. The film's speed claim is promotional; this study does not measure latency.",
      "selection_reason": "Picture-in-picture browser activity and parallel work",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 7,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "title",
          "surface": "Capability statement",
          "description": "A computer-use statement appears over a night landscape.",
          "treatment": "Centered type on a scenic desktop.",
          "reuse": "Use your own visual identity for a brief capability introduction.",
          "id": "computer-pip-01",
          "number": 1,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/002000.webp"
        },
        {
          "start": 4,
          "end": 10,
          "frame": 8,
          "kind": "graphic",
          "surface": "Companion and cursor",
          "description": "A small character and luminous pointer move over the landscape.",
          "treatment": "Isolated animated anchors before app windows appear.",
          "reuse": "Use a persistent marker only if it clarifies task state.",
          "id": "computer-pip-02",
          "number": 2,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/008000.webp"
        },
        {
          "start": 10,
          "end": 14,
          "frame": 12,
          "kind": "app",
          "surface": "Desktop task context",
          "description": "A composer and a slide application appear as separate windows.",
          "treatment": "Wide spatial establishment.",
          "reuse": "Show which applications participate before zooming into one.",
          "id": "computer-pip-03",
          "number": 3,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/012000.webp"
        },
        {
          "start": 14,
          "end": 19,
          "frame": 16,
          "kind": "app",
          "surface": "Slide-update request",
          "description": "The composer requests slide changes using an attached note.",
          "treatment": "Closer task framing with the slide window retained at the edge.",
          "reuse": "Keep source material and destination understandable.",
          "id": "computer-pip-04",
          "number": 4,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/016000.webp"
        },
        {
          "start": 19,
          "end": 22,
          "frame": 20,
          "kind": "app",
          "surface": "Embedded live preview",
          "description": "A small slide-window preview appears beside the task response.",
          "treatment": "Detail crop emphasizes the miniature working surface.",
          "reuse": "Show how background work can remain inspectable.",
          "id": "computer-pip-05",
          "number": 5,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=19s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/020000.webp"
        },
        {
          "start": 22,
          "end": 25,
          "frame": 24,
          "kind": "title",
          "surface": "Picture-in-picture chapter",
          "description": "A short statement introduces the picture-in-picture treatment.",
          "treatment": "White typographic reset.",
          "reuse": "Use a chapter card to explain a new viewing mode.",
          "id": "computer-pip-06",
          "number": 6,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/024000.webp"
        },
        {
          "start": 25,
          "end": 29,
          "frame": 28,
          "kind": "app",
          "surface": "Detached working preview",
          "description": "The slide preview is shown outside the main conversation window.",
          "treatment": "Small floating app view against the desktop.",
          "reuse": "Preserve the preview's spatial anchor through a context change.",
          "id": "computer-pip-07",
          "number": 7,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=25s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/028000.webp"
        },
        {
          "start": 29,
          "end": 35,
          "frame": 32,
          "kind": "app",
          "surface": "Concurrent browser and slides",
          "description": "A browser occupies the foreground while the slide preview remains below.",
          "treatment": "Layered windows make concurrency visible.",
          "reuse": "Keep the background task large enough to recognize.",
          "id": "computer-pip-08",
          "number": 8,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=29s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/032000.webp"
        },
        {
          "start": 35,
          "end": 38,
          "frame": 36,
          "kind": "title",
          "surface": "Multitasking statement",
          "description": "Another short card separates the next examples.",
          "treatment": "Same white chapter-card grammar.",
          "reuse": "Give viewers a readable reset between dense window sequences.",
          "id": "computer-pip-09",
          "number": 9,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=35s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/036000.webp"
        },
        {
          "start": 38,
          "end": 44,
          "frame": 42,
          "kind": "app",
          "surface": "Stacked task windows",
          "description": "Chat, spreadsheet, and shopping-browser windows form a compact stack.",
          "treatment": "Layered montage of recognizable application surfaces.",
          "reuse": "Treat this as breadth evidence, not a complete walkthrough of each app.",
          "id": "computer-pip-10",
          "number": 10,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=38s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=42s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/042000.webp"
        },
        {
          "start": 44,
          "end": 49,
          "frame": 48,
          "kind": "app",
          "surface": "Calendar and completion",
          "description": "A calendar-like task window fronts the stack before a completion mark appears.",
          "treatment": "Persistent companion beside changing app content.",
          "reuse": "Keep a completion indicator attached to the task it describes.",
          "id": "computer-pip-11",
          "number": 11,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/048000.webp"
        },
        {
          "start": 49,
          "end": 55.474,
          "frame": 52,
          "kind": "title",
          "surface": "End identity",
          "description": "The desktop gives way to a white identity ending.",
          "treatment": "Simple final reset.",
          "reuse": "Use the presentation's own ending.",
          "id": "computer-pip-12",
          "number": 12,
          "film": "computer-pip",
          "film_title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
          "source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=49s",
          "frame_source_url": "https://www.youtube.com/watch?v=IYYTI73J7Rg&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-pip/052000.webp"
        }
      ]
    },
    {
      "slug": "work-documents",
      "id": "E3dDr_QtBuo",
      "title": "Work with docs, sheets, and slides in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-07-23",
      "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo",
      "duration": 87.634,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "a26e0d15e19bf589eaae945b803ed2f7224b53c1cd8c6ff498ff4fd84c52dc6b",
      "family": "Presenter demo",
      "priority": "Primary",
      "poster": 38,
      "summary": "A document, spreadsheet, and slide deck remain in one artifact workspace. Selection-driven changes link the launch plan, analysis, and final presentation.",
      "borrow": "Establish the three source formats, show a targeted change in each, then prove the presentation can be edited in its destination application.",
      "avoid": "The inset presenter belongs to the source film. Keep actual document permissions and editability truthful; a rendered preview alone is not evidence of a fully editable file.",
      "selection_reason": "Document, sheet, and slide surfaces in one workflow",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 17,
      "shots": [
        {
          "start": 0,
          "end": 6,
          "frame": 2,
          "kind": "live",
          "surface": "Presenter and topic title",
          "description": "The desk opening carries a large document-and-slide topic overlay.",
          "treatment": "Physical context before the screen demonstration.",
          "reuse": "Let the separate talking head introduce the task.",
          "id": "work-documents-01",
          "number": 1,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/002000.webp"
        },
        {
          "start": 6,
          "end": 8,
          "frame": 6,
          "kind": "app",
          "surface": "Document source",
          "description": "A launch-plan document opens beside the task conversation.",
          "treatment": "Full artifact workspace establishes the first source.",
          "reuse": "Show the original document before modifying it.",
          "id": "work-documents-02",
          "number": 2,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/006000.webp"
        },
        {
          "start": 8,
          "end": 10,
          "frame": 8,
          "kind": "app",
          "surface": "Spreadsheet source",
          "description": "A performance spreadsheet replaces the document in the artifact pane.",
          "treatment": "Same workspace, different file tab.",
          "reuse": "Keep the common container while identifying another input.",
          "id": "work-documents-03",
          "number": 3,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/008000.webp"
        },
        {
          "start": 10,
          "end": 12,
          "frame": 10,
          "kind": "app",
          "surface": "Slide-template source",
          "description": "A slide template appears with its thumbnail rail.",
          "treatment": "Repeated file-tab grammar.",
          "reuse": "Identify a template separately from a generated deck.",
          "id": "work-documents-04",
          "number": 4,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/010000.webp"
        },
        {
          "start": 12,
          "end": 19,
          "frame": 16,
          "kind": "app",
          "surface": "Document update request",
          "description": "A prompt asks for the plan to incorporate linked discussion decisions.",
          "treatment": "Composer and source document share a close frame.",
          "reuse": "Keep the source of a requested update visible.",
          "id": "work-documents-05",
          "number": 5,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/016000.webp"
        },
        {
          "start": 19,
          "end": 24,
          "frame": 22,
          "kind": "app",
          "surface": "Updated plan",
          "description": "The document displays revised sections and a milestone table.",
          "treatment": "Result scroll within the same artifact pane.",
          "reuse": "Reveal the changed section, not another unchanged cover.",
          "id": "work-documents-06",
          "number": 6,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=19s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/022000.webp"
        },
        {
          "start": 24,
          "end": 28,
          "frame": 26,
          "kind": "app",
          "surface": "Table annotation",
          "description": "A selected table receives an instruction about deadlines and dependencies.",
          "treatment": "Native selection bounds the revision target.",
          "reuse": "Use a precise selection for a precise edit.",
          "id": "work-documents-07",
          "number": 7,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/026000.webp"
        },
        {
          "start": 28,
          "end": 34,
          "frame": 32,
          "kind": "app",
          "surface": "Reorganized table result",
          "description": "The revised plan is shown with its updated table structure.",
          "treatment": "Wider view re-establishes document context.",
          "reuse": "Compare the structural change in the same document.",
          "id": "work-documents-08",
          "number": 8,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/032000.webp"
        },
        {
          "start": 34,
          "end": 37,
          "frame": 36,
          "kind": "app",
          "surface": "Spreadsheet selection",
          "description": "The performance sheet opens and a range is selected.",
          "treatment": "Crop follows the data region rather than the whole app.",
          "reuse": "Show which values feed the analysis.",
          "id": "work-documents-09",
          "number": 9,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/036000.webp"
        },
        {
          "start": 37,
          "end": 43,
          "frame": 40,
          "kind": "app",
          "surface": "Spreadsheet analysis instruction",
          "description": "An inline prompt requests comparisons over the selected range.",
          "treatment": "Instruction overlays real selected cells.",
          "reuse": "Keep the requested comparison adjacent to its inputs.",
          "id": "work-documents-10",
          "number": 10,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=37s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/040000.webp"
        },
        {
          "start": 43,
          "end": 46,
          "frame": 44,
          "kind": "app",
          "surface": "Workbook result",
          "description": "The conversation reports chart work while the workbook remains open.",
          "treatment": "Task summary and spreadsheet share the frame.",
          "reuse": "Distinguish the generated analysis from the original source table.",
          "id": "work-documents-11",
          "number": 11,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=43s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/044000.webp"
        },
        {
          "start": 46,
          "end": 51,
          "frame": 48,
          "kind": "app",
          "surface": "Template-based deck request",
          "description": "A prompt references the template, updated plan, and charts.",
          "treatment": "Template preview remains beside the request.",
          "reuse": "Show all relevant inputs to the assembled presentation.",
          "id": "work-documents-12",
          "number": 12,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/048000.webp"
        },
        {
          "start": 51,
          "end": 55,
          "frame": 54,
          "kind": "app",
          "surface": "Generated deck overview",
          "description": "A new cover and message slide appear in the deck viewer.",
          "treatment": "Thumbnail rail reveals a complete presentation structure.",
          "reuse": "Inspect an interior page after the cover.",
          "id": "work-documents-13",
          "number": 13,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=51s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/054000.webp"
        },
        {
          "start": 55,
          "end": 58,
          "frame": 56,
          "kind": "app",
          "surface": "Generated chart slide",
          "description": "A chart page shows the analytical result in presentation form.",
          "treatment": "Close deck view with page navigation retained.",
          "reuse": "Prove the chart survived the document-to-deck handoff.",
          "id": "work-documents-14",
          "number": 14,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=55s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/056000.webp"
        },
        {
          "start": 58,
          "end": 63,
          "frame": 60,
          "kind": "app",
          "surface": "Reusable-template request",
          "description": "A follow-up asks to turn the completed deck into a template.",
          "treatment": "Composer below the saved presentation artifact.",
          "reuse": "Separate reuse configuration from the one-off output.",
          "id": "work-documents-15",
          "number": 15,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/060000.webp"
        },
        {
          "start": 63,
          "end": 67,
          "frame": 64,
          "kind": "app",
          "surface": "Template result",
          "description": "A reusable template link appears beside the deck.",
          "treatment": "Conversation and artifact stay together.",
          "reuse": "Leave a visible reusable handoff, not only a verbal claim.",
          "id": "work-documents-16",
          "number": 16,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=63s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/064000.webp"
        },
        {
          "start": 67,
          "end": 73,
          "frame": 70,
          "kind": "app",
          "surface": "PowerPoint editing",
          "description": "The deck opens in PowerPoint with a formatting request and changed chart text.",
          "treatment": "Native editor and assistant pane provide destination context.",
          "reuse": "Validate editability in the application people will actually use.",
          "id": "work-documents-17",
          "number": 17,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=67s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/070000.webp"
        },
        {
          "start": 73,
          "end": 78,
          "frame": 76,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The speaker returns after the external-editor demonstration.",
          "treatment": "Wide desk shot.",
          "reuse": "Let the narration summarize while the presentation rests.",
          "id": "work-documents-18",
          "number": 18,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=73s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/076000.webp"
        },
        {
          "start": 78,
          "end": 83,
          "frame": 80,
          "kind": "app",
          "surface": "Artifact recap",
          "description": "The film revisits the updated document, workbook chart, and deck.",
          "treatment": "Matched workspace tabs form a short result recap.",
          "reuse": "Recap distinct outputs rather than replaying the same screen.",
          "id": "work-documents-19",
          "number": 19,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/080000.webp"
        },
        {
          "start": 83,
          "end": 85,
          "frame": 84,
          "kind": "live",
          "surface": "Presenter ending",
          "description": "A short desk shot closes the spoken demonstration.",
          "treatment": "Stable human finish.",
          "reuse": "Keep any wave or pause in the separate supplied recording.",
          "id": "work-documents-20",
          "number": 20,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=83s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/084000.webp"
        },
        {
          "start": 85,
          "end": 87.634,
          "frame": 86,
          "kind": "title",
          "surface": "End identity",
          "description": "The film resolves to a white identity card.",
          "treatment": "Clean visual stop.",
          "reuse": "Use the presentation's own ending.",
          "id": "work-documents-21",
          "number": 21,
          "film": "work-documents",
          "film_title": "Work with docs, sheets, and slides in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=85s",
          "frame_source_url": "https://www.youtube.com/watch?v=E3dDr_QtBuo&t=86s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-documents/086000.webp"
        }
      ]
    },
    {
      "slug": "chatgpt-plugins",
      "id": "pKwRNdDtai0",
      "title": "Plugins in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-07-21",
      "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0",
      "duration": 119.934,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "2bebde8bd74836b6f0b163b37b71d60faa9a7e3aa894a277d4af3dd785e7dc91",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 92,
      "summary": "A presenter-led overview connects a plugin catalog to two tasks: creative output and a multi-source meeting brief. The source rail is the clearest evidence treatment.",
      "borrow": "Move from tool discovery to a concrete request, then expose the sources behind a result. Keep output examples distinct from the tools that produced them.",
      "avoid": "Long presenter passages and dictation waveforms are not app-workflow proof by themselves. The study does not infer spoken content from the waveform or audit current plugin availability.",
      "selection_reason": "Connected application discovery and plugin interaction",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 10,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Topic opening",
          "description": "A seated presenter is overlaid with a tools-and-plugins title.",
          "treatment": "Large type arranged around the speaker.",
          "reuse": "Use a short title without duplicating the talking head.",
          "id": "chatgpt-plugins-01",
          "number": 1,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/002000.webp"
        },
        {
          "start": 4,
          "end": 16,
          "frame": 10,
          "kind": "live",
          "surface": "Presenter introduction",
          "description": "Close and wide presenter shots carry the setup.",
          "treatment": "Alternating scales in the same room.",
          "reuse": "Keep this explanatory role in the supplied recording.",
          "id": "chatgpt-plugins-02",
          "number": 2,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/010000.webp"
        },
        {
          "start": 16,
          "end": 18,
          "frame": 16,
          "kind": "app",
          "surface": "Plugin catalog",
          "description": "A catalog displays integrations and tool categories.",
          "treatment": "Whole-window discovery view.",
          "reuse": "Establish where a capability is selected.",
          "id": "chatgpt-plugins-03",
          "number": 3,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/016000.webp"
        },
        {
          "start": 18,
          "end": 20,
          "frame": 18,
          "kind": "app",
          "surface": "Drive task example",
          "description": "A composer shows a file-oriented task with an integration chip.",
          "treatment": "Tight prompt crop.",
          "reuse": "Tie the selected tool to a specific user task.",
          "id": "chatgpt-plugins-04",
          "number": 4,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/018000.webp"
        },
        {
          "start": 20,
          "end": 24,
          "frame": 22,
          "kind": "app",
          "surface": "Slack task example",
          "description": "The composer switches to a communication-oriented example.",
          "treatment": "Matched framing across two task categories.",
          "reuse": "Compare distinct workflows with consistent visual scale.",
          "id": "chatgpt-plugins-05",
          "number": 5,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/022000.webp"
        },
        {
          "start": 24,
          "end": 44,
          "frame": 34,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "The presenter returns for an extended explanation.",
          "treatment": "Wide and close desk shots.",
          "reuse": "Avoid filling a long explanation with meaningless UI motion.",
          "id": "chatgpt-plugins-06",
          "number": 6,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/034000.webp"
        },
        {
          "start": 44,
          "end": 54,
          "frame": 48,
          "kind": "app",
          "surface": "Creative-task dictation",
          "description": "A waveform occupies the composer during a voice-input sequence.",
          "treatment": "Close input-state crop with a presenter inset.",
          "reuse": "Show the actual voice-input state without adding duplicate narration.",
          "id": "chatgpt-plugins-07",
          "number": 7,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/048000.webp"
        },
        {
          "start": 54,
          "end": 60,
          "frame": 58,
          "kind": "app",
          "surface": "Creative output options",
          "description": "Several school-event flyer designs appear in the conversation.",
          "treatment": "Option strip followed by larger individual previews.",
          "reuse": "Show breadth, then one readable representative output.",
          "id": "chatgpt-plugins-08",
          "number": 8,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=58s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/058000.webp"
        },
        {
          "start": 60,
          "end": 78,
          "frame": 68,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The speaker introduces the next task between UI sequences.",
          "treatment": "Human chapter break.",
          "reuse": "Use a content transition in the companion presentation.",
          "id": "chatgpt-plugins-09",
          "number": 9,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/068000.webp"
        },
        {
          "start": 78,
          "end": 88,
          "frame": 82,
          "kind": "app",
          "surface": "Meeting-task dictation",
          "description": "A second voice-input waveform is shown before task submission.",
          "treatment": "Same composer grammar for a different request.",
          "reuse": "Make the next task context explicit rather than replaying a generic waveform.",
          "id": "chatgpt-plugins-10",
          "number": 10,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/082000.webp"
        },
        {
          "start": 88,
          "end": 91,
          "frame": 90,
          "kind": "app",
          "surface": "Connected-source activity",
          "description": "The task lists interactions with communication, file, and calendar sources.",
          "treatment": "Close status-row crop.",
          "reuse": "Show which sources contribute to the answer.",
          "id": "chatgpt-plugins-11",
          "number": 11,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/090000.webp"
        },
        {
          "start": 91,
          "end": 94,
          "frame": 92,
          "kind": "app",
          "surface": "Source rail",
          "description": "A dedicated source list names four connected services.",
          "treatment": "Isolated rail crop improves provenance legibility.",
          "reuse": "Use a source list as evidence, not decorative integration logos.",
          "id": "chatgpt-plugins-12",
          "number": 12,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=91s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/092000.webp"
        },
        {
          "start": 94,
          "end": 97,
          "frame": 96,
          "kind": "app",
          "surface": "Meeting brief",
          "description": "An executive-review brief displays summary and decision sections.",
          "treatment": "Whole result view with sources retained at the side.",
          "reuse": "Keep the answer connected to its source context.",
          "id": "chatgpt-plugins-13",
          "number": 13,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=94s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/096000.webp"
        },
        {
          "start": 97,
          "end": 100,
          "frame": 98,
          "kind": "app",
          "surface": "Agenda and risks",
          "description": "The brief scrolls to an agenda and risk table.",
          "treatment": "Interior content after the opening summary.",
          "reuse": "Inspect an actionable section, not only a heading.",
          "id": "chatgpt-plugins-14",
          "number": 14,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=97s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=98s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/098000.webp"
        },
        {
          "start": 100,
          "end": 118,
          "frame": 108,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "Wide and close presenter shots carry the closing explanation.",
          "treatment": "Return to the established human composition.",
          "reuse": "Let the talking head finish while visuals settle.",
          "id": "chatgpt-plugins-15",
          "number": 15,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/108000.webp"
        },
        {
          "start": 118,
          "end": 119.934,
          "frame": 118,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending closes the film.",
          "treatment": "Minimal final card.",
          "reuse": "Use original presentation identity.",
          "id": "chatgpt-plugins-16",
          "number": 16,
          "film": "chatgpt-plugins",
          "film_title": "Plugins in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=118s",
          "frame_source_url": "https://www.youtube.com/watch?v=pKwRNdDtai0&t=118s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-plugins/118000.webp"
        }
      ]
    },
    {
      "slug": "computer-history",
      "id": "W-HhMUe9hOg",
      "title": "Computer History in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-13",
      "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg",
      "duration": 190.214,
      "width": 1920,
      "height": 1080,
      "fps": 23.976150040223146,
      "sha256": "cc6ee5cf55a0088fe6bb441497a06883c9e63a624250baa80ec09936cd6821cb",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 126,
      "summary": "A context-recall demonstration is followed by explicit app and website exclusions, a history timeline, and a suggested-skill handoff. Privacy controls receive actual screen time.",
      "borrow": "Pair a convenience claim with inspectable controls. Show exclusions and history boundaries in the real settings surface, not only in narration.",
      "avoid": "Conversation text reporting a share is not independent proof of recipient access. Keep source-film identities out of new productions and do not imply your product records desktop history.",
      "selection_reason": "History navigation, context retrieval, and privacy controls",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 11,
      "shots": [
        {
          "start": 0,
          "end": 8,
          "frame": 4,
          "kind": "live",
          "surface": "Presenter and title",
          "description": "A standing presenter introduces the topic behind a laptop.",
          "treatment": "Wide composition with a lower-left title.",
          "reuse": "Keep the human introduction in the separate recording.",
          "id": "computer-history-01",
          "number": 1,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/004000.webp"
        },
        {
          "start": 8,
          "end": 18,
          "frame": 12,
          "kind": "live",
          "surface": "Close explanation",
          "description": "A closer camera angle carries the setup.",
          "treatment": "Direct scale change within the same room.",
          "reuse": "Borrow the pacing distinction, not the source speaker.",
          "id": "computer-history-02",
          "number": 2,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/012000.webp"
        },
        {
          "start": 18,
          "end": 26,
          "frame": 22,
          "kind": "live",
          "surface": "Wide explanation",
          "description": "The wider presenter view returns before the demo.",
          "treatment": "Re-establishment before screen capture.",
          "reuse": "Use a clear content transition into the app.",
          "id": "computer-history-03",
          "number": 3,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/022000.webp"
        },
        {
          "start": 26,
          "end": 35,
          "frame": 30,
          "kind": "app",
          "surface": "History-based request",
          "description": "A voice-enabled conversation asks about a recently viewed document.",
          "treatment": "Text conversation above a persistent voice orb.",
          "reuse": "Show the question and context source together.",
          "id": "computer-history-04",
          "number": 4,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/030000.webp"
        },
        {
          "start": 35,
          "end": 44,
          "frame": 40,
          "kind": "app",
          "surface": "Recalled-document answer",
          "description": "The response names the document identified by the task.",
          "treatment": "Stable voice-conversation frame.",
          "reuse": "Keep the concrete answer visible long enough to read.",
          "id": "computer-history-05",
          "number": 5,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=35s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/040000.webp"
        },
        {
          "start": 44,
          "end": 46,
          "frame": 44,
          "kind": "live",
          "surface": "Presenter insert",
          "description": "A brief close presenter shot interrupts the screen sequence.",
          "treatment": "Short human bridge.",
          "reuse": "Prefer uninterrupted screen context if narration already supplies the bridge.",
          "id": "computer-history-06",
          "number": 6,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/044000.webp"
        },
        {
          "start": 46,
          "end": 54,
          "frame": 50,
          "kind": "app",
          "surface": "Sharing follow-up",
          "description": "A follow-up request references the recalled document and recipients.",
          "treatment": "Same conversation retains the prior answer.",
          "reuse": "Show the dependency between the first result and next action.",
          "id": "computer-history-07",
          "number": 7,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/050000.webp"
        },
        {
          "start": 54,
          "end": 67,
          "frame": 64,
          "kind": "app",
          "surface": "Reported sharing result",
          "description": "The conversation displays source-related progress and a sharing confirmation.",
          "treatment": "Text result remains above the voice control.",
          "reuse": "Label this as a reported result unless destination access is checked.",
          "id": "computer-history-08",
          "number": 8,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/064000.webp"
        },
        {
          "start": 67,
          "end": 80,
          "frame": 74,
          "kind": "app",
          "surface": "Activity-summary request",
          "description": "Another follow-up asks for a recap of recent work.",
          "treatment": "Continuous conversation with a stable input anchor.",
          "reuse": "Demonstrate continuity through a specific follow-up.",
          "id": "computer-history-09",
          "number": 9,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=67s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/074000.webp"
        },
        {
          "start": 80,
          "end": 96,
          "frame": 88,
          "kind": "app",
          "surface": "Activity recap",
          "description": "A prose summary of recent tasks appears.",
          "treatment": "Long text-result hold.",
          "reuse": "Use one readable excerpt rather than many near-identical frames.",
          "id": "computer-history-10",
          "number": 10,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/088000.webp"
        },
        {
          "start": 96,
          "end": 122,
          "frame": 110,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "The film returns to wide and close presenter views.",
          "treatment": "Extended human explanation before settings.",
          "reuse": "Keep a long policy explanation with the talking head.",
          "id": "computer-history-11",
          "number": 11,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=110s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/110000.webp"
        },
        {
          "start": 122,
          "end": 126,
          "frame": 124,
          "kind": "app",
          "surface": "Menu-bar exclusion control",
          "description": "A menu lists recent apps and opens an app-exclusion action.",
          "treatment": "Close native-menu crop.",
          "reuse": "Show a consequential privacy control where users operate it.",
          "id": "computer-history-12",
          "number": 12,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=122s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/124000.webp"
        },
        {
          "start": 126,
          "end": 130,
          "frame": 128,
          "kind": "app",
          "surface": "Website exclusions",
          "description": "A settings panel shows excluded apps and an excluded website.",
          "treatment": "Two-column settings view.",
          "reuse": "Make recording boundaries concrete and inspectable.",
          "id": "computer-history-13",
          "number": 13,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=126s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/128000.webp"
        },
        {
          "start": 130,
          "end": 134,
          "frame": 132,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "A short wide presenter shot separates settings from history review.",
          "treatment": "Human chapter break.",
          "reuse": "Use a concise visual transition instead of an extra face.",
          "id": "computer-history-14",
          "number": 14,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=130s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/132000.webp"
        },
        {
          "start": 134,
          "end": 142,
          "frame": 138,
          "kind": "app",
          "surface": "History timeline",
          "description": "A settings history list shows timestamped activity and suggested skills.",
          "treatment": "Vertical scroll through grouped activity records.",
          "reuse": "Expose what the system actually retained.",
          "id": "computer-history-15",
          "number": 15,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=134s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=138s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/138000.webp"
        },
        {
          "start": 142,
          "end": 148,
          "frame": 144,
          "kind": "live",
          "surface": "Close presenter bridge",
          "description": "The presenter returns in a closer view.",
          "treatment": "Brief explanation beat.",
          "reuse": "Avoid duplicate screen motion when the explanation needs attention.",
          "id": "computer-history-16",
          "number": 16,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=142s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=144s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/144000.webp"
        },
        {
          "start": 148,
          "end": 154,
          "frame": 152,
          "kind": "app",
          "surface": "Suggested-skill selection",
          "description": "The history list returns and a suggested-skill link is selected.",
          "treatment": "Close crop on an actionable history entry.",
          "reuse": "Connect recorded context to an explicit next action.",
          "id": "computer-history-17",
          "number": 17,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=148s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=152s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/152000.webp"
        },
        {
          "start": 154,
          "end": 158,
          "frame": 156,
          "kind": "app",
          "surface": "Skill-creation request",
          "description": "The selected suggestion becomes a new task request.",
          "treatment": "Composer handoff retains the source of the suggestion.",
          "reuse": "Show the user initiating reuse rather than implying automatic conversion.",
          "id": "computer-history-18",
          "number": 18,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=154s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=156s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/156000.webp"
        },
        {
          "start": 158,
          "end": 187,
          "frame": 174,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The presenter closes with wide and close views.",
          "treatment": "Extended human ending after the final UI task.",
          "reuse": "Leave the spoken conclusion to the supplied talking-head video.",
          "id": "computer-history-19",
          "number": 19,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=158s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=174s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/174000.webp"
        },
        {
          "start": 187,
          "end": 190.214,
          "frame": 188,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity card closes the film.",
          "treatment": "Simple final reset.",
          "reuse": "Use the presentation's own finish.",
          "id": "computer-history-20",
          "number": 20,
          "film": "computer-history",
          "film_title": "Computer History in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=187s",
          "frame_source_url": "https://www.youtube.com/watch?v=W-HhMUe9hOg&t=188s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/computer-history/188000.webp"
        }
      ]
    },
    {
      "slug": "work-phone",
      "id": "yfnh8SuMbNw",
      "title": "Use ChatGPT Work on Your Phone",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-28",
      "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw",
      "duration": 114.781333,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "4ad23b0204797e8aa95905086a425e798084038450adf78586bec2f3ba325ddc",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 94,
      "summary": "A mobile walkthrough combines voice input, readable task results, desktop pairing, and a side-by-side phone-to-desktop handoff.",
      "borrow": "Alternate the full device silhouette with closer content crops. Show the same task on both devices when continuity is the claim.",
      "avoid": "The source QR code and device identity are not reusable assets. Phone-screen text needs extra size in an all-hands video; do not rely on the tiny full-device view alone.",
      "selection_reason": "Mobile task setup, continuation, and output review",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 11,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Phone topic opening",
          "description": "A close physical shot introduces the phone and topic title.",
          "treatment": "Object-focused opening.",
          "reuse": "Establish the device category without adding a second presenter.",
          "id": "work-phone-01",
          "number": 1,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/002000.webp"
        },
        {
          "start": 4,
          "end": 20,
          "frame": 12,
          "kind": "live",
          "surface": "Presenter setup",
          "description": "Wide and close presenter views introduce the mobile workflow.",
          "treatment": "Phone held within the desk composition.",
          "reuse": "Leave spoken setup to the supplied talking head.",
          "id": "work-phone-02",
          "number": 2,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/012000.webp"
        },
        {
          "start": 20,
          "end": 27,
          "frame": 24,
          "kind": "app",
          "surface": "Mobile voice input",
          "description": "An enlarged phone composer shows a dictation waveform.",
          "treatment": "Lower-device crop makes input controls readable.",
          "reuse": "Show the real input state while retaining a recognizable device edge.",
          "id": "work-phone-03",
          "number": 3,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/024000.webp"
        },
        {
          "start": 27,
          "end": 31,
          "frame": 28,
          "kind": "app",
          "surface": "Mobile research request",
          "description": "The submitted request and source-activity rows appear on the phone.",
          "treatment": "Closer content view pulls back to the full device.",
          "reuse": "Connect voice input to the actual submitted task.",
          "id": "work-phone-04",
          "number": 4,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=27s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/028000.webp"
        },
        {
          "start": 31,
          "end": 41,
          "frame": 36,
          "kind": "app",
          "surface": "Mobile work summary",
          "description": "A linked summary scrolls through items requiring attention.",
          "treatment": "Full phone on a scenic background with a presenter inset.",
          "reuse": "Choose one readable result section rather than a long tiny scroll.",
          "id": "work-phone-05",
          "number": 5,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=31s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/036000.webp"
        },
        {
          "start": 41,
          "end": 48,
          "frame": 44,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The speaker returns between mobile tasks.",
          "treatment": "Wide and close human shots.",
          "reuse": "Use a concise chapter transition in the companion video.",
          "id": "work-phone-06",
          "number": 6,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=41s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/044000.webp"
        },
        {
          "start": 48,
          "end": 55,
          "frame": 50,
          "kind": "app",
          "surface": "Second mobile request",
          "description": "Another dictation sequence becomes a finance-related request.",
          "treatment": "Matched composer treatment for a different task.",
          "reuse": "Use a distinct workflow rather than repeating the same example.",
          "id": "work-phone-07",
          "number": 7,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/050000.webp"
        },
        {
          "start": 55,
          "end": 66,
          "frame": 62,
          "kind": "app",
          "surface": "Mobile financial summary",
          "description": "The conversation shows source activity and a categorized financial response.",
          "treatment": "Scrollable phone result with visible task context.",
          "reuse": "Use safe demo data and describe only the displayed analysis.",
          "id": "work-phone-08",
          "number": 8,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=55s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/062000.webp"
        },
        {
          "start": 66,
          "end": 70,
          "frame": 68,
          "kind": "live",
          "surface": "Close presenter bridge",
          "description": "A close speaker view interrupts the screen sequence.",
          "treatment": "Short human explanation beat.",
          "reuse": "Keep this role in the talking-head asset.",
          "id": "work-phone-09",
          "number": 9,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/068000.webp"
        },
        {
          "start": 70,
          "end": 74,
          "frame": 72,
          "kind": "app",
          "surface": "Contextual voice follow-up",
          "description": "A new waveform appears below an existing result section.",
          "treatment": "Close lower-screen crop retains the prior answer.",
          "reuse": "Show that the follow-up refers to visible context.",
          "id": "work-phone-10",
          "number": 10,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=70s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/072000.webp"
        },
        {
          "start": 74,
          "end": 80,
          "frame": 76,
          "kind": "live",
          "surface": "Pairing introduction",
          "description": "The presenter returns before the desktop setup.",
          "treatment": "Wide desk framing.",
          "reuse": "Signal the change from mobile use to device setup.",
          "id": "work-phone-11",
          "number": 11,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/076000.webp"
        },
        {
          "start": 80,
          "end": 82,
          "frame": 80,
          "kind": "app",
          "surface": "Remote setup entry",
          "description": "A desktop app menu exposes the remote setup command.",
          "treatment": "Close menu crop.",
          "reuse": "Show where the setup begins.",
          "id": "work-phone-12",
          "number": 12,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/080000.webp"
        },
        {
          "start": 82,
          "end": 86,
          "frame": 84,
          "kind": "app",
          "surface": "Pairing screen",
          "description": "A remote-connection page displays a QR code and connection controls.",
          "treatment": "Wide page then tighter pairing-code view.",
          "reuse": "Use a fresh safe pairing state; never reuse a source QR code.",
          "id": "work-phone-13",
          "number": 13,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=82s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/084000.webp"
        },
        {
          "start": 86,
          "end": 92,
          "frame": 90,
          "kind": "app",
          "surface": "Desktop task state",
          "description": "A desktop conversation shows a work request and research response.",
          "treatment": "Full task view establishes the desktop side.",
          "reuse": "Keep task identity visible before the cross-device comparison.",
          "id": "work-phone-14",
          "number": 14,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/090000.webp"
        },
        {
          "start": 92,
          "end": 96,
          "frame": 94,
          "kind": "app",
          "surface": "Phone and desktop continuity",
          "description": "Phone and desktop views of the task appear side by side.",
          "treatment": "Paired devices demonstrate continuity directly.",
          "reuse": "Use matching task content as evidence of the handoff.",
          "id": "work-phone-15",
          "number": 15,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=92s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=94s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/094000.webp"
        },
        {
          "start": 96,
          "end": 102,
          "frame": 100,
          "kind": "app",
          "surface": "Connection management",
          "description": "Settings expose the connected device and connection controls.",
          "treatment": "Navigation leads to a close settings detail.",
          "reuse": "Show how a connection can be inspected or controlled.",
          "id": "work-phone-16",
          "number": 16,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/100000.webp"
        },
        {
          "start": 102,
          "end": 112,
          "frame": 108,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The presenter closes with the laptop and phone.",
          "treatment": "Wide and close human ending.",
          "reuse": "Preserve the supplied recording's own closing performance.",
          "id": "work-phone-17",
          "number": 17,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=102s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/108000.webp"
        },
        {
          "start": 112,
          "end": 114.781333,
          "frame": 114,
          "kind": "title",
          "surface": "End identity",
          "description": "A white brand ending closes the film.",
          "treatment": "Minimal final card.",
          "reuse": "Use original presentation identity.",
          "id": "work-phone-18",
          "number": 18,
          "film": "work-phone",
          "film_title": "Use ChatGPT Work on Your Phone",
          "source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=yfnh8SuMbNw&t=114s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-phone/114000.webp"
        }
      ]
    },
    {
      "slug": "work-talk",
      "id": "DLcQSp_CIIc",
      "title": "Talk to ChatGPT Work",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-28",
      "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc",
      "duration": 110.902458,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "d2b88f9a89c98bcd4af01ca2a2f84a0a450122137dd79b04e481e7986c446b90",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 84,
      "summary": "A voice orb remains over native Notes and slide content while the presenter alternates with screen capture. Long listening holds contrast with short output reveals.",
      "borrow": "A persistent control can maintain continuity across applications. The slide sequence demonstrates how to keep the output visible while interaction continues.",
      "avoid": "The long orb holds are largely voice-led and are not a model for a silent demo reel. This visual study does not infer spoken requests, listening accuracy, or response latency.",
      "selection_reason": "A longer voice workflow with live controls and task context",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 8,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Overhead title opening",
          "description": "An overhead room shot carries the voice-work topic title.",
          "treatment": "Unusual establishing angle before the desk view.",
          "reuse": "A distinct opening angle can separate chapters without extra graphics.",
          "id": "work-talk-01",
          "number": 1,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/002000.webp"
        },
        {
          "start": 4,
          "end": 6,
          "frame": 4,
          "kind": "live",
          "surface": "Presenter introduction",
          "description": "The presenter appears at the laptop.",
          "treatment": "Wide desk shot.",
          "reuse": "Keep the introduction in the talking-head video.",
          "id": "work-talk-02",
          "number": 2,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/004000.webp"
        },
        {
          "start": 6,
          "end": 8,
          "frame": 6,
          "kind": "app",
          "surface": "Voice-over-desktop teaser",
          "description": "A voice orb and status pill overlay Notes with a browser behind it.",
          "treatment": "Brief task-context preview.",
          "reuse": "Preview the interaction environment before explaining it.",
          "id": "work-talk-03",
          "number": 3,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=6s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/006000.webp"
        },
        {
          "start": 8,
          "end": 20,
          "frame": 14,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "Wide and close speaker views carry the setup.",
          "treatment": "Alternating human scales.",
          "reuse": "Avoid filling explanatory time with meaningless UI movement.",
          "id": "work-talk-04",
          "number": 4,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/014000.webp"
        },
        {
          "start": 20,
          "end": 30,
          "frame": 26,
          "kind": "app",
          "surface": "Notes and voice status",
          "description": "The Notes list remains visible beneath the voice orb and a status pill.",
          "treatment": "Whole desktop tightens toward the native app.",
          "reuse": "Keep the relevant task list legible beside the interaction state.",
          "id": "work-talk-05",
          "number": 5,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/026000.webp"
        },
        {
          "start": 30,
          "end": 38,
          "frame": 34,
          "kind": "app",
          "surface": "Close voice hold",
          "description": "The orb remains over the Notes window without a large layout change.",
          "treatment": "Long stable close framing.",
          "reuse": "Use a hold only when the narration needs uninterrupted attention.",
          "id": "work-talk-06",
          "number": 6,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/034000.webp"
        },
        {
          "start": 38,
          "end": 64,
          "frame": 50,
          "kind": "app",
          "surface": "Wide listening hold",
          "description": "The view returns to the wider Notes-and-browser composition.",
          "treatment": "Extended stable desktop view with small state changes.",
          "reuse": "Treat this as one voice-led beat, not many screen examples.",
          "id": "work-talk-07",
          "number": 7,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=38s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/050000.webp"
        },
        {
          "start": 64,
          "end": 70,
          "frame": 68,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The speaker returns in wide and close views.",
          "treatment": "Human pause between task states.",
          "reuse": "Use the talking head for material with little visual change.",
          "id": "work-talk-08",
          "number": 8,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/068000.webp"
        },
        {
          "start": 70,
          "end": 76,
          "frame": 74,
          "kind": "app",
          "surface": "Notes follow-up state",
          "description": "The desktop returns with the voice status over the task list.",
          "treatment": "Short wider-to-closer revisit.",
          "reuse": "Re-establish the source context before a new output.",
          "id": "work-talk-09",
          "number": 9,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=70s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/074000.webp"
        },
        {
          "start": 76,
          "end": 82,
          "frame": 80,
          "kind": "live",
          "surface": "Output introduction",
          "description": "The presenter introduces the next result.",
          "treatment": "Desk view then close-up.",
          "reuse": "Make the spoken transition correspond to the upcoming artifact.",
          "id": "work-talk-10",
          "number": 10,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=76s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/080000.webp"
        },
        {
          "start": 82,
          "end": 88,
          "frame": 86,
          "kind": "app",
          "surface": "Concept-slide review",
          "description": "Several concept slides appear in a slide editor with the voice orb overlaid.",
          "treatment": "Matched slide framing across different visual ideas.",
          "reuse": "Keep the output visible while demonstrating continued interaction.",
          "id": "work-talk-11",
          "number": 11,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=82s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=86s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/086000.webp"
        },
        {
          "start": 88,
          "end": 92,
          "frame": 90,
          "kind": "app",
          "surface": "Final concept slide",
          "description": "A final concept image holds inside the slide editor.",
          "treatment": "Longer result hold after the short page sequence.",
          "reuse": "Give the final example more reading time than the transitions.",
          "id": "work-talk-12",
          "number": 12,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/090000.webp"
        },
        {
          "start": 92,
          "end": 96,
          "frame": 94,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "A close presenter shot separates the output from setup controls.",
          "treatment": "Brief human explanation.",
          "reuse": "Use a content transition for the silent companion.",
          "id": "work-talk-13",
          "number": 13,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=92s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=94s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/094000.webp"
        },
        {
          "start": 96,
          "end": 100,
          "frame": 98,
          "kind": "app",
          "surface": "Remote pairing page",
          "description": "The desktop navigates to a remote connection page with a QR code.",
          "treatment": "Full app setup view.",
          "reuse": "Keep setup separate from the demonstrated output; never reuse the source code.",
          "id": "work-talk-14",
          "number": 14,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=98s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/098000.webp"
        },
        {
          "start": 100,
          "end": 108,
          "frame": 104,
          "kind": "live",
          "surface": "Presenter closing",
          "description": "The speaker checks a phone and closes the explanation.",
          "treatment": "Wide and close human finish.",
          "reuse": "Keep the closing performance in the supplied recording.",
          "id": "work-talk-15",
          "number": 15,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/104000.webp"
        },
        {
          "start": 108,
          "end": 110.902458,
          "frame": 110,
          "kind": "title",
          "surface": "End identity",
          "description": "The film resolves to a white identity card.",
          "treatment": "Clean visual finish.",
          "reuse": "Use the presentation's own ending.",
          "id": "work-talk-16",
          "number": 16,
          "film": "work-talk",
          "film_title": "Talk to ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=108s",
          "frame_source_url": "https://www.youtube.com/watch?v=DLcQSp_CIIc&t=110s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-talk/110000.webp"
        }
      ]
    },
    {
      "slug": "scheduled-tasks",
      "id": "urXc4xxixVU",
      "title": "Scheduled Tasks",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-28",
      "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU",
      "duration": 129.674,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "cc8c5773776ea932aa53754bdf62b15d9f45f55f98475f022afe7c6c1fbaa738",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 80,
      "summary": "A meeting-preparation task is tested once, converted into a schedule, inspected in the task list, and refined with a reusable skill.",
      "borrow": "Demonstrate the one-off result before scheduling it. Show the saved recurrence and management surface, not just a conversational promise.",
      "avoid": "A visible recurring task does not prove a future run succeeded. The presenter-overlay prompt examples near the end are task suggestions, not completed workflows.",
      "selection_reason": "Schedule creation, cadence choices, and task management",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 12,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Overhead topic opening",
          "description": "A room-wide overhead view introduces scheduled tasks with large type.",
          "treatment": "Environmental establishment.",
          "reuse": "Use a clear title before a settings-heavy demo.",
          "id": "scheduled-tasks-01",
          "number": 1,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/002000.webp"
        },
        {
          "start": 4,
          "end": 18,
          "frame": 10,
          "kind": "live",
          "surface": "Presenter introduction",
          "description": "Wide and close presenter shots establish the use case.",
          "treatment": "Alternating desk-camera scales.",
          "reuse": "Keep spoken context in the talking-head asset.",
          "id": "scheduled-tasks-02",
          "number": 2,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/010000.webp"
        },
        {
          "start": 18,
          "end": 30,
          "frame": 20,
          "kind": "live",
          "surface": "Recurrence explanation",
          "description": "Frequency labels appear beside the presenter before the screen demo.",
          "treatment": "Short text overlays over a human shot.",
          "reuse": "Make recurrence concepts readable without showing unconfigured controls.",
          "id": "scheduled-tasks-03",
          "number": 3,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/020000.webp"
        },
        {
          "start": 30,
          "end": 34,
          "frame": 32,
          "kind": "app",
          "surface": "Desktop and phone entry",
          "description": "Brief desktop and mobile views show the app's work entry point.",
          "treatment": "Matched task category across device formats.",
          "reuse": "Identify the supported surface before the workflow begins.",
          "id": "scheduled-tasks-04",
          "number": 4,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/032000.webp"
        },
        {
          "start": 34,
          "end": 40,
          "frame": 36,
          "kind": "live",
          "surface": "Setup bridge",
          "description": "The presenter prepares the demonstration.",
          "treatment": "Wide desk hold.",
          "reuse": "Cut unnecessary setup delay from the companion presentation.",
          "id": "scheduled-tasks-05",
          "number": 5,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/036000.webp"
        },
        {
          "start": 40,
          "end": 47,
          "frame": 44,
          "kind": "app",
          "surface": "Plugin setup",
          "description": "The integration catalog and a connection detail page are shown.",
          "treatment": "Discovery view followed by setup controls.",
          "reuse": "Expose required integrations before relying on them.",
          "id": "scheduled-tasks-06",
          "number": 6,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/044000.webp"
        },
        {
          "start": 47,
          "end": 50,
          "frame": 48,
          "kind": "app",
          "surface": "Account authorization",
          "description": "An account-choice page opens for the connection.",
          "treatment": "External authorization surface stays recognizable.",
          "reuse": "Retain meaningful authorization steps and use safe demo accounts.",
          "id": "scheduled-tasks-07",
          "number": 7,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=47s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/048000.webp"
        },
        {
          "start": 50,
          "end": 54,
          "frame": 52,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "A short speaker view leads into the task request.",
          "treatment": "Wide human shot.",
          "reuse": "Use a concise visual reset between setup and use.",
          "id": "scheduled-tasks-08",
          "number": 8,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/052000.webp"
        },
        {
          "start": 54,
          "end": 61,
          "frame": 58,
          "kind": "app",
          "surface": "Meeting-preparation request",
          "description": "A prompt asks for meeting briefs using calendar and mail sources.",
          "treatment": "Close composer view shows source chips.",
          "reuse": "Make the requested inputs and output explicit.",
          "id": "scheduled-tasks-09",
          "number": 9,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=58s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/058000.webp"
        },
        {
          "start": 61,
          "end": 68,
          "frame": 66,
          "kind": "app",
          "surface": "One-off brief result",
          "description": "The conversation returns a brief and opens it in a side pane.",
          "treatment": "Task and document share the frame.",
          "reuse": "Validate the task once before making it recurring.",
          "id": "scheduled-tasks-10",
          "number": 10,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=61s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/066000.webp"
        },
        {
          "start": 68,
          "end": 72,
          "frame": 70,
          "kind": "app",
          "surface": "Recurrence follow-up",
          "description": "A short follow-up asks to repeat the task on weekday mornings.",
          "treatment": "Isolated composer crop.",
          "reuse": "Show the exact recurrence request.",
          "id": "scheduled-tasks-11",
          "number": 11,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/070000.webp"
        },
        {
          "start": 72,
          "end": 76,
          "frame": 74,
          "kind": "app",
          "surface": "Schedule confirmation",
          "description": "A task confirmation appears in the conversation.",
          "treatment": "Wider task context after the request.",
          "reuse": "Follow the promise with an inspectable saved configuration.",
          "id": "scheduled-tasks-12",
          "number": 12,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=72s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/074000.webp"
        },
        {
          "start": 76,
          "end": 80,
          "frame": 78,
          "kind": "app",
          "surface": "Scheduled-task list",
          "description": "Navigation opens the list of recurring tasks.",
          "treatment": "Sidebar entry leads to the management surface.",
          "reuse": "Show where the task can be found later.",
          "id": "scheduled-tasks-13",
          "number": 13,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=76s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/078000.webp"
        },
        {
          "start": 80,
          "end": 86,
          "frame": 82,
          "kind": "app",
          "surface": "Task settings",
          "description": "The selected task exposes its instructions and recurrence details.",
          "treatment": "List and detail pane remain visible together.",
          "reuse": "Verify the actual saved schedule rather than the prompt alone.",
          "id": "scheduled-tasks-14",
          "number": 14,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/082000.webp"
        },
        {
          "start": 86,
          "end": 96,
          "frame": 90,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "The speaker returns before refining the task.",
          "treatment": "Wide and close human views.",
          "reuse": "Let the supplied narration explain the refinement.",
          "id": "scheduled-tasks-15",
          "number": 15,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/090000.webp"
        },
        {
          "start": 96,
          "end": 100,
          "frame": 98,
          "kind": "app",
          "surface": "Reusable-skill refinement",
          "description": "A follow-up references a meeting-preparation skill.",
          "treatment": "Skill selection appears below the existing schedule confirmation.",
          "reuse": "Show how output format can be made repeatable.",
          "id": "scheduled-tasks-16",
          "number": 16,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=98s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/098000.webp"
        },
        {
          "start": 100,
          "end": 104,
          "frame": 102,
          "kind": "app",
          "surface": "Refined brief preview",
          "description": "The updated brief opens beside the conversation.",
          "treatment": "Document result validates the refinement.",
          "reuse": "Inspect the actual changed output.",
          "id": "scheduled-tasks-17",
          "number": 17,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=102s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/102000.webp"
        },
        {
          "start": 104,
          "end": 119,
          "frame": 112,
          "kind": "app",
          "surface": "Suggested recurring prompts",
          "description": "Small composer examples overlay the presenter for several other task ideas.",
          "treatment": "Illustrative prompt montage, not completed-task evidence.",
          "reuse": "Label suggestions as suggestions rather than demonstrated results.",
          "id": "scheduled-tasks-18",
          "number": 18,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=104s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/112000.webp"
        },
        {
          "start": 119,
          "end": 127,
          "frame": 124,
          "kind": "live",
          "surface": "Presenter ending",
          "description": "The presenter closes the explanation.",
          "treatment": "Stable human finish.",
          "reuse": "Preserve the user's own closing performance.",
          "id": "scheduled-tasks-19",
          "number": 19,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=119s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/124000.webp"
        },
        {
          "start": 127,
          "end": 129.674,
          "frame": 128,
          "kind": "title",
          "surface": "End identity",
          "description": "The film ends on a white identity card.",
          "treatment": "Clean final reset.",
          "reuse": "Use original presentation identity.",
          "id": "scheduled-tasks-20",
          "number": 20,
          "film": "scheduled-tasks",
          "film_title": "Scheduled Tasks",
          "source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=127s",
          "frame_source_url": "https://www.youtube.com/watch?v=urXc4xxixVU&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/scheduled-tasks/128000.webp"
        }
      ]
    },
    {
      "slug": "plugins-skills",
      "id": "5QPBVrAAdBk",
      "title": "Plugins & Skills",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-28",
      "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk",
      "duration": 165.174,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "2710dac5c7e9094bb5962efb1d7cce63970f01abe7f8a619675789f293ccd721",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 92,
      "summary": "A calendar-and-mail task progresses from connection setup to proposed event details, explicit approval, a meeting brief, and a reusable skill.",
      "borrow": "Keep the source context, approval, saved result, and reusable instructions as separate beats. A repeated workflow is clearer when each stage has a visible artifact.",
      "avoid": "A conversation's scheduling confirmation is not a full independent calendar verification. Avoid duplicating the presenter inset or treating every long text hold as a new example.",
      "selection_reason": "Reusable skill setup and plugin configuration",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 14,
      "shots": [
        {
          "start": 0,
          "end": 6,
          "frame": 4,
          "kind": "live",
          "surface": "Topic opening",
          "description": "Overhead and laptop shots carry the plugins-and-skills title.",
          "treatment": "Environmental opening followed by a close object view.",
          "reuse": "Establish the chapter before entering configuration screens.",
          "id": "plugins-skills-01",
          "number": 1,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/004000.webp"
        },
        {
          "start": 6,
          "end": 12,
          "frame": 8,
          "kind": "live",
          "surface": "Presenter introduction",
          "description": "The presenter explains the use case at the desk.",
          "treatment": "Wide human framing.",
          "reuse": "Keep spoken setup in the separate recording.",
          "id": "plugins-skills-02",
          "number": 2,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/008000.webp"
        },
        {
          "start": 12,
          "end": 16,
          "frame": 14,
          "kind": "app",
          "surface": "Calendar source context",
          "description": "A busy weekly calendar establishes the scheduling problem.",
          "treatment": "Whole browser view with a presenter inset.",
          "reuse": "Show the real constraints before suggesting a solution.",
          "id": "plugins-skills-03",
          "number": 3,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/014000.webp"
        },
        {
          "start": 16,
          "end": 22,
          "frame": 18,
          "kind": "app",
          "surface": "Mail source context",
          "description": "A client email thread supplies project context.",
          "treatment": "Readable browser crop.",
          "reuse": "Show the source of details used later in the task.",
          "id": "plugins-skills-04",
          "number": 4,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/018000.webp"
        },
        {
          "start": 22,
          "end": 36,
          "frame": 28,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "Wide and close presenter shots connect the source examples to the workflow.",
          "treatment": "Human bridge between source context and setup.",
          "reuse": "Use the narration rather than redundant UI motion.",
          "id": "plugins-skills-05",
          "number": 5,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/028000.webp"
        },
        {
          "start": 36,
          "end": 40,
          "frame": 38,
          "kind": "app",
          "surface": "Desktop and mobile entry",
          "description": "Desktop and phone entry screens show the work surface.",
          "treatment": "Brief device-format comparison.",
          "reuse": "Clarify which surface is being demonstrated.",
          "id": "plugins-skills-06",
          "number": 6,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/038000.webp"
        },
        {
          "start": 40,
          "end": 44,
          "frame": 42,
          "kind": "live",
          "surface": "Setup bridge",
          "description": "A close presenter view precedes connection controls.",
          "treatment": "Short human pause.",
          "reuse": "Make a clear transition into setup.",
          "id": "plugins-skills-07",
          "number": 7,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=42s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/042000.webp"
        },
        {
          "start": 44,
          "end": 48,
          "frame": 46,
          "kind": "app",
          "surface": "Mail plugin detail",
          "description": "An integration page displays its task description and connection status.",
          "treatment": "Whole page followed by a control-focused crop.",
          "reuse": "Show the setup requirement before relying on the integration.",
          "id": "plugins-skills-08",
          "number": 8,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=46s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/046000.webp"
        },
        {
          "start": 48,
          "end": 52,
          "frame": 50,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The presenter returns briefly.",
          "treatment": "Wide desk shot.",
          "reuse": "Do not stretch the previous settings screen for filler.",
          "id": "plugins-skills-09",
          "number": 9,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/050000.webp"
        },
        {
          "start": 52,
          "end": 58,
          "frame": 56,
          "kind": "app",
          "surface": "Plugin catalog navigation",
          "description": "The catalog is scrolled to the calendar integration.",
          "treatment": "Navigation and categorized tools stay visible.",
          "reuse": "Show a discoverable path to the feature.",
          "id": "plugins-skills-10",
          "number": 10,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/056000.webp"
        },
        {
          "start": 58,
          "end": 62,
          "frame": 60,
          "kind": "app",
          "surface": "Calendar authorization",
          "description": "An account-choice page leads back to connected calendar details.",
          "treatment": "External consent then in-app confirmation.",
          "reuse": "Keep the authorization boundary visible.",
          "id": "plugins-skills-11",
          "number": 11,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/060000.webp"
        },
        {
          "start": 62,
          "end": 66,
          "frame": 64,
          "kind": "live",
          "surface": "Task introduction",
          "description": "The presenter introduces the first connected task.",
          "treatment": "Close human shot.",
          "reuse": "Let the talking head state the task's purpose.",
          "id": "plugins-skills-12",
          "number": 12,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/064000.webp"
        },
        {
          "start": 66,
          "end": 74,
          "frame": 72,
          "kind": "app",
          "surface": "Availability request and result",
          "description": "A calendar request returns candidate meeting times.",
          "treatment": "Composer-to-conversation sequence.",
          "reuse": "Show a small useful result before adding more context.",
          "id": "plugins-skills-13",
          "number": 13,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/072000.webp"
        },
        {
          "start": 74,
          "end": 86,
          "frame": 82,
          "kind": "app",
          "surface": "Mail-context follow-up",
          "description": "A second request asks to find the client thread and prepare a meeting using it.",
          "treatment": "Close composer view then wider processing state.",
          "reuse": "Connect the new source to the scheduling task.",
          "id": "plugins-skills-14",
          "number": 14,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/082000.webp"
        },
        {
          "start": 86,
          "end": 94,
          "frame": 90,
          "kind": "app",
          "surface": "Proposed meeting details",
          "description": "The conversation lists a time, attendees, and agenda.",
          "treatment": "Close result crop makes approval information readable.",
          "reuse": "Let viewers inspect consequential details before the action.",
          "id": "plugins-skills-15",
          "number": 15,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/090000.webp"
        },
        {
          "start": 94,
          "end": 100,
          "frame": 98,
          "kind": "app",
          "surface": "Scheduling approval",
          "description": "A short approval is followed by a scheduling response.",
          "treatment": "Request and confirmation remain in one conversation.",
          "reuse": "Preserve an explicit approval step.",
          "id": "plugins-skills-16",
          "number": 16,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=94s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=98s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/098000.webp"
        },
        {
          "start": 100,
          "end": 104,
          "frame": 102,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "A short desk shot separates scheduling from preparation.",
          "treatment": "Human transition.",
          "reuse": "Use a content reset before the next output.",
          "id": "plugins-skills-17",
          "number": 17,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=102s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/102000.webp"
        },
        {
          "start": 104,
          "end": 112,
          "frame": 108,
          "kind": "app",
          "surface": "Meeting-brief request",
          "description": "A follow-up asks for a structured brief using the thread and event.",
          "treatment": "Prior confirmation remains above the composer.",
          "reuse": "Show the earlier result becoming input to the next task.",
          "id": "plugins-skills-18",
          "number": 18,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=104s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/108000.webp"
        },
        {
          "start": 112,
          "end": 118,
          "frame": 116,
          "kind": "app",
          "surface": "Meeting-brief result",
          "description": "The brief exposes objectives, decisions, risks, and next steps.",
          "treatment": "Vertical reading crop over a structured response.",
          "reuse": "Inspect actionable interior sections, not only the title.",
          "id": "plugins-skills-19",
          "number": 19,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/116000.webp"
        },
        {
          "start": 118,
          "end": 132,
          "frame": 126,
          "kind": "live",
          "surface": "Reuse explanation",
          "description": "The presenter explains the next reuse step.",
          "treatment": "Wide and close human views.",
          "reuse": "Keep the explanation with the talking head.",
          "id": "plugins-skills-20",
          "number": 20,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=118s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=126s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/126000.webp"
        },
        {
          "start": 132,
          "end": 138,
          "frame": 136,
          "kind": "app",
          "surface": "Save-as-skill request",
          "description": "The workflow is submitted as a reusable skill request.",
          "treatment": "Conversation retains the completed brief as context.",
          "reuse": "Show what is being made repeatable.",
          "id": "plugins-skills-21",
          "number": 21,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=132s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=136s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/136000.webp"
        },
        {
          "start": 138,
          "end": 142,
          "frame": 140,
          "kind": "live",
          "surface": "Presenter pause",
          "description": "The speaker appears briefly while the workflow advances.",
          "treatment": "Short human bridge.",
          "reuse": "Avoid interpreting edited waiting time as product speed.",
          "id": "plugins-skills-22",
          "number": 22,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=138s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=140s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/140000.webp"
        },
        {
          "start": 142,
          "end": 148,
          "frame": 146,
          "kind": "app",
          "surface": "Skill invocation and output",
          "description": "A saved skill is invoked and a structured meeting result appears.",
          "treatment": "Saved instruction followed by a new execution result.",
          "reuse": "Prove reuse with another visible task state.",
          "id": "plugins-skills-23",
          "number": 23,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=142s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=146s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/146000.webp"
        },
        {
          "start": 148,
          "end": 162,
          "frame": 156,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "Wide and close shots close the explanation.",
          "treatment": "Human ending after the final artifact.",
          "reuse": "Leave the concluding performance to the supplied recording.",
          "id": "plugins-skills-24",
          "number": 24,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=148s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=156s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/156000.webp"
        },
        {
          "start": 162,
          "end": 165.174,
          "frame": 164,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity card ends the film.",
          "treatment": "Minimal final reset.",
          "reuse": "Use original presentation identity.",
          "id": "plugins-skills-25",
          "number": 25,
          "film": "plugins-skills",
          "film_title": "Plugins & Skills",
          "source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=162s",
          "frame_source_url": "https://www.youtube.com/watch?v=5QPBVrAAdBk&t=164s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plugins-skills/164000.webp"
        }
      ]
    },
    {
      "slug": "shareable-site",
      "id": "0qK3KqvtRrg",
      "title": "Build a Shareable Site",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-28",
      "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg",
      "duration": 140.515375,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "0c879a2d9aa29bb66a364a2ada07d411fcbed135c0563a6972a7c09903e4a11d",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 74,
      "summary": "An outcome-first website teaser leads into a private trip-site build, an expense-tracker revision, a sharing request, and a recurring dashboard example.",
      "borrow": "Show a compelling result first, then explain the source material and a meaningful revision. Keep build, review, sharing, and maintenance distinct.",
      "avoid": "The generated travel and dashboard pages are demo outputs, not the host app's native UI. A sharing request alone does not prove every recipient gained access.",
      "selection_reason": "Website creation, preview, and distribution controls",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 10,
      "shots": [
        {
          "start": 0,
          "end": 6,
          "frame": 4,
          "kind": "live",
          "surface": "Topic opening",
          "description": "Overhead and laptop shots introduce the site-building topic.",
          "treatment": "Environmental title sequence.",
          "reuse": "Use a concise opening before showing the result.",
          "id": "shareable-site-01",
          "number": 1,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/004000.webp"
        },
        {
          "start": 6,
          "end": 12,
          "frame": 8,
          "kind": "live",
          "surface": "Presenter introduction",
          "description": "The speaker sets up the website example.",
          "treatment": "Wide desk composition.",
          "reuse": "Keep spoken framing in the talking-head recording.",
          "id": "shareable-site-02",
          "number": 2,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/008000.webp"
        },
        {
          "start": 12,
          "end": 14,
          "frame": 12,
          "kind": "app",
          "surface": "Site artifact teaser",
          "description": "A site card appears in the conversation with a preview image.",
          "treatment": "Saved artifact shown before the build sequence.",
          "reuse": "Lead with the outcome when it makes the task immediately clear.",
          "id": "shareable-site-03",
          "number": 3,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/012000.webp"
        },
        {
          "start": 14,
          "end": 18,
          "frame": 16,
          "kind": "app",
          "surface": "Generated itinerary site",
          "description": "The browser scrolls from the site's introduction to its itinerary.",
          "treatment": "Readable full-page sections with browser context retained.",
          "reuse": "Show a useful interior section, not only a decorative hero.",
          "id": "shareable-site-04",
          "number": 4,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/016000.webp"
        },
        {
          "start": 18,
          "end": 34,
          "frame": 26,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "Wide and close presenter shots introduce the build process.",
          "treatment": "Human bridge after the outcome teaser.",
          "reuse": "Use narration to explain why the site matters.",
          "id": "shareable-site-05",
          "number": 5,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=26s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/026000.webp"
        },
        {
          "start": 34,
          "end": 50,
          "frame": 44,
          "kind": "app",
          "surface": "Contextual build dictation",
          "description": "A voice-input waveform sits below existing trip information.",
          "treatment": "Close conversation crop keeps source context visible.",
          "reuse": "Show which existing information the new task uses.",
          "id": "shareable-site-06",
          "number": 6,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/044000.webp"
        },
        {
          "start": 50,
          "end": 54,
          "frame": 52,
          "kind": "app",
          "surface": "Private site request",
          "description": "The submitted request specifies a private mobile-friendly trip hub and review before sharing.",
          "treatment": "Readable prompt followed by task response.",
          "reuse": "Preserve review and privacy constraints in the demo story.",
          "id": "shareable-site-07",
          "number": 7,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/052000.webp"
        },
        {
          "start": 54,
          "end": 60,
          "frame": 58,
          "kind": "app",
          "surface": "Site construction preview",
          "description": "A side pane shows a preparing state while a preview image appears in the conversation.",
          "treatment": "Task and not-yet-ready artifact share the frame.",
          "reuse": "Distinguish a loading preview from a finished site.",
          "id": "shareable-site-08",
          "number": 8,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=58s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/058000.webp"
        },
        {
          "start": 60,
          "end": 66,
          "frame": 64,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "A short speaker segment precedes the revision.",
          "treatment": "Wide and close human views.",
          "reuse": "Use the talking head to frame the next change.",
          "id": "shareable-site-09",
          "number": 9,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/064000.webp"
        },
        {
          "start": 66,
          "end": 74,
          "frame": 72,
          "kind": "app",
          "surface": "Expense-tracker revision",
          "description": "A follow-up asks the displayed expense tracker to split costs and accept receipts.",
          "treatment": "Composer close-up retains the current site beside it.",
          "reuse": "Keep the requested change tied to the actual result.",
          "id": "shareable-site-10",
          "number": 10,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/072000.webp"
        },
        {
          "start": 74,
          "end": 80,
          "frame": 78,
          "kind": "app",
          "surface": "Revised expense page",
          "description": "The site shows expense totals, entries, and person-level balances.",
          "treatment": "Stable artifact pane with a readable result table.",
          "reuse": "Demonstrate the changed behavior with concrete state.",
          "id": "shareable-site-11",
          "number": 11,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/078000.webp"
        },
        {
          "start": 80,
          "end": 86,
          "frame": 84,
          "kind": "live",
          "surface": "Sharing explanation",
          "description": "The presenter returns before the sharing request.",
          "treatment": "Human bridge.",
          "reuse": "Separate a finished private artifact from a distribution action.",
          "id": "shareable-site-12",
          "number": 12,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/084000.webp"
        },
        {
          "start": 86,
          "end": 96,
          "frame": 90,
          "kind": "app",
          "surface": "Recipient-based sharing request",
          "description": "The prompt asks to share with the trip participants using mail context.",
          "treatment": "Close composer then wider task response.",
          "reuse": "Show recipient selection and avoid implying unverified delivery.",
          "id": "shareable-site-13",
          "number": 13,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/090000.webp"
        },
        {
          "start": 96,
          "end": 114,
          "frame": 104,
          "kind": "live",
          "surface": "Maintenance introduction",
          "description": "The presenter explains a second site-maintenance use case.",
          "treatment": "Wide and close shots.",
          "reuse": "Use a chapter transition between unrelated sites.",
          "id": "shareable-site-14",
          "number": 14,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/104000.webp"
        },
        {
          "start": 114,
          "end": 128,
          "frame": 126,
          "kind": "app",
          "surface": "Recurring dashboard request",
          "description": "A voice request becomes text asking for recurring updates from several sources.",
          "treatment": "Saved site card remains above the composer.",
          "reuse": "Keep maintenance instructions attached to the artifact they update.",
          "id": "shareable-site-15",
          "number": 15,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=114s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=126s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/126000.webp"
        },
        {
          "start": 128,
          "end": 132,
          "frame": 130,
          "kind": "app",
          "surface": "Site library",
          "description": "The app's site list shows saved outputs and sharing controls.",
          "treatment": "Navigation returns to the management surface.",
          "reuse": "Show where outputs can be found after the demo.",
          "id": "shareable-site-16",
          "number": 16,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=128s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=130s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/130000.webp"
        },
        {
          "start": 132,
          "end": 138,
          "frame": 134,
          "kind": "live",
          "surface": "Presenter ending",
          "description": "The speaker closes the explanation.",
          "treatment": "Wide human finish.",
          "reuse": "Leave the closing performance to the supplied recording.",
          "id": "shareable-site-17",
          "number": 17,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=132s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=134s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/134000.webp"
        },
        {
          "start": 138,
          "end": 140.515375,
          "frame": 140,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending closes the film.",
          "treatment": "Clean final card.",
          "reuse": "Use the presentation's own ending.",
          "id": "shareable-site-18",
          "number": 18,
          "film": "shareable-site",
          "film_title": "Build a Shareable Site",
          "source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=138s",
          "frame_source_url": "https://www.youtube.com/watch?v=0qK3KqvtRrg&t=140s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shareable-site/140000.webp"
        }
      ]
    },
    {
      "slug": "work-start",
      "id": "Rk4VyQxDq5s",
      "title": "Getting Started with ChatGPT Work",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-28",
      "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s",
      "duration": 233.154,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "01007c308792d18430b830e4c6fb01818b18b9ee29a56c000074c2a5c93ae857",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 180,
      "summary": "An onboarding walkthrough shows installation, mode selection, integration consent, source review, draft editing, and an explicit send action. Setup is treated as part of the workflow.",
      "borrow": "Preserve the path from setup to a useful task. Keep consent, source inspection, draft review, and sending as separate observable states.",
      "avoid": "This long tutorial is a setup reference rather than a pacing template for a polished launch film. Do not copy account details, installation instructions, or promotional availability claims into your product guidance.",
      "selection_reason": "Desktop orientation, task creation, and multiple work surfaces",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 19,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Overhead title",
          "description": "A room-wide shot introduces the getting-started topic.",
          "treatment": "Environmental title opening.",
          "reuse": "Use a short chapter label before setup detail.",
          "id": "work-start-01",
          "number": 1,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/002000.webp"
        },
        {
          "start": 4,
          "end": 16,
          "frame": 10,
          "kind": "live",
          "surface": "Presenter introduction",
          "description": "Wide and close shots establish the tutorial.",
          "treatment": "Alternating human scales.",
          "reuse": "Keep setup explanation in the talking-head recording.",
          "id": "work-start-02",
          "number": 2,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/010000.webp"
        },
        {
          "start": 16,
          "end": 22,
          "frame": 20,
          "kind": "graphic",
          "surface": "Mode-switch illustration",
          "description": "An enlarged Chat/Work switch overlays the presenter.",
          "treatment": "Isolated UI illustration rather than a complete app screen.",
          "reuse": "Label a mode distinction before showing it in context.",
          "id": "work-start-03",
          "number": 3,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/020000.webp"
        },
        {
          "start": 22,
          "end": 44,
          "frame": 34,
          "kind": "live",
          "surface": "Connected-work explanation",
          "description": "The presenter continues with occasional integration-logo overlays.",
          "treatment": "Human explanation with sparse supporting graphics.",
          "reuse": "Do not count isolated service logos as demonstrated workflows.",
          "id": "work-start-04",
          "number": 4,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/034000.webp"
        },
        {
          "start": 44,
          "end": 48,
          "frame": 46,
          "kind": "app",
          "surface": "Desktop download page",
          "description": "A browser displays the desktop download page.",
          "treatment": "Full website context.",
          "reuse": "Show the authentic entry point when setup is relevant.",
          "id": "work-start-05",
          "number": 5,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=46s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/046000.webp"
        },
        {
          "start": 48,
          "end": 52,
          "frame": 50,
          "kind": "app",
          "surface": "Browser mode switch",
          "description": "The web app switches from chat to work mode.",
          "treatment": "Close crop on the mode control and composer.",
          "reuse": "Demonstrate the actual state change rather than only an illustration.",
          "id": "work-start-06",
          "number": 6,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/050000.webp"
        },
        {
          "start": 52,
          "end": 60,
          "frame": 56,
          "kind": "live",
          "surface": "Installation bridge",
          "description": "The speaker returns before the installer sequence.",
          "treatment": "Close and wide presenter views.",
          "reuse": "Let the narration explain prerequisites.",
          "id": "work-start-07",
          "number": 7,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/056000.webp"
        },
        {
          "start": 60,
          "end": 64,
          "frame": 62,
          "kind": "app",
          "surface": "Native installation",
          "description": "A macOS installer window shows the app moving to Applications.",
          "treatment": "Native operating-system surface over the download page.",
          "reuse": "Retain platform context for a setup demonstration.",
          "id": "work-start-08",
          "number": 8,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/062000.webp"
        },
        {
          "start": 64,
          "end": 71,
          "frame": 68,
          "kind": "app",
          "surface": "Desktop account menu",
          "description": "The installed app opens and its account menu is inspected.",
          "treatment": "Whole app followed by a lower-sidebar crop.",
          "reuse": "Show the actual account context without exposing sensitive data.",
          "id": "work-start-09",
          "number": 9,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/068000.webp"
        },
        {
          "start": 71,
          "end": 80,
          "frame": 78,
          "kind": "app",
          "surface": "Desktop mode selection",
          "description": "The mode switch is shown at larger scale and Work is selected.",
          "treatment": "Control-focused crop.",
          "reuse": "Keep the selected state visually obvious.",
          "id": "work-start-10",
          "number": 10,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=71s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/078000.webp"
        },
        {
          "start": 80,
          "end": 86,
          "frame": 84,
          "kind": "app",
          "surface": "Work workspace",
          "description": "The desktop work composer is established.",
          "treatment": "Wider app frame after the control detail.",
          "reuse": "Re-establish where the user has arrived.",
          "id": "work-start-11",
          "number": 11,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/084000.webp"
        },
        {
          "start": 86,
          "end": 100,
          "frame": 94,
          "kind": "live",
          "surface": "Integration introduction",
          "description": "The presenter explains connections before showing them.",
          "treatment": "Wide and close human shots.",
          "reuse": "Separate prerequisites from the main task.",
          "id": "work-start-12",
          "number": 12,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=94s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/094000.webp"
        },
        {
          "start": 100,
          "end": 106,
          "frame": 104,
          "kind": "app",
          "surface": "Plugin discovery",
          "description": "The catalog is searched for a mail integration.",
          "treatment": "Navigation and filtered catalog remain visible.",
          "reuse": "Show a reproducible discovery path.",
          "id": "work-start-13",
          "number": 13,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/104000.webp"
        },
        {
          "start": 106,
          "end": 112,
          "frame": 110,
          "kind": "app",
          "surface": "Account consent",
          "description": "An account-choice flow leads to a permissions page.",
          "treatment": "External authorization steps remain legible.",
          "reuse": "Do not omit the consent boundary.",
          "id": "work-start-14",
          "number": 14,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=106s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=110s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/110000.webp"
        },
        {
          "start": 112,
          "end": 116,
          "frame": 114,
          "kind": "app",
          "surface": "Connection completion",
          "description": "The app returns to connection confirmation and catalog results.",
          "treatment": "Modal and catalog states connect setup to completion.",
          "reuse": "Show the integration's resulting state.",
          "id": "work-start-15",
          "number": 15,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=114s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/114000.webp"
        },
        {
          "start": 116,
          "end": 122,
          "frame": 118,
          "kind": "app",
          "surface": "Slack integration detail",
          "description": "A second integration page displays its task description and connected state.",
          "treatment": "Stable detail-page layout.",
          "reuse": "Identify the second source used by the upcoming task.",
          "id": "work-start-16",
          "number": 16,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=116s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=118s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/118000.webp"
        },
        {
          "start": 122,
          "end": 126,
          "frame": 124,
          "kind": "live",
          "surface": "Task bridge",
          "description": "The presenter introduces the connected task.",
          "treatment": "Wide desk shot.",
          "reuse": "Use narration to state the desired outcome.",
          "id": "work-start-17",
          "number": 17,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=122s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/124000.webp"
        },
        {
          "start": 126,
          "end": 136,
          "frame": 132,
          "kind": "app",
          "surface": "Multi-source dinner request",
          "description": "The composer asks to find a reservation email, check team details, and draft a reply.",
          "treatment": "Close prompt framing shows both source chips.",
          "reuse": "Make inputs and the draft-only boundary explicit.",
          "id": "work-start-18",
          "number": 18,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=126s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/132000.webp"
        },
        {
          "start": 136,
          "end": 142,
          "frame": 140,
          "kind": "app",
          "surface": "Source-reading progress",
          "description": "The conversation shows work on the request.",
          "treatment": "Wider app view after the prompt.",
          "reuse": "Keep only progress that explains a meaningful dependency.",
          "id": "work-start-19",
          "number": 19,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=136s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=140s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/140000.webp"
        },
        {
          "start": 142,
          "end": 146,
          "frame": 144,
          "kind": "live",
          "surface": "Presenter insert",
          "description": "A short speaker shot separates processing from results.",
          "treatment": "Brief human bridge.",
          "reuse": "Do not treat the edited gap as elapsed task time.",
          "id": "work-start-20",
          "number": 20,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=142s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=144s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/144000.webp"
        },
        {
          "start": 146,
          "end": 152,
          "frame": 150,
          "kind": "app",
          "surface": "Prepared reply",
          "description": "The response summarizes source findings and displays a draft message.",
          "treatment": "Close result view retains the unsent draft controls.",
          "reuse": "Differentiate preparation from sending.",
          "id": "work-start-21",
          "number": 21,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=146s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=150s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/150000.webp"
        },
        {
          "start": 152,
          "end": 160,
          "frame": 156,
          "kind": "live",
          "surface": "Source-review explanation",
          "description": "The presenter returns before checking the inputs.",
          "treatment": "Wide and close shots.",
          "reuse": "Let narration explain why source review matters.",
          "id": "work-start-22",
          "number": 22,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=152s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=156s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/156000.webp"
        },
        {
          "start": 160,
          "end": 164,
          "frame": 162,
          "kind": "app",
          "surface": "Reservation email source",
          "description": "The original reservation email is opened in Gmail.",
          "treatment": "Readable source-message crop.",
          "reuse": "Verify the source behind a proposed reply.",
          "id": "work-start-23",
          "number": 23,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=160s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=162s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/162000.webp"
        },
        {
          "start": 164,
          "end": 168,
          "frame": 166,
          "kind": "app",
          "surface": "Team-chat source",
          "description": "Slack appears beside the task with the relevant team discussion.",
          "treatment": "Overlapping windows keep both source and draft context.",
          "reuse": "Show the other source used to compose the answer.",
          "id": "work-start-24",
          "number": 24,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=164s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=166s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/166000.webp"
        },
        {
          "start": 168,
          "end": 180,
          "frame": 174,
          "kind": "live",
          "surface": "Draft-review bridge",
          "description": "The presenter explains the final review step.",
          "treatment": "Human explanation before a consequential action.",
          "reuse": "Do not rush the review-and-send distinction.",
          "id": "work-start-25",
          "number": 25,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=168s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=174s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/174000.webp"
        },
        {
          "start": 180,
          "end": 184,
          "frame": 182,
          "kind": "app",
          "surface": "Draft text revision",
          "description": "The draft message is edited in place before sending.",
          "treatment": "Native text selection supplies the emphasis.",
          "reuse": "Show the human's final correction.",
          "id": "work-start-26",
          "number": 26,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=180s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=182s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/182000.webp"
        },
        {
          "start": 184,
          "end": 188,
          "frame": 186,
          "kind": "app",
          "surface": "Explicit send action",
          "description": "The send control is activated and a sending state appears.",
          "treatment": "Close crop isolates the consequential control.",
          "reuse": "Keep the actual send step separate from earlier draft preparation.",
          "id": "work-start-27",
          "number": 27,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=184s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=186s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/186000.webp"
        },
        {
          "start": 188,
          "end": 198,
          "frame": 194,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The presenter resumes after the email example.",
          "treatment": "Wide and close shots.",
          "reuse": "Allow the result to settle before introducing an extra feature.",
          "id": "work-start-28",
          "number": 28,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=188s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=194s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/194000.webp"
        },
        {
          "start": 198,
          "end": 204,
          "frame": 200,
          "kind": "app",
          "surface": "Companion visibility control",
          "description": "An account-menu action reveals a small desktop companion.",
          "treatment": "Control-to-result sequence in the app window.",
          "reuse": "Show a preference's visible effect rather than only its menu label.",
          "id": "work-start-29",
          "number": 29,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=198s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=200s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/200000.webp"
        },
        {
          "start": 204,
          "end": 208,
          "frame": 206,
          "kind": "app",
          "surface": "Companion task status",
          "description": "The companion appears alongside a task response and status bubble.",
          "treatment": "Small persistent indicator beside the main work surface.",
          "reuse": "Keep supplemental status subordinate to the actual result.",
          "id": "work-start-30",
          "number": 30,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=204s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=206s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/206000.webp"
        },
        {
          "start": 208,
          "end": 230,
          "frame": 220,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The tutorial closes with extended presenter shots.",
          "treatment": "Human ending after the final UI example.",
          "reuse": "Use the supplied recording's own conclusion and buffer.",
          "id": "work-start-31",
          "number": 31,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=208s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=220s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/220000.webp"
        },
        {
          "start": 230,
          "end": 233.154,
          "frame": 232,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending closes the tutorial.",
          "treatment": "Minimal final card.",
          "reuse": "Use original presentation identity.",
          "id": "work-start-32",
          "number": 32,
          "film": "work-start",
          "film_title": "Getting Started with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=230s",
          "frame_source_url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s&t=232s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-start/232000.webp"
        }
      ]
    },
    {
      "slug": "slides-docs-templates",
      "id": "syML5KT-HzI",
      "title": "Create Slides, Docs, and Templates",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-28",
      "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI",
      "duration": 197.074,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "c0bb8e330c0921ec5f71a648264ea01fe1df3892be785333dcb892b8db0b3fa0",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 144,
      "summary": "A meeting transcript becomes a structured document, a leadership deck, reusable templates, and a second set of outputs. The workflow distinguishes source, format, and reuse.",
      "borrow": "Show the original material, inspect the first output, then use it as the next input. Verify template reuse with changed content in the same structure.",
      "avoid": "The film's generated slide deck is not the all-hands deliverable: this project still needs a timed presentation video. Preserve actual source constraints and do not copy demo metrics.",
      "selection_reason": "Artifact creation, template use, and document editing",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 19,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Laptop title opening",
          "description": "A physical laptop shot carries the slides-and-documents title.",
          "treatment": "Close object opening.",
          "reuse": "Use a concise topic introduction.",
          "id": "slides-docs-templates-01",
          "number": 1,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/002000.webp"
        },
        {
          "start": 4,
          "end": 10,
          "frame": 8,
          "kind": "live",
          "surface": "Presenter setup",
          "description": "The presenter introduces the source-to-output workflow.",
          "treatment": "Wide desk framing.",
          "reuse": "Leave the spoken introduction to the supplied recording.",
          "id": "slides-docs-templates-02",
          "number": 2,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/008000.webp"
        },
        {
          "start": 10,
          "end": 12,
          "frame": 10,
          "kind": "output",
          "surface": "Transcript teaser",
          "description": "A text-document excerpt overlays the presenter.",
          "treatment": "Isolated source-text illustration without a full editor.",
          "reuse": "Label source material distinctly from a finished output.",
          "id": "slides-docs-templates-03",
          "number": 3,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=10s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/010000.webp"
        },
        {
          "start": 12,
          "end": 22,
          "frame": 18,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "Wide and close shots continue the setup.",
          "treatment": "Alternating human scales.",
          "reuse": "Avoid unnecessary UI animation under a conceptual explanation.",
          "id": "slides-docs-templates-04",
          "number": 4,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/018000.webp"
        },
        {
          "start": 22,
          "end": 24,
          "frame": 22,
          "kind": "output",
          "surface": "Summary teaser",
          "description": "A structured meeting summary appears as an isolated overlay.",
          "treatment": "Compact document preview.",
          "reuse": "Show the transformation's intended output format.",
          "id": "slides-docs-templates-05",
          "number": 5,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=22s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/022000.webp"
        },
        {
          "start": 24,
          "end": 26,
          "frame": 24,
          "kind": "app",
          "surface": "Deck teaser",
          "description": "A small slide-editor window overlays the presenter.",
          "treatment": "Recognizable editor chrome around the slide.",
          "reuse": "Distinguish an editable deck from a static visual.",
          "id": "slides-docs-templates-06",
          "number": 6,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/024000.webp"
        },
        {
          "start": 26,
          "end": 32,
          "frame": 30,
          "kind": "live",
          "surface": "Setup bridge",
          "description": "The presenter prepares to enter the app.",
          "treatment": "Close then wide human view.",
          "reuse": "Keep the transition into the demonstration clear.",
          "id": "slides-docs-templates-07",
          "number": 7,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/030000.webp"
        },
        {
          "start": 32,
          "end": 36,
          "frame": 34,
          "kind": "app",
          "surface": "Desktop work entry",
          "description": "The browser switches to the work composer.",
          "treatment": "Control crop then whole-window establishment.",
          "reuse": "Show the starting surface before selecting tools.",
          "id": "slides-docs-templates-08",
          "number": 8,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/034000.webp"
        },
        {
          "start": 36,
          "end": 40,
          "frame": 38,
          "kind": "app",
          "surface": "Mobile work entry",
          "description": "A phone view shows the equivalent entry mode.",
          "treatment": "Full device followed by a closer top-screen view.",
          "reuse": "Use a device comparison only when it supports the task.",
          "id": "slides-docs-templates-09",
          "number": 9,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=38s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/038000.webp"
        },
        {
          "start": 40,
          "end": 46,
          "frame": 44,
          "kind": "live",
          "surface": "Connection introduction",
          "description": "The presenter explains the integration setup.",
          "treatment": "Human bridge.",
          "reuse": "Separate setup from the creative workflow.",
          "id": "slides-docs-templates-10",
          "number": 10,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/044000.webp"
        },
        {
          "start": 46,
          "end": 54,
          "frame": 50,
          "kind": "app",
          "surface": "Drive plugin discovery",
          "description": "The catalog is searched and the file integration is selected.",
          "treatment": "Close navigation and result-list framing.",
          "reuse": "Show the feature's actual discovery path.",
          "id": "slides-docs-templates-11",
          "number": 11,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=50s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/050000.webp"
        },
        {
          "start": 54,
          "end": 60,
          "frame": 58,
          "kind": "app",
          "surface": "Drive connection controls",
          "description": "A connection dialog leads to the integration's configured details.",
          "treatment": "Modal-to-detail transition.",
          "reuse": "Retain a meaningful connection step.",
          "id": "slides-docs-templates-12",
          "number": 12,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=58s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/058000.webp"
        },
        {
          "start": 60,
          "end": 62,
          "frame": 60,
          "kind": "live",
          "surface": "Source introduction",
          "description": "The presenter briefly returns before opening the transcript.",
          "treatment": "Short desk shot.",
          "reuse": "Name the source before displaying dense text.",
          "id": "slides-docs-templates-13",
          "number": 13,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/060000.webp"
        },
        {
          "start": 62,
          "end": 66,
          "frame": 64,
          "kind": "app",
          "surface": "Meeting transcript source",
          "description": "A transcript is opened in Google Docs and scrolled.",
          "treatment": "Full editor context around dense source text.",
          "reuse": "Establish where the information came from.",
          "id": "slides-docs-templates-14",
          "number": 14,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/064000.webp"
        },
        {
          "start": 66,
          "end": 78,
          "frame": 72,
          "kind": "live",
          "surface": "Output explanation",
          "description": "The speaker explains the requested document structure.",
          "treatment": "Wide and close human shots.",
          "reuse": "Let the narration describe constraints before showing the prompt.",
          "id": "slides-docs-templates-15",
          "number": 15,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/072000.webp"
        },
        {
          "start": 78,
          "end": 100,
          "frame": 90,
          "kind": "app",
          "surface": "Structured-summary request",
          "description": "A prompt specifies sections, concise formatting, decisions, and action items.",
          "treatment": "Long composer-authoring beat.",
          "reuse": "Show essential constraints; compress typing without changing meaning.",
          "id": "slides-docs-templates-16",
          "number": 16,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/090000.webp"
        },
        {
          "start": 100,
          "end": 106,
          "frame": 104,
          "kind": "app",
          "surface": "Document creation result",
          "description": "The conversation returns a summary document link.",
          "treatment": "Task response before the output opens.",
          "reuse": "Expose the saved artifact, not only a success sentence.",
          "id": "slides-docs-templates-17",
          "number": 17,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/104000.webp"
        },
        {
          "start": 106,
          "end": 109,
          "frame": 108,
          "kind": "app",
          "surface": "Summary document interior",
          "description": "The document opens with executive summary, decisions, and risk sections.",
          "treatment": "Editor pane beside the original conversation.",
          "reuse": "Inspect meaningful interior content after the title.",
          "id": "slides-docs-templates-18",
          "number": 18,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=106s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/108000.webp"
        },
        {
          "start": 109,
          "end": 112,
          "frame": 110,
          "kind": "app",
          "surface": "Action-item table",
          "description": "The document scrolls to a table of actions, owners, and dates.",
          "treatment": "Stable editor view with structured result content.",
          "reuse": "Show the operational section that makes the summary useful.",
          "id": "slides-docs-templates-19",
          "number": 19,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=109s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=110s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/110000.webp"
        },
        {
          "start": 112,
          "end": 120,
          "frame": 116,
          "kind": "live",
          "surface": "Deck introduction",
          "description": "The presenter introduces the next output format.",
          "treatment": "Human bridge between deliverables.",
          "reuse": "Signal that the document now becomes an input.",
          "id": "slides-docs-templates-20",
          "number": 20,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/116000.webp"
        },
        {
          "start": 120,
          "end": 130,
          "frame": 126,
          "kind": "app",
          "surface": "Leadership-deck request",
          "description": "A follow-up asks to convert the summary into a short leadership update.",
          "treatment": "Prior document artifact remains above the composer.",
          "reuse": "Keep the dependency between outputs visible.",
          "id": "slides-docs-templates-21",
          "number": 21,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=120s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=126s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/126000.webp"
        },
        {
          "start": 130,
          "end": 136,
          "frame": 134,
          "kind": "app",
          "surface": "Deck creation response",
          "description": "The task returns a slide artifact alongside the document.",
          "treatment": "Conversation result with separate output links.",
          "reuse": "Make multiple deliverables individually identifiable.",
          "id": "slides-docs-templates-22",
          "number": 22,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=130s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=134s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/134000.webp"
        },
        {
          "start": 136,
          "end": 143,
          "frame": 138,
          "kind": "app",
          "surface": "Document-to-slide comparison",
          "description": "The view alternates between the source summary and an adoption-metrics slide.",
          "treatment": "Matched split-pane framing across file tabs.",
          "reuse": "Check that the content survived the format change.",
          "id": "slides-docs-templates-23",
          "number": 23,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=136s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=138s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/138000.webp"
        },
        {
          "start": 143,
          "end": 148,
          "frame": 144,
          "kind": "app",
          "surface": "Decision slide",
          "description": "A slide uses three cards for requested decisions.",
          "treatment": "Readable slide-editor result.",
          "reuse": "Use parallel cards for a small set of actions.",
          "id": "slides-docs-templates-24",
          "number": 24,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=143s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=144s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/144000.webp"
        },
        {
          "start": 148,
          "end": 154,
          "frame": 152,
          "kind": "live",
          "surface": "Template introduction",
          "description": "The presenter explains reuse after showing the first deck.",
          "treatment": "Wide and close human views.",
          "reuse": "Separate one-off output quality from repeatability.",
          "id": "slides-docs-templates-25",
          "number": 25,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=148s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=152s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/152000.webp"
        },
        {
          "start": 154,
          "end": 166,
          "frame": 162,
          "kind": "app",
          "surface": "Document template creation",
          "description": "A request extracts the document's structure into a reusable template card.",
          "treatment": "Prompt-to-template artifact sequence.",
          "reuse": "Show what structure is being preserved.",
          "id": "slides-docs-templates-26",
          "number": 26,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=154s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=162s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/162000.webp"
        },
        {
          "start": 166,
          "end": 175,
          "frame": 174,
          "kind": "app",
          "surface": "Slide template creation",
          "description": "The deck layout is saved as a second reusable template.",
          "treatment": "Same conversation grammar for a distinct artifact type.",
          "reuse": "Keep document and slide templates separately identifiable.",
          "id": "slides-docs-templates-27",
          "number": 27,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=166s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=174s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/174000.webp"
        },
        {
          "start": 175,
          "end": 180,
          "frame": 178,
          "kind": "app",
          "surface": "Template reuse request",
          "description": "A new task references the saved templates and new meeting material.",
          "treatment": "Fresh composer makes the changed input clear.",
          "reuse": "Prove reuse with a new source, not a duplicate output.",
          "id": "slides-docs-templates-28",
          "number": 28,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=175s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=178s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/178000.webp"
        },
        {
          "start": 180,
          "end": 184,
          "frame": 182,
          "kind": "app",
          "surface": "Second summary document",
          "description": "A new document opens with the same action-table and question structure.",
          "treatment": "Matched output framing across runs.",
          "reuse": "Compare structure while checking that content changed.",
          "id": "slides-docs-templates-29",
          "number": 29,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=180s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=182s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/182000.webp"
        },
        {
          "start": 184,
          "end": 188,
          "frame": 186,
          "kind": "app",
          "surface": "Second slide deck",
          "description": "The new deck contains revised metrics and decision cards.",
          "treatment": "Same template with visibly different content.",
          "reuse": "Use a second output to demonstrate consistency.",
          "id": "slides-docs-templates-30",
          "number": 30,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=184s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=186s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/186000.webp"
        },
        {
          "start": 188,
          "end": 194,
          "frame": 190,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The speaker closes after the reused outputs.",
          "treatment": "Wide human finish.",
          "reuse": "Keep the user's own ending performance separate.",
          "id": "slides-docs-templates-31",
          "number": 31,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=188s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=190s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/190000.webp"
        },
        {
          "start": 194,
          "end": 197.074,
          "frame": 196,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending closes the film.",
          "treatment": "Minimal final card.",
          "reuse": "Use original presentation identity.",
          "id": "slides-docs-templates-32",
          "number": 32,
          "film": "slides-docs-templates",
          "film_title": "Create Slides, Docs, and Templates",
          "source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=194s",
          "frame_source_url": "https://www.youtube.com/watch?v=syML5KT-HzI&t=196s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/slides-docs-templates/196000.webp"
        }
      ]
    },
    {
      "slug": "information-visual",
      "id": "jzmNh8lbSp8",
      "title": "Make information visual with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-24",
      "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8",
      "duration": 86.034,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "631dd67fc14e4f5861fd7efeeb1ab502a66a1793f8f8b7003c3055b149f81745",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 56,
      "summary": "A meeting summary becomes a structured visual, a calendar view, and actionable follow-up cards. The film shows a different representation rather than merely restyling text.",
      "borrow": "Use information hierarchy to make a dense source understandable. Show a representation change and then one action launched from the result.",
      "avoid": "The calendar and follow-up cards are generated task output inside the conversation, not proof of native calendar integration. The export menu is visible, but this clip does not show a completed publication.",
      "selection_reason": "Information design and visible visual-result editing",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Laptop topic opening",
          "description": "A physical laptop shot introduces the visualization topic.",
          "treatment": "Close object view with a short title.",
          "reuse": "Use a concise entry before dense information.",
          "id": "information-visual-01",
          "number": 1,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/002000.webp"
        },
        {
          "start": 4,
          "end": 32,
          "frame": 18,
          "kind": "live",
          "surface": "Presenter explanation",
          "description": "Wide and close presenter views establish the problem.",
          "treatment": "Extended human setup before screen evidence.",
          "reuse": "Let the talking head explain why the information needs restructuring.",
          "id": "information-visual-02",
          "number": 2,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=18s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/018000.webp"
        },
        {
          "start": 32,
          "end": 38,
          "frame": 34,
          "kind": "app",
          "surface": "Visual meeting summary",
          "description": "A conversation contains owners, decisions, and a color-coded summary.",
          "treatment": "Whole result view with a small presenter inset.",
          "reuse": "Group information by role before introducing more detail.",
          "id": "information-visual-03",
          "number": 3,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=34s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/034000.webp"
        },
        {
          "start": 38,
          "end": 45,
          "frame": 42,
          "kind": "app",
          "surface": "Delivery timeline",
          "description": "The visual scrolls through dated actions and unresolved decisions.",
          "treatment": "Vertical reading path within one structured result.",
          "reuse": "Make chronology and ownership visible together.",
          "id": "information-visual-04",
          "number": 4,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=38s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=42s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/042000.webp"
        },
        {
          "start": 45,
          "end": 50,
          "frame": 48,
          "kind": "app",
          "surface": "Calendar representation",
          "description": "A follow-up produces a month-grid view of the same planning material.",
          "treatment": "Representation change inside the conversation.",
          "reuse": "Choose a calendar when the story is about dates, not just appearance.",
          "id": "information-visual-05",
          "number": 5,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=45s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/048000.webp"
        },
        {
          "start": 50,
          "end": 56,
          "frame": 52,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The speaker returns before showing actionable follow-ups.",
          "treatment": "Wide desk shot.",
          "reuse": "Use narration to connect the new representation to its purpose.",
          "id": "information-visual-06",
          "number": 6,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/052000.webp"
        },
        {
          "start": 56,
          "end": 58,
          "frame": 56,
          "kind": "app",
          "surface": "Decision follow-up card",
          "description": "A decision tab exposes a specific unresolved question and next step.",
          "treatment": "Close card framing.",
          "reuse": "Turn a summary into one concrete next action.",
          "id": "information-visual-07",
          "number": 7,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=56s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/056000.webp"
        },
        {
          "start": 58,
          "end": 62,
          "frame": 60,
          "kind": "app",
          "surface": "Context-search handoff",
          "description": "The card's search action becomes a contextual request in the composer.",
          "treatment": "Card and generated request remain together.",
          "reuse": "Show the action's scope before it runs.",
          "id": "information-visual-08",
          "number": 8,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/060000.webp"
        },
        {
          "start": 62,
          "end": 64,
          "frame": 62,
          "kind": "live",
          "surface": "Presenter insert",
          "description": "A brief presenter shot separates action from export controls.",
          "treatment": "Short human bridge.",
          "reuse": "Keep transitions purposeful rather than decorative.",
          "id": "information-visual-09",
          "number": 9,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/062000.webp"
        },
        {
          "start": 64,
          "end": 70,
          "frame": 66,
          "kind": "app",
          "surface": "Visual export menu",
          "description": "A menu offers image copying and publishing to a site.",
          "treatment": "Close crop on the real output controls.",
          "reuse": "Describe the available action without claiming an unseen completed export.",
          "id": "information-visual-10",
          "number": 10,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/066000.webp"
        },
        {
          "start": 70,
          "end": 84,
          "frame": 78,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The speaker closes in wide and close views.",
          "treatment": "Human ending after the final control detail.",
          "reuse": "Leave the conclusion to the supplied recording.",
          "id": "information-visual-11",
          "number": 11,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=70s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=78s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/078000.webp"
        },
        {
          "start": 84,
          "end": 86.034,
          "frame": 84,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity ending closes the film.",
          "treatment": "Clean final reset.",
          "reuse": "Use an original presentation ending.",
          "id": "information-visual-12",
          "number": 12,
          "film": "information-visual",
          "film_title": "Make information visual with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=84s",
          "frame_source_url": "https://www.youtube.com/watch?v=jzmNh8lbSp8&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/information-visual/084000.webp"
        }
      ]
    },
    {
      "slug": "meal-planner",
      "id": "t64oZKCdG8Q",
      "title": "How to Build a Personalized Meal Planner with ChatGPT Work",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-08-27",
      "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q",
      "duration": 127.514,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "9bfcc314b7a5bbc372c83fe35bbd1758a3be433f8f41a8efcc58f24796c0742b",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 66,
      "summary": "A personal planning task becomes a colorful site, grocery handoff, mobile feedback form, recurring reminder, and draft message. Each stage adds a different interaction surface.",
      "borrow": "Show a useful initial result, then add one capability at a time. Use a phone-sized preview to prove the layout works beyond the desktop pane.",
      "avoid": "This study does not validate nutrition, allergy safety, or medical advice. Grocery-cart preparation is not a completed purchase; the clinical message remains a draft. Use safe, fictional demo data in production.",
      "selection_reason": "A concrete personal planning task carried through an application",
      "inspection": "Additional films inspected through two-second overview contact sheets, with denser samples for the selected motion excerpts. Boundaries describe editorial study beats, not a frame-accurate edit decision list. No audio analysis or product-availability audit is claimed.",
      "screen_count": 14,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 2,
          "kind": "live",
          "surface": "Laptop title opening",
          "description": "A physical laptop shot carries the meal-planning topic.",
          "treatment": "Close object view and large title.",
          "reuse": "Establish the task category before showing controls.",
          "id": "meal-planner-01",
          "number": 1,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=2s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/002000.webp"
        },
        {
          "start": 4,
          "end": 26,
          "frame": 14,
          "kind": "live",
          "surface": "Presenter setup",
          "description": "Wide and close presenter shots introduce the personal workflow.",
          "treatment": "Extended human explanation.",
          "reuse": "Keep spoken context in the separate talking-head asset.",
          "id": "meal-planner-02",
          "number": 2,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=14s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/014000.webp"
        },
        {
          "start": 26,
          "end": 34,
          "frame": 30,
          "kind": "app",
          "surface": "Planning request",
          "description": "A composer asks for a weekly plan using existing preferences and notes.",
          "treatment": "Floating task window against a scenic desktop.",
          "reuse": "Make the input constraints visible.",
          "id": "meal-planner-03",
          "number": 3,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=30s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/030000.webp"
        },
        {
          "start": 34,
          "end": 39,
          "frame": 36,
          "kind": "app",
          "surface": "Context attachment",
          "description": "A screen-context attachment appears with an overlaid keyboard instruction.",
          "treatment": "App window shifts aside to make room for instructional type.",
          "reuse": "Show how the source is attached without copying platform-specific shortcuts blindly.",
          "id": "meal-planner-04",
          "number": 4,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/036000.webp"
        },
        {
          "start": 39,
          "end": 44,
          "frame": 42,
          "kind": "app",
          "surface": "Initial plan result",
          "description": "A meal table and practical notes appear in the task response.",
          "treatment": "Result held in the same floating window.",
          "reuse": "Inspect the first usable output before adding complexity.",
          "id": "meal-planner-05",
          "number": 5,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=39s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=42s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/042000.webp"
        },
        {
          "start": 44,
          "end": 60,
          "frame": 54,
          "kind": "app",
          "surface": "Site-building follow-up",
          "description": "A longer request asks to turn the plan into a shareable tracking site.",
          "treatment": "Full app context retains the earlier plan above the composer.",
          "reuse": "Show the new deliverable's requirements in one coherent beat.",
          "id": "meal-planner-06",
          "number": 6,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=54s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/054000.webp"
        },
        {
          "start": 60,
          "end": 64,
          "frame": 62,
          "kind": "app",
          "surface": "Generated meal-site cover",
          "description": "A bright meal-planning site opens beside the conversation.",
          "treatment": "Strong output identity contrasts with the neutral host app.",
          "reuse": "Keep generated-site identity distinct from the product shell.",
          "id": "meal-planner-07",
          "number": 7,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=62s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/062000.webp"
        },
        {
          "start": 64,
          "end": 68,
          "frame": 66,
          "kind": "app",
          "surface": "Preferences and food pages",
          "description": "The site shows allergy notes and a visual food collection.",
          "treatment": "Vertical artifact navigation.",
          "reuse": "Show relevant interior content using safe fictional personal data.",
          "id": "meal-planner-08",
          "number": 8,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=66s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/066000.webp"
        },
        {
          "start": 68,
          "end": 72,
          "frame": 70,
          "kind": "app",
          "surface": "Grocery-list request",
          "description": "A grocery checklist is visible while a cart-building request is submitted.",
          "treatment": "Conversation and checklist remain side by side.",
          "reuse": "Connect the action to the selected list.",
          "id": "meal-planner-09",
          "number": 9,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=70s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/070000.webp"
        },
        {
          "start": 72,
          "end": 78,
          "frame": 74,
          "kind": "app",
          "surface": "Prepared grocery cart",
          "description": "A cart summary and checkout control appear beside the site.",
          "treatment": "Readable handoff card and external-checkout affordance.",
          "reuse": "Stop the claim at cart preparation unless a purchase is actually shown.",
          "id": "meal-planner-10",
          "number": 10,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=72s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=74s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/074000.webp"
        },
        {
          "start": 78,
          "end": 86,
          "frame": 82,
          "kind": "app",
          "surface": "Feedback-form revision",
          "description": "A follow-up asks to add meal ratings and notes.",
          "treatment": "Close composer crop followed by a build response.",
          "reuse": "Add one testable capability rather than an unexplained visual redesign.",
          "id": "meal-planner-11",
          "number": 11,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=82s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/082000.webp"
        },
        {
          "start": 86,
          "end": 92,
          "frame": 90,
          "kind": "app",
          "surface": "Mobile feedback form",
          "description": "A phone-sized site preview shows rating choices and a notes field.",
          "treatment": "Device mockup beside the presenter.",
          "reuse": "Verify mobile interaction, not just desktop appearance.",
          "id": "meal-planner-12",
          "number": 12,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=90s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/090000.webp"
        },
        {
          "start": 92,
          "end": 98,
          "frame": 96,
          "kind": "app",
          "surface": "Reminder request",
          "description": "The conversation asks for a recurring review of the saved feedback.",
          "treatment": "Prior site artifact remains above the follow-up.",
          "reuse": "Connect the recurrence to a concrete existing output.",
          "id": "meal-planner-13",
          "number": 13,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=92s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/096000.webp"
        },
        {
          "start": 98,
          "end": 102,
          "frame": 100,
          "kind": "app",
          "surface": "Scheduled reminder result",
          "description": "A recurring reminder card appears in the conversation.",
          "treatment": "Compact saved-task artifact.",
          "reuse": "Show the actual configured reminder without claiming a future run.",
          "id": "meal-planner-14",
          "number": 14,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=98s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/100000.webp"
        },
        {
          "start": 102,
          "end": 108,
          "frame": 106,
          "kind": "app",
          "surface": "Draft-message request",
          "description": "A follow-up asks for a message based on recorded feedback.",
          "treatment": "Task context remains visible.",
          "reuse": "Keep sensitive content fictional and maintain the draft boundary.",
          "id": "meal-planner-15",
          "number": 15,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=102s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=106s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/106000.webp"
        },
        {
          "start": 108,
          "end": 112,
          "frame": 110,
          "kind": "app",
          "surface": "Unsent message draft",
          "description": "A draft message opens with a visible send control.",
          "treatment": "Message card inside the conversation.",
          "reuse": "Show a reviewable draft, not an unobserved send.",
          "id": "meal-planner-16",
          "number": 16,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=108s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=110s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/110000.webp"
        },
        {
          "start": 112,
          "end": 120,
          "frame": 116,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The presenter closes the explanation at the desk.",
          "treatment": "Stable wide human finish.",
          "reuse": "Leave the spoken close to the supplied recording.",
          "id": "meal-planner-17",
          "number": 17,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/116000.webp"
        },
        {
          "start": 120,
          "end": 125,
          "frame": 124,
          "kind": "live",
          "surface": "Physical exit",
          "description": "The presenter picks up the laptop and leaves the desk.",
          "treatment": "Action-led closing shot.",
          "reuse": "Do not invent an exit or wave missing from the user's footage.",
          "id": "meal-planner-18",
          "number": 18,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=120s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/124000.webp"
        },
        {
          "start": 125,
          "end": 127.514,
          "frame": 126,
          "kind": "title",
          "surface": "End identity",
          "description": "A white identity card ends the film.",
          "treatment": "Clean final visual.",
          "reuse": "Use the presentation's own ending while the talking head retains its buffer.",
          "id": "meal-planner-19",
          "number": 19,
          "film": "meal-planner",
          "film_title": "How to Build a Personalized Meal Planner with ChatGPT Work",
          "source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=125s",
          "frame_source_url": "https://www.youtube.com/watch?v=t64oZKCdG8Q&t=126s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/meal-planner/126000.webp"
        }
      ]
    },
    {
      "slug": "codex-windows-mobile",
      "id": "MPIAB-8VmCo",
      "title": "Windows Computer Use and mobile access for Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-29",
      "source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo",
      "duration": 109.394,
      "width": 1920,
      "height": 1080,
      "fps": 30.0,
      "sha256": "38bd7be197fcb0970634d967cfa8aa0f7d788c04a73441172a4b17ce548cd44c",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 80,
      "summary": "A presenter separates desktop computer-use setup from mobile pairing, with readable settings inserts between explanations.",
      "borrow": "Keep setup, task proof, and device pairing as distinct chapters.",
      "avoid": "A connected-device confirmation is not proof of every remote operation or its latency.",
      "selection_reason": "Desktop-to-mobile continuity and computer interaction",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, sometimes several cuts. Selected transitions receive denser inspection separately; audio and frame-exact cut timing are not analyzed.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 26,
          "frame": 12,
          "kind": "live",
          "surface": "Presenter introduction",
          "description": "A medium presenter shot establishes the topic.",
          "treatment": "Warm room; steady framing.",
          "reuse": "Use a human introduction before technical setup.",
          "id": "codex-windows-mobile-01",
          "number": 1,
          "film": "codex-windows-mobile",
          "film_title": "Windows Computer Use and mobile access for Codex",
          "source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows-mobile/012000.webp"
        },
        {
          "start": 26,
          "end": 35,
          "frame": 32,
          "kind": "app",
          "surface": "Computer-use settings",
          "description": "General settings give way to computer-use options.",
          "treatment": "Whole desktop then closer settings.",
          "reuse": "Locate the feature before activating it.",
          "id": "codex-windows-mobile-02",
          "number": 2,
          "film": "codex-windows-mobile",
          "film_title": "Windows Computer Use and mobile access for Codex",
          "source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows-mobile/032000.webp"
        },
        {
          "start": 35,
          "end": 50,
          "frame": 48,
          "kind": "app",
          "surface": "Prompt to Paint",
          "description": "A composer request leads to a drawing in Paint.",
          "treatment": "Tight input then wider application proof.",
          "reuse": "Pair a request with its visible result.",
          "id": "codex-windows-mobile-03",
          "number": 3,
          "film": "codex-windows-mobile",
          "film_title": "Windows Computer Use and mobile access for Codex",
          "source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=35s",
          "frame_source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows-mobile/048000.webp"
        },
        {
          "start": 50,
          "end": 74,
          "frame": 64,
          "kind": "live",
          "surface": "Second explanation",
          "description": "The same presenter returns before device setup.",
          "treatment": "Matched camera position.",
          "reuse": "Separate capabilities without introducing a new visual system.",
          "id": "codex-windows-mobile-04",
          "number": 4,
          "film": "codex-windows-mobile",
          "film_title": "Windows Computer Use and mobile access for Codex",
          "source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows-mobile/064000.webp"
        },
        {
          "start": 74,
          "end": 90,
          "frame": 84,
          "kind": "app",
          "surface": "Mobile pairing",
          "description": "Connections settings show a QR approval screen and connected state.",
          "treatment": "Centered modal over dimmed settings.",
          "reuse": "Keep the approval and confirmation visible.",
          "id": "codex-windows-mobile-05",
          "number": 5,
          "film": "codex-windows-mobile",
          "film_title": "Windows Computer Use and mobile access for Codex",
          "source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows-mobile/084000.webp"
        },
        {
          "start": 90,
          "end": 106,
          "frame": 96,
          "kind": "app",
          "surface": "Phone insert and close",
          "description": "A phone composer appears between presenter closing shots.",
          "treatment": "Device insert on the desktop background; grouped coverage.",
          "reuse": "Show the actual mobile surface rather than implying parity.",
          "id": "codex-windows-mobile-06",
          "number": 6,
          "film": "codex-windows-mobile",
          "film_title": "Windows Computer Use and mobile access for Codex",
          "source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=90s",
          "frame_source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows-mobile/096000.webp"
        },
        {
          "start": 106,
          "end": 109.394,
          "frame": 108,
          "kind": "title",
          "surface": "End mark",
          "description": "A white identity card closes the film.",
          "treatment": "Minimal centered mark.",
          "reuse": "Use an original closing identity.",
          "id": "codex-windows-mobile-07",
          "number": 7,
          "film": "codex-windows-mobile",
          "film_title": "Windows Computer Use and mobile access for Codex",
          "source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=106s",
          "frame_source_url": "https://www.youtube.com/watch?v=MPIAB-8VmCo&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-windows-mobile/108000.webp"
        }
      ]
    },
    {
      "slug": "workspace-admin",
      "id": "HaaKUFAOi84",
      "title": "Workspace agents in ChatGPT: Admin and builder controls",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-22",
      "source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84",
      "duration": 137.674,
      "width": 1918,
      "height": 1080,
      "fps": 60.0,
      "sha256": "d819819883ac51ebc3318e33d6bad6cb0bc18bb6782afdea511ee694c4938c0c",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 124,
      "summary": "A screen-led tutorial moves from an agent definition to Slack output and then increasingly specific administrative controls.",
      "borrow": "Show the user-facing result before explaining how administrators constrain it.",
      "avoid": "Tiny policy text needs a detail crop; a toggle alone does not prove enforcement.",
      "selection_reason": "Builder and administrator control surfaces",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, sometimes several cuts. Selected transitions receive denser inspection separately; audio and frame-exact cut timing are not analyzed.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 22,
          "frame": 12,
          "kind": "app",
          "surface": "Agent definition",
          "description": "A Product Feedback Intel page shows instructions and connected tools.",
          "treatment": "Wide workspace with caption overlay.",
          "reuse": "Establish the configured object.",
          "id": "workspace-admin-01",
          "number": 1,
          "film": "workspace-admin",
          "film_title": "Workspace agents in ChatGPT: Admin and builder controls",
          "source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-admin/012000.webp"
        },
        {
          "start": 22,
          "end": 46,
          "frame": 36,
          "kind": "app",
          "surface": "Slack result and thread",
          "description": "A channel post opens into a threaded discussion.",
          "treatment": "Application switch followed by split conversation.",
          "reuse": "Show where the work reaches colleagues.",
          "id": "workspace-admin-02",
          "number": 2,
          "film": "workspace-admin",
          "film_title": "Workspace agents in ChatGPT: Admin and builder controls",
          "source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-admin/036000.webp"
        },
        {
          "start": 46,
          "end": 78,
          "frame": 64,
          "kind": "app",
          "surface": "Builder restrictions",
          "description": "The builder shows tools, action permissions, and a domain-constraint dialog.",
          "treatment": "Scroll to controls; modal stays in context.",
          "reuse": "Demonstrate a meaningful restriction explicitly.",
          "id": "workspace-admin-03",
          "number": 3,
          "film": "workspace-admin",
          "film_title": "Workspace agents in ChatGPT: Admin and builder controls",
          "source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-admin/064000.webp"
        },
        {
          "start": 78,
          "end": 108,
          "frame": 100,
          "kind": "app",
          "surface": "Administrative app list",
          "description": "An app catalog and permission controls replace the builder.",
          "treatment": "Stable list view across several explanations.",
          "reuse": "Distinguish workspace administration from personal setup.",
          "id": "workspace-admin-04",
          "number": 4,
          "film": "workspace-admin",
          "film_title": "Workspace agents in ChatGPT: Admin and builder controls",
          "source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-admin/100000.webp"
        },
        {
          "start": 108,
          "end": 122,
          "frame": 116,
          "kind": "app",
          "surface": "Role and parameter controls",
          "description": "Configuration dialogs expose access and action parameters.",
          "treatment": "Dimmed list behind focused dialogs.",
          "reuse": "Keep the relevant policy field readable.",
          "id": "workspace-admin-05",
          "number": 5,
          "film": "workspace-admin",
          "film_title": "Workspace agents in ChatGPT: Admin and builder controls",
          "source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=108s",
          "frame_source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-admin/116000.webp"
        },
        {
          "start": 122,
          "end": 137.674,
          "frame": 132,
          "kind": "app",
          "surface": "Action confirmation policy",
          "description": "A confirmation dialog holds through the ending.",
          "treatment": "No separate logo outro in inspected samples.",
          "reuse": "End on the consequential control when it is the subject.",
          "id": "workspace-admin-06",
          "number": 6,
          "film": "workspace-admin",
          "film_title": "Workspace agents in ChatGPT: Admin and builder controls",
          "source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=122s",
          "frame_source_url": "https://www.youtube.com/watch?v=HaaKUFAOi84&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-admin/132000.webp"
        }
      ]
    },
    {
      "slug": "powerpoint-editing",
      "id": "ECkHTfvf2e8",
      "title": "Create and edit presentations faster in PowerPoint",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-22",
      "source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8",
      "duration": 111.274,
      "width": 1920,
      "height": 1080,
      "fps": 30.0,
      "sha256": "4d77b156d6b802487efdc999c28c46fc3b381f7007cadc1ac5719ce3231ced45",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 84,
      "summary": "A blank PowerPoint deck becomes a populated presentation while the assistant remains in a right-hand pane.",
      "borrow": "Keep the native slide thumbnails and editor visible as evidence of an editable artifact.",
      "avoid": "The long processing stretch is not a pacing template for a short all-hands segment.",
      "selection_reason": "Presentation editing inside an existing application",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, sometimes several cuts. Selected transitions receive denser inspection separately; audio and frame-exact cut timing are not analyzed.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 14,
          "frame": 8,
          "kind": "app",
          "surface": "Blank deck",
          "description": "PowerPoint opens on an empty title slide.",
          "treatment": "Full application on a colored desktop.",
          "reuse": "Establish the starting state.",
          "id": "powerpoint-editing-01",
          "number": 1,
          "film": "powerpoint-editing",
          "film_title": "Create and edit presentations faster in PowerPoint",
          "source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/powerpoint-editing/008000.webp"
        },
        {
          "start": 14,
          "end": 32,
          "frame": 24,
          "kind": "app",
          "surface": "Assistant and source file",
          "description": "A sidebar opens and a file picker supplies source material.",
          "treatment": "Native modal over the editor.",
          "reuse": "Show what information the task actually uses.",
          "id": "powerpoint-editing-02",
          "number": 2,
          "film": "powerpoint-editing",
          "film_title": "Create and edit presentations faster in PowerPoint",
          "source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/powerpoint-editing/024000.webp"
        },
        {
          "start": 32,
          "end": 70,
          "frame": 48,
          "kind": "app",
          "surface": "Drafting in the sidebar",
          "description": "Text and recommendations accumulate beside the still-empty slide.",
          "treatment": "Fixed editor; one extended working beat.",
          "reuse": "Compress waiting honestly rather than padding the edit.",
          "id": "powerpoint-editing-03",
          "number": 3,
          "film": "powerpoint-editing",
          "film_title": "Create and edit presentations faster in PowerPoint",
          "source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/powerpoint-editing/048000.webp"
        },
        {
          "start": 70,
          "end": 82,
          "frame": 76,
          "kind": "app",
          "surface": "Deck appears",
          "description": "Slide thumbnails populate and a designed opening slide appears.",
          "treatment": "Result in the same application frame.",
          "reuse": "Make the first completed artifact a clear event.",
          "id": "powerpoint-editing-04",
          "number": 4,
          "film": "powerpoint-editing",
          "film_title": "Create and edit presentations faster in PowerPoint",
          "source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=70s",
          "frame_source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/powerpoint-editing/076000.webp"
        },
        {
          "start": 82,
          "end": 98,
          "frame": 88,
          "kind": "app",
          "surface": "Interior-slide review",
          "description": "Several content slides are selected from the thumbnail rail.",
          "treatment": "Repeated editor composition.",
          "reuse": "Prove the deck contains useful interior material.",
          "id": "powerpoint-editing-05",
          "number": 5,
          "film": "powerpoint-editing",
          "film_title": "Create and edit presentations faster in PowerPoint",
          "source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=82s",
          "frame_source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/powerpoint-editing/088000.webp"
        },
        {
          "start": 98,
          "end": 111.274,
          "frame": 104,
          "kind": "app",
          "surface": "Return to opening slide",
          "description": "The opening slide returns alongside a summary.",
          "treatment": "Matched framing before the film ends.",
          "reuse": "Close on a readable representative result.",
          "id": "powerpoint-editing-06",
          "number": 6,
          "film": "powerpoint-editing",
          "film_title": "Create and edit presentations faster in PowerPoint",
          "source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=98s",
          "frame_source_url": "https://www.youtube.com/watch?v=ECkHTfvf2e8&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/powerpoint-editing/104000.webp"
        }
      ]
    },
    {
      "slug": "codex-goals",
      "id": "rgh0hMYPcd0",
      "title": "Run long tasks in Codex using goals",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-21",
      "source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0",
      "duration": 98.574,
      "width": 1920,
      "height": 1080,
      "fps": 30.0,
      "sha256": "4e7dffc425ef28181c44dad00051c569ab3316c0a1e44e2f39ed5408dccfbb41",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 80,
      "summary": "Presenter segments alternate with goal entry, visible work, pause controls, and an editable goal dialog.",
      "borrow": "Explain task control through real state changes rather than only showing a prompt.",
      "avoid": "Compressed progress and code changes do not independently establish correctness.",
      "selection_reason": "Long-task status and progress framing",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, sometimes several cuts. Selected transitions receive denser inspection separately; audio and frame-exact cut timing are not analyzed.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 18,
          "frame": 8,
          "kind": "live",
          "surface": "Presenter setup",
          "description": "A presenter introduces the workflow from a fixed room view.",
          "treatment": "Medium frontal framing.",
          "reuse": "State the reason for a long-running task.",
          "id": "codex-goals-01",
          "number": 1,
          "film": "codex-goals",
          "film_title": "Run long tasks in Codex using goals",
          "source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-goals/008000.webp"
        },
        {
          "start": 18,
          "end": 40,
          "frame": 28,
          "kind": "app",
          "surface": "Goal entry",
          "description": "The composer shows goal mode and a migration instruction.",
          "treatment": "Tight input crop.",
          "reuse": "Make the desired outcome legible.",
          "id": "codex-goals-02",
          "number": 2,
          "film": "codex-goals",
          "film_title": "Run long tasks in Codex using goals",
          "source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-goals/028000.webp"
        },
        {
          "start": 40,
          "end": 54,
          "frame": 48,
          "kind": "app",
          "surface": "Further prompt example",
          "description": "A brief composer example interrupts presenter explanation.",
          "treatment": "Grouped presenter and interface inserts.",
          "reuse": "Keep alternate examples short and clearly separate.",
          "id": "codex-goals-03",
          "number": 3,
          "film": "codex-goals",
          "film_title": "Run long tasks in Codex using goals",
          "source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-goals/048000.webp"
        },
        {
          "start": 54,
          "end": 74,
          "frame": 68,
          "kind": "app",
          "surface": "Active and paused work",
          "description": "Status, edits, and a paused goal appear above the composer.",
          "treatment": "Bottom-of-thread control crop.",
          "reuse": "Show intervention controls, not just autonomous activity.",
          "id": "codex-goals-04",
          "number": 4,
          "film": "codex-goals",
          "film_title": "Run long tasks in Codex using goals",
          "source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-goals/068000.webp"
        },
        {
          "start": 74,
          "end": 86,
          "frame": 80,
          "kind": "app",
          "surface": "Edit goal",
          "description": "A modal allows the instruction to be changed amid presenter coverage.",
          "treatment": "Focused dialog with the task behind it.",
          "reuse": "Keep edits attached to the same running task.",
          "id": "codex-goals-05",
          "number": 5,
          "film": "codex-goals",
          "film_title": "Run long tasks in Codex using goals",
          "source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-goals/080000.webp"
        },
        {
          "start": 86,
          "end": 94,
          "frame": 92,
          "kind": "live",
          "surface": "Presenter closing",
          "description": "The presenter returns to the same room view.",
          "treatment": "Stable return shot.",
          "reuse": "Separate explanation from result proof.",
          "id": "codex-goals-06",
          "number": 6,
          "film": "codex-goals",
          "film_title": "Run long tasks in Codex using goals",
          "source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-goals/092000.webp"
        },
        {
          "start": 94,
          "end": 98.574,
          "frame": 96,
          "kind": "title",
          "surface": "Identity ending",
          "description": "A white OpenAI card ends the piece.",
          "treatment": "Centered type.",
          "reuse": "Use your own ending card.",
          "id": "codex-goals-07",
          "number": 7,
          "film": "codex-goals",
          "film_title": "Run long tasks in Codex using goals",
          "source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=94s",
          "frame_source_url": "https://www.youtube.com/watch?v=rgh0hMYPcd0&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-goals/096000.webp"
        }
      ]
    },
    {
      "slug": "team-plugins",
      "id": "msSa0tc2TbU",
      "title": "Share Codex plugins with your team",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-21",
      "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU",
      "duration": 99.794,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "979d7f2f9a87538dc5e1e611382a7532ae4c28672387396f9869479765572f03",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 24,
      "summary": "A plugin sharing tutorial distinguishes audience selection, installation, and a browser-to-app deep link.",
      "borrow": "Give each handoff its own visible confirmation.",
      "avoid": "A share menu is not evidence that recipients have successfully installed or used the plugin.",
      "selection_reason": "Plugin sharing and team-level settings",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, sometimes several cuts. Selected transitions receive denser inspection separately; audio and frame-exact cut timing are not analyzed.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 4,
          "kind": "live",
          "surface": "Presenter opening",
          "description": "A seated presenter speaks above a laptop.",
          "treatment": "Centered desk composition.",
          "reuse": "Introduce the collaboration problem.",
          "id": "team-plugins-01",
          "number": 1,
          "film": "team-plugins",
          "film_title": "Share Codex plugins with your team",
          "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/team-plugins/004000.webp"
        },
        {
          "start": 10,
          "end": 34,
          "frame": 24,
          "kind": "app",
          "surface": "Sharing scope",
          "description": "A catalog entry opens a sharing dialog and audience choices.",
          "treatment": "Whole app into a closer modal.",
          "reuse": "Hold the selected audience long enough to read.",
          "id": "team-plugins-02",
          "number": 2,
          "film": "team-plugins",
          "film_title": "Share Codex plugins with your team",
          "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/team-plugins/024000.webp"
        },
        {
          "start": 34,
          "end": 46,
          "frame": 40,
          "kind": "live",
          "surface": "Explanation bridge",
          "description": "The presenter returns between workflows.",
          "treatment": "Same desk and camera.",
          "reuse": "Separate sharing from installation.",
          "id": "team-plugins-03",
          "number": 3,
          "film": "team-plugins",
          "film_title": "Share Codex plugins with your team",
          "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/team-plugins/040000.webp"
        },
        {
          "start": 46,
          "end": 62,
          "frame": 60,
          "kind": "app",
          "surface": "Install plugin",
          "description": "A catalog detail page leads to an installation dialog.",
          "treatment": "Native detail page and modal.",
          "reuse": "Show prerequisites before the final action.",
          "id": "team-plugins-04",
          "number": 4,
          "film": "team-plugins",
          "film_title": "Share Codex plugins with your team",
          "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/team-plugins/060000.webp"
        },
        {
          "start": 62,
          "end": 74,
          "frame": 68,
          "kind": "title",
          "surface": "URL-sharing chapter",
          "description": "A short statement card interrupts presenter coverage.",
          "treatment": "White chapter reset.",
          "reuse": "Name a new distribution method.",
          "id": "team-plugins-05",
          "number": 5,
          "film": "team-plugins",
          "film_title": "Share Codex plugins with your team",
          "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/team-plugins/068000.webp"
        },
        {
          "start": 74,
          "end": 86,
          "frame": 80,
          "kind": "app",
          "surface": "Browser-to-app link",
          "description": "A copied link opens a loading screen and then the plugin in the app.",
          "treatment": "Distinct browser and application contexts.",
          "reuse": "Preserve the handoff instead of faking a seamless jump.",
          "id": "team-plugins-06",
          "number": 6,
          "film": "team-plugins",
          "film_title": "Share Codex plugins with your team",
          "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/team-plugins/080000.webp"
        },
        {
          "start": 86,
          "end": 96,
          "frame": 92,
          "kind": "live",
          "surface": "Closing presenter",
          "description": "The presenter finishes from the desk.",
          "treatment": "Matched return.",
          "reuse": "Keep closing remarks separate from UI proof.",
          "id": "team-plugins-07",
          "number": 7,
          "film": "team-plugins",
          "film_title": "Share Codex plugins with your team",
          "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/team-plugins/092000.webp"
        },
        {
          "start": 96,
          "end": 99.794,
          "frame": 96,
          "kind": "title",
          "surface": "End identity",
          "description": "The film resolves to a white brand card.",
          "treatment": "Minimal typography.",
          "reuse": "Leave a quiet ending.",
          "id": "team-plugins-08",
          "number": 8,
          "film": "team-plugins",
          "film_title": "Share Codex plugins with your team",
          "source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=msSa0tc2TbU&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/team-plugins/096000.webp"
        }
      ]
    },
    {
      "slug": "codex-appshots",
      "id": "QKYbGCvNpFo",
      "title": "Introducing Appshots in Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-21",
      "source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo",
      "duration": 45.074,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "4134014ff722d7b6158fcad46fd2384235ad57fab3e54d34923af1d8024d8991",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 16,
      "summary": "A short film moves from a physical laptop into close-ups of captured app context and several resulting tasks.",
      "borrow": "Use one recurring composer to connect different source applications.",
      "avoid": "The rapid task montage does not establish that every action happens instantly.",
      "selection_reason": "Compact capture-to-feedback demonstration",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, sometimes several cuts. Selected transitions receive denser inspection separately; audio and frame-exact cut timing are not analyzed.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 6,
          "frame": 4,
          "kind": "app",
          "surface": "Laptop context",
          "description": "A laptop shows the source document beside the composer.",
          "treatment": "Physical device establishes scale and environment.",
          "reuse": "Start wide before moving into the screen.",
          "id": "codex-appshots-01",
          "number": 1,
          "film": "codex-appshots",
          "film_title": "Introducing Appshots in Codex",
          "source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-appshots/004000.webp"
        },
        {
          "start": 6,
          "end": 22,
          "frame": 16,
          "kind": "app",
          "surface": "Context attachments",
          "description": "Documents, a photo, and a recipe accompany short requests.",
          "treatment": "Repeated tight composer framing; grouped examples.",
          "reuse": "Make changing context visible while keeping input placement stable.",
          "id": "codex-appshots-02",
          "number": 2,
          "film": "codex-appshots",
          "film_title": "Introducing Appshots in Codex",
          "source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-appshots/016000.webp"
        },
        {
          "start": 22,
          "end": 30,
          "frame": 28,
          "kind": "app",
          "surface": "Task list and result",
          "description": "A sidebar task list precedes a document-linked response.",
          "treatment": "List overview then source/result pairing.",
          "reuse": "Show a concrete result after the task variety.",
          "id": "codex-appshots-03",
          "number": 3,
          "film": "codex-appshots",
          "film_title": "Introducing Appshots in Codex",
          "source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-appshots/028000.webp"
        },
        {
          "start": 30,
          "end": 38,
          "frame": 36,
          "kind": "app",
          "surface": "Completed work on laptop",
          "description": "Further outputs return to the physical laptop view.",
          "treatment": "Close-up to original device framing.",
          "reuse": "Bookend a demo with the same environment.",
          "id": "codex-appshots-04",
          "number": 4,
          "film": "codex-appshots",
          "film_title": "Introducing Appshots in Codex",
          "source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-appshots/036000.webp"
        },
        {
          "start": 38,
          "end": 45.074,
          "frame": 40,
          "kind": "title",
          "surface": "Identity and black tail",
          "description": "A mark on white precedes a black final hold.",
          "treatment": "Simplified outro.",
          "reuse": "Inspect the ending buffer separately from useful content.",
          "id": "codex-appshots-05",
          "number": 5,
          "film": "codex-appshots",
          "film_title": "Introducing Appshots in Codex",
          "source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=38s",
          "frame_source_url": "https://www.youtube.com/watch?v=QKYbGCvNpFo&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-appshots/040000.webp"
        }
      ]
    },
    {
      "slug": "excel-audit",
      "id": "CaBXLZyaJYU",
      "title": "Update and audit a finance model in Excel with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-15",
      "source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU",
      "duration": 165.954,
      "width": 1920,
      "height": 1080,
      "fps": 30.000060265287797,
      "sha256": "1c725e84359e19544909d959c70d179fece6972972c7b9df93da01761fda216a",
      "family": "Screen tutorial",
      "priority": "Selective",
      "poster": 96,
      "summary": "A spreadsheet tutorial keeps the model and assistant side by side, using brief crops and sheet changes to expose the audit trail.",
      "borrow": "Keep the source cells and explanatory output connected.",
      "avoid": "This is visual workflow evidence, not an independent financial audit or investment recommendation.",
      "selection_reason": "Spreadsheet editing, audit evidence, and context",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, sometimes several cuts. Selected transitions receive denser inspection separately; audio and frame-exact cut timing are not analyzed.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 6,
          "frame": 4,
          "kind": "title",
          "surface": "Task label",
          "description": "A finance-model audit title introduces the job.",
          "treatment": "Black type on white.",
          "reuse": "Name the operation before showing dense data.",
          "id": "excel-audit-01",
          "number": 1,
          "film": "excel-audit",
          "film_title": "Update and audit a finance model in Excel with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/excel-audit/004000.webp"
        },
        {
          "start": 6,
          "end": 62,
          "frame": 32,
          "kind": "app",
          "surface": "Model and request",
          "description": "An Excel model remains visible while the sidebar processes the task.",
          "treatment": "Long fixed application view.",
          "reuse": "Treat sustained waiting as one beat.",
          "id": "excel-audit-02",
          "number": 2,
          "film": "excel-audit",
          "film_title": "Update and audit a finance model in Excel with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/excel-audit/032000.webp"
        },
        {
          "start": 62,
          "end": 98,
          "frame": 96,
          "kind": "app",
          "surface": "Audit explanation",
          "description": "The view briefly tightens on cells and later on the written findings.",
          "treatment": "Detail crops return to the whole workbook.",
          "reuse": "Crop the evidence relevant to the sentence.",
          "id": "excel-audit-03",
          "number": 3,
          "film": "excel-audit",
          "film_title": "Update and audit a finance model in Excel with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/excel-audit/096000.webp"
        },
        {
          "start": 98,
          "end": 126,
          "frame": 112,
          "kind": "app",
          "surface": "Workbook updates",
          "description": "Responses change and additional worksheet tabs become visible.",
          "treatment": "Full editor retains row and column context.",
          "reuse": "Show changes in the actual workbook.",
          "id": "excel-audit-04",
          "number": 4,
          "film": "excel-audit",
          "film_title": "Update and audit a finance model in Excel with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=98s",
          "frame_source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/excel-audit/112000.webp"
        },
        {
          "start": 126,
          "end": 138,
          "frame": 132,
          "kind": "app",
          "surface": "Audit worksheet",
          "description": "A structured audit sheet replaces the summary model.",
          "treatment": "Tab change inside a stable frame.",
          "reuse": "Expose the supporting artifact, not only the conclusion.",
          "id": "excel-audit-05",
          "number": 5,
          "film": "excel-audit",
          "film_title": "Update and audit a finance model in Excel with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=126s",
          "frame_source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/excel-audit/132000.webp"
        },
        {
          "start": 138,
          "end": 162,
          "frame": 152,
          "kind": "app",
          "surface": "Return to model",
          "description": "The model view returns beside the final explanation.",
          "treatment": "Matched original framing.",
          "reuse": "Close the loop between findings and source.",
          "id": "excel-audit-06",
          "number": 6,
          "film": "excel-audit",
          "film_title": "Update and audit a finance model in Excel with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=138s",
          "frame_source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=152s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/excel-audit/152000.webp"
        },
        {
          "start": 162,
          "end": 165.954,
          "frame": 164,
          "kind": "title",
          "surface": "End identity",
          "description": "A white OpenAI card ends the tutorial.",
          "treatment": "Centered wordmark.",
          "reuse": "Use a clean original outro.",
          "id": "excel-audit-07",
          "number": 7,
          "film": "excel-audit",
          "film_title": "Update and audit a finance model in Excel with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=162s",
          "frame_source_url": "https://www.youtube.com/watch?v=CaBXLZyaJYU&t=164s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/excel-audit/164000.webp"
        }
      ]
    },
    {
      "slug": "codex-chrome",
      "id": "b6Mxcv1pyBU",
      "title": "Codex can now use Chrome directly on macOS and Windows.",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-08",
      "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU",
      "duration": 154.554,
      "width": 1920,
      "height": 1080,
      "fps": 23.97608215933579,
      "sha256": "4539956d67dcae5669bf3e3ab8b144084e3707f5f76fe08febf8d4b50037891d",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 84,
      "summary": "A two-angle presenter introduction leads through extension setup, browser research, receipt entry, and a drawing game.",
      "borrow": "Separate installation, a serious workflow, and a playful example with presenter returns.",
      "avoid": "Do not equate a populated form with a submitted transaction or a fast montage with measured task speed.",
      "selection_reason": "Browser permissions and task handoffs",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, sometimes several cuts. Selected transitions receive denser inspection separately; audio and frame-exact cut timing are not analyzed.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 26,
          "frame": 12,
          "kind": "live",
          "surface": "Two-angle introduction",
          "description": "Wide and closer presenter views alternate in a bright room.",
          "treatment": "Camera-angle cuts preserve setting.",
          "reuse": "Vary human coverage without moving the interface constantly.",
          "id": "codex-chrome-01",
          "number": 1,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/012000.webp"
        },
        {
          "start": 26,
          "end": 46,
          "frame": 32,
          "kind": "app",
          "surface": "Plugin discovery",
          "description": "A catalog insert is bracketed by presenter explanation.",
          "treatment": "Wide app on a blue field.",
          "reuse": "Establish where the integration is found.",
          "id": "codex-chrome-02",
          "number": 2,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/032000.webp"
        },
        {
          "start": 46,
          "end": 60,
          "frame": 56,
          "kind": "app",
          "surface": "Extension installation",
          "description": "A plugin dialog leads to the Chrome store and added confirmation.",
          "treatment": "Progressively closer native surfaces.",
          "reuse": "Retain the successful setup state.",
          "id": "codex-chrome-03",
          "number": 3,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/056000.webp"
        },
        {
          "start": 60,
          "end": 78,
          "frame": 72,
          "kind": "app",
          "surface": "Research request",
          "description": "Presenter coverage leads to a browser-research prompt.",
          "treatment": "Input crop before task execution.",
          "reuse": "Make the requested scope readable.",
          "id": "codex-chrome-04",
          "number": 4,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/072000.webp"
        },
        {
          "start": 78,
          "end": 100,
          "frame": 84,
          "kind": "app",
          "surface": "Browser research evidence",
          "description": "Search results, community posts, and a result summary alternate.",
          "treatment": "Browser beside the assistant; detail crops.",
          "reuse": "Show both the evidence and its interpretation.",
          "id": "codex-chrome-05",
          "number": 5,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/084000.webp"
        },
        {
          "start": 100,
          "end": 120,
          "frame": 116,
          "kind": "app",
          "surface": "Receipt workflow",
          "description": "A new prompt leads through upload and expense-description fields.",
          "treatment": "Native form detail rather than an isolated success card.",
          "reuse": "Distinguish preparation from submission.",
          "id": "codex-chrome-06",
          "number": 6,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/116000.webp"
        },
        {
          "start": 120,
          "end": 146,
          "frame": 140,
          "kind": "app",
          "surface": "Drawing-game example",
          "description": "Presenter shots introduce a prompt and an interactive drawing grid.",
          "treatment": "Grouped human bridge and browser result.",
          "reuse": "Use a playful second example only after the main claim is clear.",
          "id": "codex-chrome-07",
          "number": 7,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=120s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=140s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/140000.webp"
        },
        {
          "start": 146,
          "end": 152,
          "frame": 148,
          "kind": "live",
          "surface": "Closing presenter",
          "description": "The wider presenter view returns.",
          "treatment": "Matched framing.",
          "reuse": "Return to the speaker before the outro.",
          "id": "codex-chrome-08",
          "number": 8,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=146s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=148s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/148000.webp"
        },
        {
          "start": 152,
          "end": 154.554,
          "frame": 152,
          "kind": "title",
          "surface": "End card",
          "description": "A white wordmark closes the piece.",
          "treatment": "Simple identity.",
          "reuse": "End without introducing another task.",
          "id": "codex-chrome-09",
          "number": 9,
          "film": "codex-chrome",
          "film_title": "Codex can now use Chrome directly on macOS and Windows.",
          "source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=152s",
          "frame_source_url": "https://www.youtube.com/watch?v=b6Mxcv1pyBU&t=152s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-chrome/152000.webp"
        }
      ]
    },
    {
      "slug": "spreadsheet-launch",
      "id": "sfkyiXvlYL0",
      "title": "Introducing ChatGPT for Excel and Google Sheets",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-06",
      "source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0",
      "duration": 51.514,
      "width": 1918,
      "height": 1080,
      "fps": 60.0,
      "sha256": "938d3990b07630ab7f11f7b77510136fcd32d61cb8a00c4339b42377bfdde860",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 40,
      "summary": "Two spreadsheet tasks use the same input-close-up, full-workbook, result-detail pattern, separated by a statement card.",
      "borrow": "Repeat a visual grammar when the audience must compare capabilities.",
      "avoid": "Launch-card availability language is historical, not a current entitlement check.",
      "selection_reason": "Short introduction to spreadsheet integrations",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial intervals, not frame-exact cuts; no audio analysis.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 6,
          "frame": 4,
          "kind": "title",
          "surface": "Launch statement",
          "description": "Centered copy introduces the spreadsheet integration.",
          "treatment": "White field and compact type.",
          "reuse": "State the category before showing data.",
          "id": "spreadsheet-launch-01",
          "number": 1,
          "film": "spreadsheet-launch",
          "film_title": "Introducing ChatGPT for Excel and Google Sheets",
          "source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/spreadsheet-launch/004000.webp"
        },
        {
          "start": 6,
          "end": 18,
          "frame": 12,
          "kind": "app",
          "surface": "Connected-data request",
          "description": "A composer beside spreadsheet cells opens a data-provider menu.",
          "treatment": "Close input with source context retained.",
          "reuse": "Show the selected source.",
          "id": "spreadsheet-launch-02",
          "number": 2,
          "film": "spreadsheet-launch",
          "film_title": "Introducing ChatGPT for Excel and Google Sheets",
          "source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/spreadsheet-launch/012000.webp"
        },
        {
          "start": 18,
          "end": 26,
          "frame": 24,
          "kind": "app",
          "surface": "Updated workbook",
          "description": "A full workbook gives way to a tighter summary view.",
          "treatment": "Wide proof then detail.",
          "reuse": "Hold the actual changed cells.",
          "id": "spreadsheet-launch-03",
          "number": 3,
          "film": "spreadsheet-launch",
          "film_title": "Introducing ChatGPT for Excel and Google Sheets",
          "source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/spreadsheet-launch/024000.webp"
        },
        {
          "start": 26,
          "end": 30,
          "frame": 28,
          "kind": "title",
          "surface": "Second task chapter",
          "description": "A statement introduces leadership insights.",
          "treatment": "White reset between similar interfaces.",
          "reuse": "Separate two claims with a clear cue.",
          "id": "spreadsheet-launch-04",
          "number": 4,
          "film": "spreadsheet-launch",
          "film_title": "Introducing ChatGPT for Excel and Google Sheets",
          "source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/spreadsheet-launch/028000.webp"
        },
        {
          "start": 30,
          "end": 46,
          "frame": 40,
          "kind": "app",
          "surface": "Dashboard task",
          "description": "A request leads through a source table to a structured dashboard.",
          "treatment": "Same application frame across states.",
          "reuse": "Show the transformation rather than unrelated charts.",
          "id": "spreadsheet-launch-05",
          "number": 5,
          "film": "spreadsheet-launch",
          "film_title": "Introducing ChatGPT for Excel and Google Sheets",
          "source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/spreadsheet-launch/040000.webp"
        },
        {
          "start": 46,
          "end": 51.514,
          "frame": 48,
          "kind": "title",
          "surface": "Closing invitation",
          "description": "A text card names the two spreadsheet hosts.",
          "treatment": "Simple ending.",
          "reuse": "Use a concise final action.",
          "id": "spreadsheet-launch-06",
          "number": 6,
          "film": "spreadsheet-launch",
          "film_title": "Introducing ChatGPT for Excel and Google Sheets",
          "source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=sfkyiXvlYL0&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/spreadsheet-launch/048000.webp"
        }
      ]
    },
    {
      "slug": "codex-import",
      "id": "flvZ6jEj3VU",
      "title": "Bring your work into Codex in a few clicks",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-05-01",
      "source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU",
      "duration": 79.134,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "57710ed3f0d51256d412d9ce394728d90a0fba710ca895d84f1fefe84e29bbb4",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 52,
      "summary": "Onboarding choices lead into a plugin inventory, highlighted navigation, and a source-informed meeting brief.",
      "borrow": "Explain a new workspace by showing imported settings and a first useful result.",
      "avoid": "An enabled switch does not prove a successful third-party task.",
      "selection_reason": "Bringing source material into a workflow",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial intervals, not frame-exact cuts; no audio analysis.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 4,
          "kind": "app",
          "surface": "Role selection",
          "description": "The onboarding screen selects a work category.",
          "treatment": "Centered setup panel.",
          "reuse": "Show the choice that changes the setup.",
          "id": "codex-import-01",
          "number": 1,
          "film": "codex-import",
          "film_title": "Bring your work into Codex in a few clicks",
          "source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-import/004000.webp"
        },
        {
          "start": 10,
          "end": 22,
          "frame": 16,
          "kind": "app",
          "surface": "Bring settings",
          "description": "Import options and a toggle sit above Continue.",
          "treatment": "Stable form with readable options.",
          "reuse": "Retain the user's choices.",
          "id": "codex-import-02",
          "number": 2,
          "film": "codex-import",
          "film_title": "Bring your work into Codex in a few clicks",
          "source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-import/016000.webp"
        },
        {
          "start": 22,
          "end": 42,
          "frame": 32,
          "kind": "app",
          "surface": "Enabled plugins",
          "description": "A plugin list scrolls through enabled integrations.",
          "treatment": "Wide list becomes a closer control view.",
          "reuse": "Show only integrations relevant to the story.",
          "id": "codex-import-03",
          "number": 3,
          "film": "codex-import",
          "film_title": "Bring your work into Codex in a few clicks",
          "source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-import/032000.webp"
        },
        {
          "start": 42,
          "end": 58,
          "frame": 52,
          "kind": "app",
          "surface": "Workspace orientation",
          "description": "Black outline callouts identify navigation and imported projects.",
          "treatment": "Editorial rectangles over real UI.",
          "reuse": "Clearly distinguish annotations from product controls.",
          "id": "codex-import-04",
          "number": 4,
          "film": "codex-import",
          "film_title": "Bring your work into Codex in a few clicks",
          "source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-import/052000.webp"
        },
        {
          "start": 58,
          "end": 74,
          "frame": 68,
          "kind": "app",
          "surface": "Meeting brief",
          "description": "A multi-source request becomes a structured brief.",
          "treatment": "Input and output stay in the same window.",
          "reuse": "End onboarding on a useful task.",
          "id": "codex-import-05",
          "number": 5,
          "film": "codex-import",
          "film_title": "Bring your work into Codex in a few clicks",
          "source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-import/068000.webp"
        },
        {
          "start": 74,
          "end": 79.134,
          "frame": 76,
          "kind": "title",
          "surface": "Brand ending",
          "description": "A white mark replaces the app.",
          "treatment": "Centered type.",
          "reuse": "Use your own closing identity.",
          "id": "codex-import-06",
          "number": 6,
          "film": "codex-import",
          "film_title": "Bring your work into Codex in a few clicks",
          "source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=flvZ6jEj3VU&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-import/076000.webp"
        }
      ]
    },
    {
      "slug": "workspace-metrics",
      "id": "H5rSp32VwV8",
      "title": "Workspace agents in ChatGPT: Weekly metrics reporting agent",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-24",
      "source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8",
      "duration": 156.014,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "52f5074d3462deefa7204f928534cf3729a42d080d8949bbfbb2982e65070dee",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 96,
      "summary": "An agent configuration demonstrates connection identity, reusable instructions, scheduling, run history, and a report.",
      "borrow": "Keep setup, schedule, execution history, and output distinct.",
      "avoid": "A configured schedule alone does not establish future reliability or report accuracy.",
      "selection_reason": "Recurring reporting workflow and result proof",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial intervals, not frame-exact cuts; no audio analysis.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 14,
          "frame": 8,
          "kind": "app",
          "surface": "Agent and tool setup",
          "description": "The Tally agent opens a connected-tool picker.",
          "treatment": "Whole builder on a cyan field.",
          "reuse": "Establish the configured object.",
          "id": "workspace-metrics-01",
          "number": 1,
          "film": "workspace-metrics",
          "film_title": "Workspace agents in ChatGPT: Weekly metrics reporting agent",
          "source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-metrics/008000.webp"
        },
        {
          "start": 14,
          "end": 42,
          "frame": 32,
          "kind": "app",
          "surface": "Connection identity",
          "description": "Drive setup exposes user and agent-owned account choices.",
          "treatment": "Modal then close policy controls.",
          "reuse": "Keep identity choices visible.",
          "id": "workspace-metrics-02",
          "number": 2,
          "film": "workspace-metrics",
          "film_title": "Workspace agents in ChatGPT: Weekly metrics reporting agent",
          "source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-metrics/032000.webp"
        },
        {
          "start": 42,
          "end": 86,
          "frame": 68,
          "kind": "app",
          "surface": "Reusable instructions",
          "description": "The builder develops instructions and a skill-like reusable task.",
          "treatment": "Conversation beside configuration.",
          "reuse": "Show the instructions that govern the result.",
          "id": "workspace-metrics-03",
          "number": 3,
          "film": "workspace-metrics",
          "film_title": "Workspace agents in ChatGPT: Weekly metrics reporting agent",
          "source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-metrics/068000.webp"
        },
        {
          "start": 86,
          "end": 106,
          "frame": 96,
          "kind": "app",
          "surface": "Schedule configuration",
          "description": "A schedule dialog shows recurrence and an instruction field.",
          "treatment": "Focused modal within the builder.",
          "reuse": "Make recurrence readable.",
          "id": "workspace-metrics-04",
          "number": 4,
          "film": "workspace-metrics",
          "film_title": "Workspace agents in ChatGPT: Weekly metrics reporting agent",
          "source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-metrics/096000.webp"
        },
        {
          "start": 106,
          "end": 114,
          "frame": 108,
          "kind": "title",
          "surface": "Activity chapter",
          "description": "A statement introduces reviewing activity.",
          "treatment": "Full white reset.",
          "reuse": "Distinguish setup from evidence of runs.",
          "id": "workspace-metrics-05",
          "number": 5,
          "film": "workspace-metrics",
          "film_title": "Workspace agents in ChatGPT: Weekly metrics reporting agent",
          "source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=106s",
          "frame_source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-metrics/108000.webp"
        },
        {
          "start": 114,
          "end": 142,
          "frame": 140,
          "kind": "app",
          "surface": "History and report",
          "description": "Run history leads through work details to a document with a table and chart.",
          "treatment": "Progressively inspectable result.",
          "reuse": "Show a report, not only a success status.",
          "id": "workspace-metrics-06",
          "number": 6,
          "film": "workspace-metrics",
          "film_title": "Workspace agents in ChatGPT: Weekly metrics reporting agent",
          "source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=114s",
          "frame_source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=140s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-metrics/140000.webp"
        },
        {
          "start": 142,
          "end": 156.014,
          "frame": 148,
          "kind": "title",
          "surface": "Closing cards",
          "description": "Capability and availability cards precede identity.",
          "treatment": "Grouped text ending.",
          "reuse": "Do not carry historical availability claims into a new demo.",
          "id": "workspace-metrics-07",
          "number": 7,
          "film": "workspace-metrics",
          "film_title": "Workspace agents in ChatGPT: Weekly metrics reporting agent",
          "source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=142s",
          "frame_source_url": "https://www.youtube.com/watch?v=H5rSp32VwV8&t=148s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-metrics/148000.webp"
        }
      ]
    },
    {
      "slug": "workspace-review",
      "id": "7ZVYmoqqnCg",
      "title": "Workspace agents in ChatGPT: Software review agent",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-24",
      "source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg",
      "duration": 92.134,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "91752a1bee712ae05bb3e7187b893408cb0f58bcfa655f97f4a979f609e9ab48",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 64,
      "summary": "A software-purchase review agent moves from written rules to Slack requests and a threaded decision.",
      "borrow": "Show policy, request, and decision in that order.",
      "avoid": "This film concerns software-access requests, not a source-code review; a recommendation is not independent policy validation.",
      "selection_reason": "Software-purchase request review in a connected Slack workspace",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial intervals, not frame-exact cuts; no audio analysis.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 4,
          "kind": "title",
          "surface": "Software-review chapter",
          "description": "A title introduces the Slate agent.",
          "treatment": "Plain white statement.",
          "reuse": "Name the decision being automated.",
          "id": "workspace-review-01",
          "number": 1,
          "film": "workspace-review",
          "film_title": "Workspace agents in ChatGPT: Software review agent",
          "source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-review/004000.webp"
        },
        {
          "start": 10,
          "end": 34,
          "frame": 24,
          "kind": "app",
          "surface": "Review instructions",
          "description": "The builder exposes a software-request evaluator definition.",
          "treatment": "Long close view of instructions.",
          "reuse": "Make the decision rules inspectable.",
          "id": "workspace-review-02",
          "number": 2,
          "film": "workspace-review",
          "film_title": "Workspace agents in ChatGPT: Software review agent",
          "source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-review/024000.webp"
        },
        {
          "start": 34,
          "end": 44,
          "frame": 40,
          "kind": "app",
          "surface": "Slack connection",
          "description": "The agent shows a connected channel and reply settings.",
          "treatment": "Control close-up.",
          "reuse": "Explain where requests enter.",
          "id": "workspace-review-03",
          "number": 3,
          "film": "workspace-review",
          "film_title": "Workspace agents in ChatGPT: Software review agent",
          "source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-review/040000.webp"
        },
        {
          "start": 44,
          "end": 58,
          "frame": 52,
          "kind": "app",
          "surface": "Incoming request",
          "description": "A software-request channel receives a new message.",
          "treatment": "Native Slack window.",
          "reuse": "Show the actual trigger.",
          "id": "workspace-review-04",
          "number": 4,
          "film": "workspace-review",
          "film_title": "Workspace agents in ChatGPT: Software review agent",
          "source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-review/052000.webp"
        },
        {
          "start": 58,
          "end": 78,
          "frame": 68,
          "kind": "app",
          "surface": "Threaded decision",
          "description": "A thread opens with evaluation text and an attached example.",
          "treatment": "Channel remains beside the response.",
          "reuse": "Keep the decision connected to the request.",
          "id": "workspace-review-05",
          "number": 5,
          "film": "workspace-review",
          "film_title": "Workspace agents in ChatGPT: Software review agent",
          "source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-review/068000.webp"
        },
        {
          "start": 78,
          "end": 92.134,
          "frame": 84,
          "kind": "title",
          "surface": "Capability ending",
          "description": "Several task statements precede the brand ending.",
          "treatment": "Grouped white cards.",
          "reuse": "Summarize without inventing extra demonstrated flows.",
          "id": "workspace-review-06",
          "number": 6,
          "film": "workspace-review",
          "film_title": "Workspace agents in ChatGPT: Software review agent",
          "source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=7ZVYmoqqnCg&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-review/084000.webp"
        }
      ]
    },
    {
      "slug": "workspace-risk",
      "id": "HnSPedbA02Q",
      "title": "Workspace agents in ChatGPT: Third-party risk management agent",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-24",
      "source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q",
      "duration": 126.414,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "5835f85d7e330116302428404d11e7774edb533602094fcc0aa908b9d4a7a5bc",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 108,
      "summary": "A vendor-risk agent is built from an instruction and file, tested, and shown producing a structured document.",
      "borrow": "Use a test-before-publish chapter and end on the resulting evidence table.",
      "avoid": "The edited demonstration is not a legal, compliance, or risk-assessment validation.",
      "selection_reason": "Risk-review workflow and evidence presentation",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial intervals, not frame-exact cuts; no audio analysis.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 26,
          "frame": 16,
          "kind": "app",
          "surface": "Risk-agent request",
          "description": "A setup prompt names vendor review and its sources.",
          "treatment": "Whole window then input crop.",
          "reuse": "Make scope and sources visible.",
          "id": "workspace-risk-01",
          "number": 1,
          "film": "workspace-risk",
          "film_title": "Workspace agents in ChatGPT: Third-party risk management agent",
          "source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-risk/016000.webp"
        },
        {
          "start": 26,
          "end": 42,
          "frame": 28,
          "kind": "app",
          "surface": "Supporting file",
          "description": "A file picker adds reference material before build.",
          "treatment": "Native selection dialog.",
          "reuse": "Show the evidence supplied to the task.",
          "id": "workspace-risk-02",
          "number": 2,
          "film": "workspace-risk",
          "film_title": "Workspace agents in ChatGPT: Third-party risk management agent",
          "source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-risk/028000.webp"
        },
        {
          "start": 42,
          "end": 70,
          "frame": 60,
          "kind": "app",
          "surface": "Build configuration",
          "description": "The builder reveals a plan and a split configuration surface.",
          "treatment": "Conversation-to-builder transition.",
          "reuse": "Expose the resulting controls.",
          "id": "workspace-risk-03",
          "number": 3,
          "film": "workspace-risk",
          "film_title": "Workspace agents in ChatGPT: Third-party risk management agent",
          "source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-risk/060000.webp"
        },
        {
          "start": 70,
          "end": 74,
          "frame": 72,
          "kind": "title",
          "surface": "Test chapter",
          "description": "A card explicitly introduces testing before publication.",
          "treatment": "Short visual reset.",
          "reuse": "Make verification part of the story.",
          "id": "workspace-risk-04",
          "number": 4,
          "film": "workspace-risk",
          "film_title": "Workspace agents in ChatGPT: Third-party risk management agent",
          "source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=70s",
          "frame_source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-risk/072000.webp"
        },
        {
          "start": 74,
          "end": 106,
          "frame": 92,
          "kind": "app",
          "surface": "Test run",
          "description": "A preview conversation shows the request and task activity.",
          "treatment": "Closer preview panel.",
          "reuse": "Distinguish a test from a live deployment.",
          "id": "workspace-risk-05",
          "number": 5,
          "film": "workspace-risk",
          "film_title": "Workspace agents in ChatGPT: Third-party risk management agent",
          "source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-risk/092000.webp"
        },
        {
          "start": 106,
          "end": 114,
          "frame": 108,
          "kind": "app",
          "surface": "Risk document",
          "description": "A document opens with a risk matrix and findings.",
          "treatment": "Result shown in its editor.",
          "reuse": "Present the evidence artifact.",
          "id": "workspace-risk-06",
          "number": 6,
          "film": "workspace-risk",
          "film_title": "Workspace agents in ChatGPT: Third-party risk management agent",
          "source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=106s",
          "frame_source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-risk/108000.webp"
        },
        {
          "start": 114,
          "end": 126.414,
          "frame": 120,
          "kind": "title",
          "surface": "Closing statements",
          "description": "Task categories and availability precede identity.",
          "treatment": "Grouped title cards.",
          "reuse": "Keep claims bounded to what was demonstrated.",
          "id": "workspace-risk-07",
          "number": 7,
          "film": "workspace-risk",
          "film_title": "Workspace agents in ChatGPT: Third-party risk management agent",
          "source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=114s",
          "frame_source_url": "https://www.youtube.com/watch?v=HnSPedbA02Q&t=120s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-risk/120000.webp"
        }
      ]
    },
    {
      "slug": "workspace-outreach",
      "id": "HJlME6S-LJc",
      "title": "Workspace agents in ChatGPT: Lead outreach agent",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-22",
      "source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc",
      "duration": 110.274,
      "width": 1920,
      "height": 1080,
      "fps": 30.0,
      "sha256": "c1e10395caa0b4c13daf431459a9f23e373cb0e8fafc76115305c6f4fb5c821b",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 92,
      "summary": "An agent build is followed by a lead form, background-task view, and prepared email.",
      "borrow": "Use chapter cards to connect the trigger, background work, and communication result.",
      "avoid": "A visible compose window with a Send button is not by itself proof that an email was sent.",
      "selection_reason": "Lead research, draft outreach, and approval",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial intervals, not frame-exact cuts; no audio analysis.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 28,
          "frame": 20,
          "kind": "app",
          "surface": "Sales-agent prompt",
          "description": "A setup screen receives a detailed outreach instruction.",
          "treatment": "Wide-to-tight composer.",
          "reuse": "Name the sequence of intended actions.",
          "id": "workspace-outreach-01",
          "number": 1,
          "film": "workspace-outreach",
          "film_title": "Workspace agents in ChatGPT: Lead outreach agent",
          "source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-outreach/020000.webp"
        },
        {
          "start": 28,
          "end": 62,
          "frame": 52,
          "kind": "app",
          "surface": "Build and configure",
          "description": "Planning text becomes an agent definition beside the conversation.",
          "treatment": "Split workspace preserves the originating request.",
          "reuse": "Show configuration before the trigger.",
          "id": "workspace-outreach-02",
          "number": 2,
          "film": "workspace-outreach",
          "film_title": "Workspace agents in ChatGPT: Lead outreach agent",
          "source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-outreach/052000.webp"
        },
        {
          "start": 62,
          "end": 74,
          "frame": 68,
          "kind": "app",
          "surface": "Lead-form trigger",
          "description": "A title introduces a populated contact form.",
          "treatment": "Native form crop.",
          "reuse": "Show the real input fields.",
          "id": "workspace-outreach-03",
          "number": 3,
          "film": "workspace-outreach",
          "film_title": "Workspace agents in ChatGPT: Lead outreach agent",
          "source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-outreach/068000.webp"
        },
        {
          "start": 74,
          "end": 88,
          "frame": 84,
          "kind": "app",
          "surface": "Background work",
          "description": "Statement cards bracket a task activity view.",
          "treatment": "Text-to-interface alternation.",
          "reuse": "Keep processing claims separate from latency claims.",
          "id": "workspace-outreach-04",
          "number": 4,
          "film": "workspace-outreach",
          "film_title": "Workspace agents in ChatGPT: Lead outreach agent",
          "source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=74s",
          "frame_source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-outreach/084000.webp"
        },
        {
          "start": 88,
          "end": 98,
          "frame": 92,
          "kind": "app",
          "surface": "Prepared outreach",
          "description": "An email compose window shows a personalized message.",
          "treatment": "Wide mail surface retains Send control.",
          "reuse": "Label drafts accurately.",
          "id": "workspace-outreach-05",
          "number": 5,
          "film": "workspace-outreach",
          "film_title": "Workspace agents in ChatGPT: Lead outreach agent",
          "source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-outreach/092000.webp"
        },
        {
          "start": 98,
          "end": 110.274,
          "frame": 104,
          "kind": "title",
          "surface": "Capability ending",
          "description": "Task and availability cards conclude the film.",
          "treatment": "White-card cadence.",
          "reuse": "Close with a bounded summary.",
          "id": "workspace-outreach-06",
          "number": 6,
          "film": "workspace-outreach",
          "film_title": "Workspace agents in ChatGPT: Lead outreach agent",
          "source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=98s",
          "frame_source_url": "https://www.youtube.com/watch?v=HJlME6S-LJc&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-outreach/104000.webp"
        }
      ]
    },
    {
      "slug": "workspace-intro",
      "id": "yyvVUEPSCu0",
      "title": "Introducing workspace agents in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-22",
      "source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0",
      "duration": 70.034,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "1b5223458e7fe4c5a6ef0362e9ab706df7c0955340d4b43995ab0b6e75339cb4",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 20,
      "summary": "A compact introduction alternates statement cards with a builder, task checklist, and Slack conversation.",
      "borrow": "Use short statements to make the same workflow readable at launch-film pace.",
      "avoid": "A checklist or stylized app view is not an independent benchmark of autonomous performance.",
      "selection_reason": "Multi-capability introduction and chapter structure",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial intervals, not frame-exact cuts; no audio analysis.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "title",
          "surface": "Opening statements",
          "description": "Short phrases build the introduction.",
          "treatment": "Centered typography on white.",
          "reuse": "Keep each opening phrase brief.",
          "id": "workspace-intro-01",
          "number": 1,
          "film": "workspace-intro",
          "film_title": "Introducing workspace agents in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-intro/008000.webp"
        },
        {
          "start": 10,
          "end": 26,
          "frame": 20,
          "kind": "app",
          "surface": "Find and build an agent",
          "description": "Navigation leads to a prompt and the Scout builder.",
          "treatment": "Sidebar detail then split workspace.",
          "reuse": "Locate the feature before showing its configuration.",
          "id": "workspace-intro-02",
          "number": 2,
          "film": "workspace-intro",
          "film_title": "Introducing workspace agents in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-intro/020000.webp"
        },
        {
          "start": 26,
          "end": 30,
          "frame": 28,
          "kind": "title",
          "surface": "Capability bridge",
          "description": "A statement resets the frame.",
          "treatment": "White chapter beat.",
          "reuse": "Separate setup from work.",
          "id": "workspace-intro-03",
          "number": 3,
          "film": "workspace-intro",
          "film_title": "Introducing workspace agents in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-intro/028000.webp"
        },
        {
          "start": 30,
          "end": 42,
          "frame": 40,
          "kind": "app",
          "surface": "Task checklist",
          "description": "A feedback request becomes working steps and green completion marks.",
          "treatment": "Tight conversational detail.",
          "reuse": "Connect status to an actual task.",
          "id": "workspace-intro-04",
          "number": 4,
          "film": "workspace-intro",
          "film_title": "Introducing workspace agents in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-intro/040000.webp"
        },
        {
          "start": 42,
          "end": 50,
          "frame": 48,
          "kind": "app",
          "surface": "Team-channel result",
          "description": "A statement leads into a Slack channel view.",
          "treatment": "Application-context switch.",
          "reuse": "Show where a team receives the work.",
          "id": "workspace-intro-05",
          "number": 5,
          "film": "workspace-intro",
          "film_title": "Introducing workspace agents in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-intro/048000.webp"
        },
        {
          "start": 50,
          "end": 70.034,
          "frame": 60,
          "kind": "title",
          "surface": "Capability and identity sequence",
          "description": "Agent names and summary statements finish the film.",
          "treatment": "Repeated type cards and small icons.",
          "reuse": "Do not confuse illustrated categories with full demos.",
          "id": "workspace-intro-06",
          "number": 6,
          "film": "workspace-intro",
          "film_title": "Introducing workspace agents in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=yyvVUEPSCu0&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/workspace-intro/060000.webp"
        }
      ]
    },
    {
      "slug": "images-thinking",
      "id": "JJgwiuu-Axw",
      "title": "Thinking & Intelligence with ChatGPT Images 2.0",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-21",
      "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw",
      "duration": 168.585083,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "84c15945a3cbfedefbff77c06ce50588b702fb175d0e536a94b02cb044c2b294",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 68,
      "summary": "An interview uses hands-on-laptop inserts to introduce three image tasks, then shows clean output close-ups.",
      "borrow": "Move from human intention to input to a full-size output, returning to the person between examples.",
      "avoid": "Generated textbook pages and merchandise layouts are output examples, not verified factual references.",
      "selection_reason": "Visual explanation of image-generation reasoning",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial intervals, not frame-exact cuts; no audio analysis.",
      "screen_count": 2,
      "shots": [
        {
          "start": 0,
          "end": 46,
          "frame": 20,
          "kind": "live",
          "surface": "Interview and typing",
          "description": "Production details, multiple interview angles, and hands introduce the demonstration.",
          "treatment": "Grouped live-action coverage with a topic overlay.",
          "reuse": "Use environment and action to motivate the screen insert.",
          "id": "images-thinking-01",
          "number": 1,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/020000.webp"
        },
        {
          "start": 46,
          "end": 58,
          "frame": 56,
          "kind": "app",
          "surface": "Merchandise prompt",
          "description": "A filmed laptop becomes a clean composer close-up.",
          "treatment": "Physical-to-direct screen handoff.",
          "reuse": "Make the request readable before the output.",
          "id": "images-thinking-02",
          "number": 2,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/056000.webp"
        },
        {
          "start": 58,
          "end": 70,
          "frame": 68,
          "kind": "output",
          "surface": "Merchandise layout",
          "description": "A generated product layout is shown whole and in detail.",
          "treatment": "Output-only crops.",
          "reuse": "Separate artwork presentation from app controls.",
          "id": "images-thinking-03",
          "number": 3,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/068000.webp"
        },
        {
          "start": 70,
          "end": 98,
          "frame": 96,
          "kind": "app",
          "surface": "Second request",
          "description": "Interview coverage leads to another composer prompt.",
          "treatment": "Repeated human-to-input structure.",
          "reuse": "Make each task's source explicit.",
          "id": "images-thinking-04",
          "number": 4,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=70s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/096000.webp"
        },
        {
          "start": 98,
          "end": 118,
          "frame": 112,
          "kind": "output",
          "surface": "Textbook pages",
          "description": "Generated textbook-like pages alternate with presenter coverage.",
          "treatment": "Full pages followed by text and diagram crops.",
          "reuse": "Do not imply factual validation from polished typesetting.",
          "id": "images-thinking-05",
          "number": 5,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=98s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/112000.webp"
        },
        {
          "start": 118,
          "end": 146,
          "frame": 136,
          "kind": "live",
          "surface": "Third setup",
          "description": "The presenter and laptop prepare another example.",
          "treatment": "Matched room and hand coverage.",
          "reuse": "Avoid repeating a long setup when adapting a shorter edit.",
          "id": "images-thinking-06",
          "number": 6,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=118s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=136s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/136000.webp"
        },
        {
          "start": 146,
          "end": 156,
          "frame": 152,
          "kind": "output",
          "surface": "Mood-board result",
          "description": "Several themed boards fill the frame.",
          "treatment": "Output comparison without app chrome.",
          "reuse": "Compare coherent visual directions.",
          "id": "images-thinking-07",
          "number": 7,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=146s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=152s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/152000.webp"
        },
        {
          "start": 156,
          "end": 166,
          "frame": 160,
          "kind": "live",
          "surface": "Interview close",
          "description": "The presenter returns to the wide room view.",
          "treatment": "Human closing beat.",
          "reuse": "Return to the original context.",
          "id": "images-thinking-08",
          "number": 8,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=156s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=160s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/160000.webp"
        },
        {
          "start": 166,
          "end": 168.585083,
          "frame": 168,
          "kind": "title",
          "surface": "End mark",
          "description": "A centered mark ends the sequence.",
          "treatment": "White identity card.",
          "reuse": "Use an original identity.",
          "id": "images-thinking-09",
          "number": 9,
          "film": "images-thinking",
          "film_title": "Thinking & Intelligence with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=166s",
          "frame_source_url": "https://www.youtube.com/watch?v=JJgwiuu-Axw&t=168s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-thinking/168000.webp"
        }
      ]
    },
    {
      "slug": "images-instructions",
      "id": "EcP7bzNAEn0",
      "title": "Instruction Following with ChatGPT Images 2.0",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-21",
      "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0",
      "duration": 135.434,
      "width": 1920,
      "height": 1080,
      "fps": 23.976119932320106,
      "sha256": "890abd8306ae12bc2d2ba95157acc81e330bba122594594e43ecedf9bb4c0178",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 88,
      "summary": "Interview coverage alternates with extreme prompt crops and output examples that make concrete instruction details visible.",
      "borrow": "Put the specific constraint on screen before showing the result.",
      "avoid": "One clock or object arrangement is not a general accuracy benchmark.",
      "selection_reason": "Prompt-to-image comparison and revision",
      "inspection": "Full-duration four-second contact sheets visually inspected. Approximate grouped beats; no audio analysis or frame-exact cut claim.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 26,
          "frame": 16,
          "kind": "live",
          "surface": "Interview opening",
          "description": "Wide and close presenter angles include a production-slate moment.",
          "treatment": "Human coverage with topic overlay.",
          "reuse": "Establish the speaker before detailed examples.",
          "id": "images-instructions-01",
          "number": 1,
          "film": "images-instructions",
          "film_title": "Instruction Following with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-instructions/016000.webp"
        },
        {
          "start": 26,
          "end": 50,
          "frame": 36,
          "kind": "app",
          "surface": "Detailed prompt",
          "description": "A filmed laptop becomes tight crops of typed instructions.",
          "treatment": "Extreme text emphasis.",
          "reuse": "Crop only the constraint the narration discusses.",
          "id": "images-instructions-02",
          "number": 2,
          "film": "images-instructions",
          "film_title": "Instruction Following with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-instructions/036000.webp"
        },
        {
          "start": 50,
          "end": 78,
          "frame": 72,
          "kind": "app",
          "surface": "Example gallery",
          "description": "Presenter coverage surrounds a gallery of image examples.",
          "treatment": "Browser overview between human shots.",
          "reuse": "Use the gallery to show range, not to count every image as a workflow.",
          "id": "images-instructions-03",
          "number": 3,
          "film": "images-instructions",
          "film_title": "Instruction Following with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-instructions/072000.webp"
        },
        {
          "start": 78,
          "end": 90,
          "frame": 88,
          "kind": "output",
          "surface": "Clock example",
          "description": "A short prompt insert leads to an isolated green clock.",
          "treatment": "Input-to-clean-output cut.",
          "reuse": "Hold an inspectable detail.",
          "id": "images-instructions-04",
          "number": 4,
          "film": "images-instructions",
          "film_title": "Instruction Following with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-instructions/088000.webp"
        },
        {
          "start": 90,
          "end": 114,
          "frame": 108,
          "kind": "app",
          "surface": "Spatial instruction",
          "description": "Another laptop insert exposes a list of object-placement constraints.",
          "treatment": "Wide input then text detail.",
          "reuse": "Make the test conditions visible.",
          "id": "images-instructions-05",
          "number": 5,
          "film": "images-instructions",
          "film_title": "Instruction Following with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=90s",
          "frame_source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-instructions/108000.webp"
        },
        {
          "start": 114,
          "end": 126,
          "frame": 120,
          "kind": "output",
          "surface": "Object and pattern results",
          "description": "A blurred loading tile resolves into object imagery and a cat pattern.",
          "treatment": "Output-only detail sequence.",
          "reuse": "Do not infer that every listed constraint was met.",
          "id": "images-instructions-06",
          "number": 6,
          "film": "images-instructions",
          "film_title": "Instruction Following with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=114s",
          "frame_source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=120s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-instructions/120000.webp"
        },
        {
          "start": 126,
          "end": 132,
          "frame": 128,
          "kind": "live",
          "surface": "Presenter close",
          "description": "The interview returns.",
          "treatment": "Matched close angle.",
          "reuse": "Keep commentary separate from evidence.",
          "id": "images-instructions-07",
          "number": 7,
          "film": "images-instructions",
          "film_title": "Instruction Following with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=126s",
          "frame_source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-instructions/128000.webp"
        },
        {
          "start": 132,
          "end": 135.434,
          "frame": 132,
          "kind": "title",
          "surface": "End mark",
          "description": "White identity card.",
          "treatment": "Centered wordmark.",
          "reuse": "Close simply.",
          "id": "images-instructions-08",
          "number": 8,
          "film": "images-instructions",
          "film_title": "Instruction Following with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=132s",
          "frame_source_url": "https://www.youtube.com/watch?v=EcP7bzNAEn0&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-instructions/132000.webp"
        }
      ]
    },
    {
      "slug": "images-infographics",
      "id": "B-73tuAHBo8",
      "title": "Slides & Infographics with ChatGPT Images 2.0",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-21",
      "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8",
      "duration": 125.874,
      "width": 1920,
      "height": 1080,
      "fps": 23.976278112106588,
      "sha256": "870ad0c47722f48f85916ad375b69a9f5fbd64025c5ef30c0c7e901f1b2ec47b",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 52,
      "summary": "A presenter moves from a detailed prompt to an infographic, then to paper-derived slide and chart examples.",
      "borrow": "Show the complete information design before cropping into a meaningful region.",
      "avoid": "Generated diagrams and benchmark graphics are not independently verified scientific evidence.",
      "selection_reason": "Information design and generated-slide presentation",
      "inspection": "Full-duration four-second contact sheets visually inspected. Approximate grouped beats; no audio analysis or frame-exact cut claim.",
      "screen_count": 2,
      "shots": [
        {
          "start": 0,
          "end": 18,
          "frame": 12,
          "kind": "live",
          "surface": "Interview setup",
          "description": "Camera equipment and interview angles introduce the speaker.",
          "treatment": "Production texture before the task.",
          "reuse": "Use human context sparingly.",
          "id": "images-infographics-01",
          "number": 1,
          "film": "images-infographics",
          "film_title": "Slides & Infographics with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-infographics/012000.webp"
        },
        {
          "start": 18,
          "end": 46,
          "frame": 24,
          "kind": "app",
          "surface": "Structured specification",
          "description": "Prompt crops expose a formula and detailed layout requirements between interview shots.",
          "treatment": "Selected text and submit-control detail.",
          "reuse": "Make demanding requirements legible.",
          "id": "images-infographics-02",
          "number": 2,
          "film": "images-infographics",
          "film_title": "Slides & Infographics with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-infographics/024000.webp"
        },
        {
          "start": 46,
          "end": 56,
          "frame": 52,
          "kind": "output",
          "surface": "Infographic reveal",
          "description": "A full infographic gives way to a colored detail region.",
          "treatment": "Whole output then crop.",
          "reuse": "Orient the audience before explaining a diagram.",
          "id": "images-infographics-03",
          "number": 3,
          "film": "images-infographics",
          "film_title": "Slides & Infographics with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-infographics/052000.webp"
        },
        {
          "start": 56,
          "end": 66,
          "frame": 60,
          "kind": "app",
          "surface": "Document attachment",
          "description": "A source file accompanies a slide-generation request.",
          "treatment": "Attachment and composer remain visible.",
          "reuse": "Show the input behind the artifact.",
          "id": "images-infographics-04",
          "number": 4,
          "film": "images-infographics",
          "film_title": "Slides & Infographics with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=56s",
          "frame_source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-infographics/060000.webp"
        },
        {
          "start": 66,
          "end": 82,
          "frame": 72,
          "kind": "output",
          "surface": "Slide results",
          "description": "Dark slides and a chart close-up alternate with presenter coverage.",
          "treatment": "Related output sequence.",
          "reuse": "Keep axes and caveats when cropping charts.",
          "id": "images-infographics-05",
          "number": 5,
          "film": "images-infographics",
          "film_title": "Slides & Infographics with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-infographics/072000.webp"
        },
        {
          "start": 82,
          "end": 110,
          "frame": 100,
          "kind": "output",
          "surface": "Further information designs",
          "description": "Interview and laptop inserts surround a dense result sheet and printed-style graphic.",
          "treatment": "Screen-to-output comparison.",
          "reuse": "Treat generated factual content as needing review.",
          "id": "images-infographics-06",
          "number": 6,
          "film": "images-infographics",
          "film_title": "Slides & Infographics with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=82s",
          "frame_source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-infographics/100000.webp"
        },
        {
          "start": 110,
          "end": 124,
          "frame": 116,
          "kind": "live",
          "surface": "Closing explanation",
          "description": "The presenter finishes in the same room.",
          "treatment": "Matched interview view.",
          "reuse": "Return to the speaker after the examples.",
          "id": "images-infographics-07",
          "number": 7,
          "film": "images-infographics",
          "film_title": "Slides & Infographics with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=110s",
          "frame_source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-infographics/116000.webp"
        },
        {
          "start": 124,
          "end": 125.874,
          "frame": 124,
          "kind": "title",
          "surface": "End wordmark",
          "description": "White identity ending.",
          "treatment": "Minimal type.",
          "reuse": "Use an original outro.",
          "id": "images-infographics-08",
          "number": 8,
          "film": "images-infographics",
          "film_title": "Slides & Infographics with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=124s",
          "frame_source_url": "https://www.youtube.com/watch?v=B-73tuAHBo8&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-infographics/124000.webp"
        }
      ]
    },
    {
      "slug": "images-multilingual",
      "id": "B4r4t9eIwNI",
      "title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-21",
      "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI",
      "duration": 137.846042,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "c9206c7356a7b7ac1ae47a80c4d4e5fb9fd0390b29af41df3950cb7bb7c31cc9",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 60,
      "summary": "Travel-poster examples are shown first as complete compositions and then as close text details, with people reacting between outputs.",
      "borrow": "Use a repeatable whole-poster/detail pattern across languages.",
      "avoid": "Visual text presence does not validate translation, grammar, geography, or factual accuracy.",
      "selection_reason": "Text treatment across languages",
      "inspection": "Full-duration four-second contact sheets visually inspected. Approximate grouped beats; no audio analysis or frame-exact cut claim.",
      "screen_count": 1,
      "shots": [
        {
          "start": 0,
          "end": 30,
          "frame": 16,
          "kind": "live",
          "surface": "Interview and production detail",
          "description": "Production equipment, slate, and presenter coverage open the film.",
          "treatment": "Grouped behind-the-scenes framing.",
          "reuse": "Give the demonstration a human context.",
          "id": "images-multilingual-01",
          "number": 1,
          "film": "images-multilingual",
          "film_title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-multilingual/016000.webp"
        },
        {
          "start": 30,
          "end": 46,
          "frame": 44,
          "kind": "output",
          "surface": "First illustrated poster",
          "description": "Laptop input and a loading tile precede a landscape poster with text.",
          "treatment": "Input-to-output reveal.",
          "reuse": "Let the finished composition be seen whole.",
          "id": "images-multilingual-02",
          "number": 2,
          "film": "images-multilingual",
          "film_title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-multilingual/044000.webp"
        },
        {
          "start": 46,
          "end": 62,
          "frame": 60,
          "kind": "output",
          "surface": "Second poster detail",
          "description": "Another prompt leads to a tall poster and its text crop.",
          "treatment": "Whole-to-detail repetition.",
          "reuse": "Use the same comparison grammar.",
          "id": "images-multilingual-03",
          "number": 3,
          "film": "images-multilingual",
          "film_title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-multilingual/060000.webp"
        },
        {
          "start": 62,
          "end": 76,
          "frame": 72,
          "kind": "output",
          "surface": "Neon city poster",
          "description": "A dark city poster is followed by a tight text region.",
          "treatment": "Strong visual contrast with the earlier paper-like art.",
          "reuse": "Show a distinct style without changing the presentation rules.",
          "id": "images-multilingual-04",
          "number": 4,
          "film": "images-multilingual",
          "film_title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-multilingual/072000.webp"
        },
        {
          "start": 76,
          "end": 104,
          "frame": 88,
          "kind": "output",
          "surface": "Further scripts and collaboration",
          "description": "Two people examine the laptop between illustrated posters.",
          "treatment": "Human reaction and output coverage grouped together.",
          "reuse": "Do not mistake a reaction shot for linguistic validation.",
          "id": "images-multilingual-05",
          "number": 5,
          "film": "images-multilingual",
          "film_title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=76s",
          "frame_source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-multilingual/088000.webp"
        },
        {
          "start": 104,
          "end": 122,
          "frame": 112,
          "kind": "app",
          "surface": "Document-based request",
          "description": "A laptop shows an attached document and a new prompt.",
          "treatment": "Physical screen close-up.",
          "reuse": "Expose the source material.",
          "id": "images-multilingual-06",
          "number": 6,
          "film": "images-multilingual",
          "film_title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=104s",
          "frame_source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-multilingual/112000.webp"
        },
        {
          "start": 122,
          "end": 136,
          "frame": 124,
          "kind": "output",
          "surface": "Text-heavy page",
          "description": "A dense page is shown directly, then on the presenter's laptop.",
          "treatment": "Digital-to-physical continuity.",
          "reuse": "Keep enough resolution for meaningful inspection.",
          "id": "images-multilingual-07",
          "number": 7,
          "film": "images-multilingual",
          "film_title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=122s",
          "frame_source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-multilingual/124000.webp"
        },
        {
          "start": 136,
          "end": 137.846042,
          "frame": 136,
          "kind": "title",
          "surface": "Identity ending",
          "description": "The mark appears on white.",
          "treatment": "Simple reset.",
          "reuse": "End cleanly.",
          "id": "images-multilingual-08",
          "number": 8,
          "film": "images-multilingual",
          "film_title": "Multilingual & Text Rendering with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=136s",
          "frame_source_url": "https://www.youtube.com/watch?v=B4r4t9eIwNI&t=136s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-multilingual/136000.webp"
        }
      ]
    },
    {
      "slug": "images-aspect",
      "id": "L-RVyipLHQQ",
      "title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-21",
      "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ",
      "duration": 151.514,
      "width": 1920,
      "height": 1080,
      "fps": 23.976017379476108,
      "sha256": "21d7833799022f26666864553d5fb0c57958493db51b7e126cfe1696270a65bf",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 68,
      "summary": "Aspect ratios are explained through a tall infographic, a physical print, texture detail, and a panoramic viewer.",
      "borrow": "Use real scale and different containers to explain output dimensions.",
      "avoid": "Neither a filmed print nor a zoomed texture independently verifies source resolution or factual content.",
      "selection_reason": "Output framing across aspect ratios",
      "inspection": "Full-duration four-second contact sheets visually inspected. Approximate grouped beats; no audio analysis or frame-exact cut claim.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 30,
          "frame": 20,
          "kind": "graphic",
          "surface": "Aspect-ratio setup",
          "description": "Interview coverage includes three differently proportioned rectangles.",
          "treatment": "Simple explanatory geometry.",
          "reuse": "Introduce format before content.",
          "id": "images-aspect-01",
          "number": 1,
          "film": "images-aspect",
          "film_title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-aspect/020000.webp"
        },
        {
          "start": 30,
          "end": 62,
          "frame": 56,
          "kind": "output",
          "surface": "Tall infographic",
          "description": "Laptop input leads to a narrow image and an enlarged ocean-depth detail.",
          "treatment": "Whole tall output then crop.",
          "reuse": "Retain orientation while making detail readable.",
          "id": "images-aspect-02",
          "number": 2,
          "film": "images-aspect",
          "film_title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-aspect/056000.webp"
        },
        {
          "start": 62,
          "end": 80,
          "frame": 68,
          "kind": "output",
          "surface": "Physical print",
          "description": "The presenter holds a long print; another poster appears directly.",
          "treatment": "Physical scale reference.",
          "reuse": "Use a real object when dimensions matter.",
          "id": "images-aspect-03",
          "number": 3,
          "film": "images-aspect",
          "film_title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-aspect/068000.webp"
        },
        {
          "start": 80,
          "end": 96,
          "frame": 88,
          "kind": "output",
          "surface": "Texture inspection",
          "description": "Rice-like texture appears close, then as a smaller full image.",
          "treatment": "Detail-to-whole comparison.",
          "reuse": "Distinguish visible texture from a resolution specification.",
          "id": "images-aspect-04",
          "number": 4,
          "film": "images-aspect",
          "film_title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-aspect/088000.webp"
        },
        {
          "start": 96,
          "end": 118,
          "frame": 112,
          "kind": "app",
          "surface": "Panorama request",
          "description": "Interview and laptop coverage lead to a panoramic-image prompt.",
          "treatment": "Clean composer insert.",
          "reuse": "State the requested format.",
          "id": "images-aspect-05",
          "number": 5,
          "film": "images-aspect",
          "film_title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-aspect/112000.webp"
        },
        {
          "start": 118,
          "end": 130,
          "frame": 124,
          "kind": "app",
          "surface": "Viewer preparation",
          "description": "A panorama result is followed by a conversation view.",
          "treatment": "Result and implementation context remain distinct.",
          "reuse": "Do not call a generated viewer a built-in product feature.",
          "id": "images-aspect-06",
          "number": 6,
          "film": "images-aspect",
          "film_title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=118s",
          "frame_source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-aspect/124000.webp"
        },
        {
          "start": 130,
          "end": 146,
          "frame": 132,
          "kind": "app",
          "surface": "Interactive panorama",
          "description": "A viewer with orientation readouts appears, followed by laptop and panoramic-strip views.",
          "treatment": "Direct viewer plus physical device proof.",
          "reuse": "Show an interaction that explains the format.",
          "id": "images-aspect-07",
          "number": 7,
          "film": "images-aspect",
          "film_title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=130s",
          "frame_source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-aspect/132000.webp"
        },
        {
          "start": 146,
          "end": 151.514,
          "frame": 148,
          "kind": "title",
          "surface": "Brand ending",
          "description": "White wordmark.",
          "treatment": "Minimal close.",
          "reuse": "Use an original identity.",
          "id": "images-aspect-08",
          "number": 8,
          "film": "images-aspect",
          "film_title": "Aspect Ratios & Resolution with ChatGPT Images 2.0",
          "source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=146s",
          "frame_source_url": "https://www.youtube.com/watch?v=L-RVyipLHQQ&t=148s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-aspect/148000.webp"
        }
      ]
    },
    {
      "slug": "codex-everything",
      "id": "Lm7-yFZ5fZQ",
      "title": "Codex for (almost) everything",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-16",
      "source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ",
      "duration": 99.714,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "68274a3278163ef207d32b86267f466efdd217db5c4255b1484504189f8555f8",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 24,
      "summary": "A capability reel uses statement cards to separate computer interaction, browser inspection, image creation, connectors, planning, and file viewing.",
      "borrow": "Give each capability a compact input/action/result cluster.",
      "avoid": "Generated sites and games are example outputs, not standard host-app features.",
      "selection_reason": "Broad capability reel and output variety",
      "inspection": "Full-duration four-second contact sheets visually inspected. Approximate grouped beats; no audio analysis or frame-exact cut claim.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "app",
          "surface": "Coding and desktop result",
          "description": "An opening title leads to code and a small game window.",
          "treatment": "Layered application windows.",
          "reuse": "Show the result beside the work.",
          "id": "codex-everything-01",
          "number": 1,
          "film": "codex-everything",
          "film_title": "Codex for (almost) everything",
          "source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-everything/008000.webp"
        },
        {
          "start": 12,
          "end": 30,
          "frame": 24,
          "kind": "app",
          "surface": "Browser inspection",
          "description": "A chapter leads to a generated site and contextual inspection controls.",
          "treatment": "Whole page then targeted interaction.",
          "reuse": "Retain the application frame around generated output.",
          "id": "codex-everything-02",
          "number": 2,
          "film": "codex-everything",
          "film_title": "Codex for (almost) everything",
          "source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-everything/024000.webp"
        },
        {
          "start": 30,
          "end": 44,
          "frame": 40,
          "kind": "app",
          "surface": "Image generation",
          "description": "A statement and prompt lead to an image and restaurant-site preview.",
          "treatment": "Input-to-artifact pairing.",
          "reuse": "Link the asset to its use.",
          "id": "codex-everything-03",
          "number": 3,
          "film": "codex-everything",
          "film_title": "Codex for (almost) everything",
          "source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-everything/040000.webp"
        },
        {
          "start": 44,
          "end": 62,
          "frame": 52,
          "kind": "app",
          "surface": "Connected tools",
          "description": "A tools chapter shows plugin details and subsequent composer references.",
          "treatment": "Catalog detail and permission text.",
          "reuse": "Keep tool access explicit.",
          "id": "codex-everything-04",
          "number": 4,
          "film": "codex-everything",
          "film_title": "Codex for (almost) everything",
          "source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-everything/052000.webp"
        },
        {
          "start": 62,
          "end": 80,
          "frame": 72,
          "kind": "app",
          "surface": "Planning and follow-up",
          "description": "Written plans and a multi-source response fill the conversation.",
          "treatment": "Readable text close-ups.",
          "reuse": "Select the sentence the audience needs rather than scrolling everything.",
          "id": "codex-everything-05",
          "number": 5,
          "film": "codex-everything",
          "film_title": "Codex for (almost) everything",
          "source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-everything/072000.webp"
        },
        {
          "start": 80,
          "end": 99.714,
          "frame": 96,
          "kind": "app",
          "surface": "File viewing",
          "description": "A file-viewing chapter leads to spreadsheet output and an inline table.",
          "treatment": "Whole workspace and data detail.",
          "reuse": "Finish on an inspectable artifact.",
          "id": "codex-everything-06",
          "number": 6,
          "film": "codex-everything",
          "film_title": "Codex for (almost) everything",
          "source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=Lm7-yFZ5fZQ&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-everything/096000.webp"
        }
      ]
    },
    {
      "slug": "shopping-room",
      "id": "1PiLUnxd1b8",
      "title": "Design your dream room by shopping with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-09",
      "source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8",
      "duration": 42.034,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "80f64da2aa81b735b5d5f11de950cf8d7516c4463f1463ae3363f9902441a664",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 36,
      "summary": "An isolated image prompt expands into a phone conversation, refined recommendations, and a product detail sheet.",
      "borrow": "Keep the phone fixed while the conversation and product surfaces change.",
      "avoid": "Recommendations and listing details are historical; this is not evidence of a purchase.",
      "selection_reason": "Product comparison and room-planning workflow",
      "inspection": "Full-duration four-second contact sheets visually inspected. Approximate grouped beats; no audio analysis or frame-exact cut claim.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "app",
          "surface": "Image input",
          "description": "A floating composer receives a chair photo.",
          "treatment": "Minimal input against white.",
          "reuse": "Make the visual source explicit.",
          "id": "shopping-room-01",
          "number": 1,
          "film": "shopping-room",
          "film_title": "Design your dream room by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-room/008000.webp"
        },
        {
          "start": 10,
          "end": 22,
          "frame": 16,
          "kind": "app",
          "surface": "Phone recommendations",
          "description": "The prompt becomes a phone conversation with related chairs.",
          "treatment": "Device reveal on a pastel field.",
          "reuse": "Preserve the same request across the reveal.",
          "id": "shopping-room-02",
          "number": 2,
          "film": "shopping-room",
          "film_title": "Design your dream room by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-room/016000.webp"
        },
        {
          "start": 22,
          "end": 34,
          "frame": 28,
          "kind": "app",
          "surface": "Refined request",
          "description": "A follow-up leads to a tighter set of chair suggestions.",
          "treatment": "Fixed phone; content scroll.",
          "reuse": "Show refinement rather than unrelated results.",
          "id": "shopping-room-03",
          "number": 3,
          "film": "shopping-room",
          "film_title": "Design your dream room by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-room/028000.webp"
        },
        {
          "start": 34,
          "end": 40,
          "frame": 36,
          "kind": "app",
          "surface": "Product detail",
          "description": "A chair detail sheet fills more of the device.",
          "treatment": "Closer product surface.",
          "reuse": "End on a readable selected item.",
          "id": "shopping-room-04",
          "number": 4,
          "film": "shopping-room",
          "film_title": "Design your dream room by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-room/036000.webp"
        },
        {
          "start": 40,
          "end": 42.034,
          "frame": 40,
          "kind": "title",
          "surface": "Closing mark",
          "description": "The phone gives way to a mark on white.",
          "treatment": "Clean reset.",
          "reuse": "Use your own end card.",
          "id": "shopping-room-05",
          "number": 5,
          "film": "shopping-room",
          "film_title": "Design your dream room by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=1PiLUnxd1b8&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-room/040000.webp"
        }
      ]
    },
    {
      "slug": "shopping-gift",
      "id": "th8u0bqYsQk",
      "title": "Find the perfect gift by shopping with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-03-27",
      "source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk",
      "duration": 52.214,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "bbdc4f174ec401b6b52c2291a8957f396485be1ecb856f7d8efa998dcebc9099",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 40,
      "summary": "A gift prompt becomes a phone-based recommendation flow, comparison, and selected item.",
      "borrow": "Let a concrete constraint organize the product sequence.",
      "avoid": "A product detail view is not checkout or proof of suitability.",
      "selection_reason": "Gift discovery and result framing",
      "inspection": "Full-duration four-second contact sheets visually inspected. Approximate grouped beats; no audio analysis or frame-exact cut claim.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "app",
          "surface": "Gift constraints",
          "description": "An isolated composer asks for a dinosaur-themed gift.",
          "treatment": "Growing input close-up.",
          "reuse": "Show the preference that drives the results.",
          "id": "shopping-gift-01",
          "number": 1,
          "film": "shopping-gift",
          "film_title": "Find the perfect gift by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-gift/008000.webp"
        },
        {
          "start": 10,
          "end": 26,
          "frame": 20,
          "kind": "app",
          "surface": "Recommendation categories",
          "description": "A phone scrolls through toy and activity suggestions.",
          "treatment": "Stable device and background.",
          "reuse": "Use category changes as readable beats.",
          "id": "shopping-gift-02",
          "number": 2,
          "film": "shopping-gift",
          "film_title": "Find the perfect gift by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-gift/020000.webp"
        },
        {
          "start": 26,
          "end": 38,
          "frame": 32,
          "kind": "app",
          "surface": "Follow-up results",
          "description": "A selected item becomes the context for another request.",
          "treatment": "Conversation continuity.",
          "reuse": "Keep the same object through refinement.",
          "id": "shopping-gift-03",
          "number": 3,
          "film": "shopping-gift",
          "film_title": "Find the perfect gift by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-gift/032000.webp"
        },
        {
          "start": 38,
          "end": 46,
          "frame": 44,
          "kind": "app",
          "surface": "Comparison and detail",
          "description": "A comparison table precedes a selected product sheet.",
          "treatment": "From overview to decision detail.",
          "reuse": "Expose the reason for choosing an item.",
          "id": "shopping-gift-04",
          "number": 4,
          "film": "shopping-gift",
          "film_title": "Find the perfect gift by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=38s",
          "frame_source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-gift/044000.webp"
        },
        {
          "start": 46,
          "end": 52.214,
          "frame": 48,
          "kind": "title",
          "surface": "Closing line and mark",
          "description": "A short shopping statement precedes identity.",
          "treatment": "Two-part white ending.",
          "reuse": "Keep closing copy concise.",
          "id": "shopping-gift-05",
          "number": 5,
          "film": "shopping-gift",
          "film_title": "Find the perfect gift by shopping with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=th8u0bqYsQk&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-gift/048000.webp"
        }
      ]
    },
    {
      "slug": "shopping-compare",
      "id": "jM1oSEXssOE",
      "title": "Research and compare products with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-03-27",
      "source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE",
      "duration": 39.034,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "de5a22e053318f48e04f584254038d4d1e5062ddfc4c37cce66658a6b7ff4332",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 28,
      "summary": "A compact microwave search moves from constraints to product details, review summaries, and a side-by-side table.",
      "borrow": "Give a comparison its own screen instead of asking viewers to remember previous cards.",
      "avoid": "Prices, review claims, and stock are historical demo content, not recommendations from this guide.",
      "selection_reason": "Comparison controls and readable product evidence",
      "inspection": "Full-duration four-second contact sheets visually inspected. Approximate grouped beats; no audio analysis or frame-exact cut claim.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "app",
          "surface": "Constrained request",
          "description": "A composer names size and noise preferences.",
          "treatment": "Minimal text input.",
          "reuse": "Make the comparison criteria explicit.",
          "id": "shopping-compare-01",
          "number": 1,
          "film": "shopping-compare",
          "film_title": "Research and compare products with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-compare/008000.webp"
        },
        {
          "start": 10,
          "end": 22,
          "frame": 20,
          "kind": "app",
          "surface": "Product and reviews",
          "description": "A phone shows a recommendation, product sheet, and review summary.",
          "treatment": "Fixed device with surface changes.",
          "reuse": "Keep supporting information near the item.",
          "id": "shopping-compare-02",
          "number": 2,
          "film": "shopping-compare",
          "film_title": "Research and compare products with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-compare/020000.webp"
        },
        {
          "start": 22,
          "end": 28,
          "frame": 24,
          "kind": "app",
          "surface": "Alternative option",
          "description": "The conversation shows a budget alternative.",
          "treatment": "Return from detail to the result list.",
          "reuse": "Establish the alternative before comparing.",
          "id": "shopping-compare-03",
          "number": 3,
          "film": "shopping-compare",
          "film_title": "Research and compare products with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-compare/024000.webp"
        },
        {
          "start": 28,
          "end": 36,
          "frame": 32,
          "kind": "app",
          "surface": "Comparison table",
          "description": "Product images sit above aligned specifications.",
          "treatment": "Readable table inside the phone.",
          "reuse": "Align shared criteria across choices.",
          "id": "shopping-compare-04",
          "number": 4,
          "film": "shopping-compare",
          "film_title": "Research and compare products with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-compare/032000.webp"
        },
        {
          "start": 36,
          "end": 39.034,
          "frame": 36,
          "kind": "title",
          "surface": "Closing statement",
          "description": "A short shopping line ends the film.",
          "treatment": "Centered type on white.",
          "reuse": "End after the decision-support view.",
          "id": "shopping-compare-05",
          "number": 5,
          "film": "shopping-compare",
          "film_title": "Research and compare products with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=jM1oSEXssOE&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shopping-compare/036000.webp"
        }
      ]
    },
    {
      "slug": "skills-beta",
      "id": "qh93rLRPw80",
      "title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-03-13",
      "source_url": "https://www.youtube.com/watch?v=qh93rLRPw80",
      "duration": 61.074,
      "width": 1920,
      "height": 1080,
      "fps": 29.97002997002997,
      "sha256": "e9268cce33b0528c2dea22172c11149c8b60670a85b3e67cbc2d7f8d1c8f61f0",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 48,
      "summary": "A skill-creation request produces an installable object, followed by a document task and a separate sharing chapter.",
      "borrow": "Show the saved object between creation and reuse.",
      "avoid": "Do not reuse historical beta-availability copy as a current product claim.",
      "selection_reason": "Reusable instruction setup and application",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial beats; no audio analysis or frame-exact timing claim.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 14,
          "frame": 8,
          "kind": "app",
          "surface": "Skill request",
          "description": "The composer specifies a reusable weekly-update format.",
          "treatment": "Input grows in a fixed frame.",
          "reuse": "Make the reusable contract legible.",
          "id": "skills-beta-01",
          "number": 1,
          "film": "skills-beta",
          "film_title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
          "source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/skills-beta/008000.webp"
        },
        {
          "start": 14,
          "end": 22,
          "frame": 20,
          "kind": "app",
          "surface": "Installable artifact",
          "description": "The response reveals a skill card and Install control.",
          "treatment": "Tight result view.",
          "reuse": "Finish creation on an inspectable object.",
          "id": "skills-beta-02",
          "number": 2,
          "film": "skills-beta",
          "film_title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
          "source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/skills-beta/020000.webp"
        },
        {
          "start": 22,
          "end": 26,
          "frame": 24,
          "kind": "title",
          "surface": "Reuse chapter",
          "description": "A card introduces automatic use.",
          "treatment": "White reset.",
          "reuse": "Separate creation from application.",
          "id": "skills-beta-03",
          "number": 3,
          "film": "skills-beta",
          "film_title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
          "source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/skills-beta/024000.webp"
        },
        {
          "start": 26,
          "end": 38,
          "frame": 36,
          "kind": "app",
          "surface": "Document task",
          "description": "A notes document is dropped in and becomes a formatted update.",
          "treatment": "Attachment-to-response sequence.",
          "reuse": "Show the source and structured result.",
          "id": "skills-beta-04",
          "number": 4,
          "film": "skills-beta",
          "film_title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
          "source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/skills-beta/036000.webp"
        },
        {
          "start": 38,
          "end": 54,
          "frame": 48,
          "kind": "app",
          "surface": "Sharing and inspection",
          "description": "A title leads through settings to a skill detail view with files.",
          "treatment": "Native management surface.",
          "reuse": "Expose the reusable instructions rather than just a badge.",
          "id": "skills-beta-05",
          "number": 5,
          "film": "skills-beta",
          "film_title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
          "source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=38s",
          "frame_source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/skills-beta/048000.webp"
        },
        {
          "start": 54,
          "end": 61.074,
          "frame": 60,
          "kind": "title",
          "surface": "Availability and identity",
          "description": "Text and a mark close the film.",
          "treatment": "Minimal ending.",
          "reuse": "Keep historical rollout claims out of new production.",
          "id": "skills-beta-06",
          "number": 6,
          "film": "skills-beta",
          "film_title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
          "source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=qh93rLRPw80&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/skills-beta/060000.webp"
        }
      ]
    },
    {
      "slug": "codex-checks",
      "id": "dHCNpcNyoFM",
      "title": "Codex checks its work for you",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-02-11",
      "source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM",
      "duration": 143.834,
      "width": 1920,
      "height": 1080,
      "fps": 29.970099436756833,
      "sha256": "55bcce33ec50f4851507da6c360ec41ab7474220e641e9f14d22a01707a2c8ee",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 104,
      "summary": "A two-person conversation switches to a dark code workspace with a small persistent presenter inset.",
      "borrow": "Keep the people secondary while the evidence becomes the main image.",
      "avoid": "The inset and dense text limit readability; a summary is not independent test verification.",
      "selection_reason": "Visible verification rather than unsupported success",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial beats; no audio analysis or frame-exact timing claim.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 54,
          "frame": 24,
          "kind": "live",
          "surface": "Conversation setup",
          "description": "Close speaker coverage alternates with a two-person desk shot.",
          "treatment": "Long grouped interview sequence.",
          "reuse": "Use only the explanation needed before a demo.",
          "id": "codex-checks-01",
          "number": 1,
          "film": "codex-checks",
          "film_title": "Codex checks its work for you",
          "source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-checks/024000.webp"
        },
        {
          "start": 54,
          "end": 66,
          "frame": 60,
          "kind": "app",
          "surface": "Review summary",
          "description": "A dark conversation shows reported changes with the presenters inset.",
          "treatment": "Screen dominates; human inset lower left.",
          "reuse": "Keep the evidence readable and the inset clear of controls.",
          "id": "codex-checks-02",
          "number": 2,
          "film": "codex-checks",
          "film_title": "Codex checks its work for you",
          "source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-checks/060000.webp"
        },
        {
          "start": 66,
          "end": 94,
          "frame": 80,
          "kind": "live",
          "surface": "Discussion return",
          "description": "The two-person scene returns before another screen segment.",
          "treatment": "Matched room and angles.",
          "reuse": "Separate explanation from the next check.",
          "id": "codex-checks-03",
          "number": 3,
          "film": "codex-checks",
          "film_title": "Codex checks its work for you",
          "source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-checks/080000.webp"
        },
        {
          "start": 94,
          "end": 122,
          "frame": 108,
          "kind": "app",
          "surface": "Code and checking activity",
          "description": "Text and code blocks scroll in the dark workspace.",
          "treatment": "Stable application with persistent inset.",
          "reuse": "Show the actual checks when claiming verification.",
          "id": "codex-checks-04",
          "number": 4,
          "film": "codex-checks",
          "film_title": "Codex checks its work for you",
          "source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=94s",
          "frame_source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-checks/108000.webp"
        },
        {
          "start": 122,
          "end": 130,
          "frame": 128,
          "kind": "app",
          "surface": "Reported outcome",
          "description": "The conversation returns to a summarized result.",
          "treatment": "Same screen framing.",
          "reuse": "Distinguish reported success from independent proof.",
          "id": "codex-checks-05",
          "number": 5,
          "film": "codex-checks",
          "film_title": "Codex checks its work for you",
          "source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=122s",
          "frame_source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-checks/128000.webp"
        },
        {
          "start": 130,
          "end": 143.834,
          "frame": 140,
          "kind": "live",
          "surface": "Closing discussion",
          "description": "The speakers return through the ending.",
          "treatment": "No sampled standalone identity card.",
          "reuse": "A human ending can replace a logo outro.",
          "id": "codex-checks-06",
          "number": 6,
          "film": "codex-checks",
          "film_title": "Codex checks its work for you",
          "source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=130s",
          "frame_source_url": "https://www.youtube.com/watch?v=dHCNpcNyoFM&t=140s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-checks/140000.webp"
        }
      ]
    },
    {
      "slug": "codex-pms",
      "id": "6OiE0jIY93c",
      "title": "How PMs use the Codex app",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-02-09",
      "source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c",
      "duration": 139.506,
      "width": 1920,
      "height": 1080,
      "fps": 29.970037131019453,
      "sha256": "4180b4f68f3d8284b5ddac7b76ca5000019563c931f480d6c9cc4f57acce794b",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 60,
      "summary": "A product-management interview uses a light conversation view, highlighted text, and a skills catalog with a persistent two-person inset.",
      "borrow": "Use the application view to support the conversation rather than to decorate it.",
      "avoid": "A long chat scroll should not be transplanted unchanged beneath dense narration.",
      "selection_reason": "Product-manager workflow and non-code artifacts",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial beats; no audio analysis or frame-exact timing claim.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 14,
          "frame": 8,
          "kind": "live",
          "surface": "Speaker introduction",
          "description": "A close-up gives way to a two-person desk view.",
          "treatment": "Human context first.",
          "reuse": "Establish the practical user role.",
          "id": "codex-pms-01",
          "number": 1,
          "film": "codex-pms",
          "film_title": "How PMs use the Codex app",
          "source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-pms/008000.webp"
        },
        {
          "start": 14,
          "end": 46,
          "frame": 32,
          "kind": "app",
          "surface": "Explaining code behavior",
          "description": "A conversation with linked and highlighted text occupies the main frame.",
          "treatment": "Light UI with small presenter inset.",
          "reuse": "Isolate the explanation the audience needs.",
          "id": "codex-pms-02",
          "number": 2,
          "film": "codex-pms",
          "film_title": "How PMs use the Codex app",
          "source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-pms/032000.webp"
        },
        {
          "start": 46,
          "end": 56,
          "frame": 52,
          "kind": "live",
          "surface": "Reaction bridge",
          "description": "A smiling speaker returns briefly.",
          "treatment": "Close interview coverage.",
          "reuse": "Use a reaction after meaningful evidence.",
          "id": "codex-pms-03",
          "number": 3,
          "film": "codex-pms",
          "film_title": "How PMs use the Codex app",
          "source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-pms/052000.webp"
        },
        {
          "start": 56,
          "end": 66,
          "frame": 60,
          "kind": "app",
          "surface": "Skill discovery",
          "description": "The screen switches to an Explore Skills page.",
          "treatment": "Full application context retained.",
          "reuse": "Show where a reusable workflow is found.",
          "id": "codex-pms-04",
          "number": 4,
          "film": "codex-pms",
          "film_title": "How PMs use the Codex app",
          "source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=56s",
          "frame_source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-pms/060000.webp"
        },
        {
          "start": 66,
          "end": 94,
          "frame": 84,
          "kind": "app",
          "surface": "Follow-up conversation",
          "description": "Further responses and a short prompt appear in the same workspace.",
          "treatment": "Stable screen/inset composition.",
          "reuse": "Keep related questions in one visual chapter.",
          "id": "codex-pms-05",
          "number": 5,
          "film": "codex-pms",
          "film_title": "How PMs use the Codex app",
          "source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-pms/084000.webp"
        },
        {
          "start": 94,
          "end": 139.506,
          "frame": 120,
          "kind": "live",
          "surface": "Closing conversation",
          "description": "The interview continues in wide and close shots.",
          "treatment": "Grouped human ending.",
          "reuse": "Trim conversational tails when adapting for an all-hands.",
          "id": "codex-pms-06",
          "number": 6,
          "film": "codex-pms",
          "film_title": "How PMs use the Codex app",
          "source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=94s",
          "frame_source_url": "https://www.youtube.com/watch?v=6OiE0jIY93c&t=120s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-pms/120000.webp"
        }
      ]
    },
    {
      "slug": "codex-figma",
      "id": "P7HXxl14dCA",
      "title": "How designers prototype using the Codex app and Figma",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-02-04",
      "source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA",
      "duration": 115.134,
      "width": 1920,
      "height": 1080,
      "fps": 29.97002997002997,
      "sha256": "f57a8c502dac54ee6a8e9854b028ec748e35ef3a7343daf95859e9d8f739c800",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 56,
      "summary": "A design interview shows a Figma reference beside a conversation, then a browser-hosted interactive prototype.",
      "borrow": "Preserve visual continuity from source design to running prototype.",
      "avoid": "The recreated interface is a prototype, not evidence that the host product shipped those controls.",
      "selection_reason": "Design-to-prototype handoff and visual continuity",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial beats; no audio analysis or frame-exact timing claim.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 26,
          "frame": 12,
          "kind": "live",
          "surface": "Designer introduction",
          "description": "A close interview view establishes the workflow.",
          "treatment": "Steady human coverage.",
          "reuse": "Name the design problem first.",
          "id": "codex-figma-01",
          "number": 1,
          "film": "codex-figma",
          "film_title": "How designers prototype using the Codex app and Figma",
          "source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-figma/012000.webp"
        },
        {
          "start": 26,
          "end": 42,
          "frame": 32,
          "kind": "app",
          "surface": "Design reference and prompt",
          "description": "Figma and a conversation share the screen with a small presenter inset.",
          "treatment": "Source and instruction side by side.",
          "reuse": "Expose the design being implemented.",
          "id": "codex-figma-02",
          "number": 2,
          "film": "codex-figma",
          "film_title": "How designers prototype using the Codex app and Figma",
          "source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-figma/032000.webp"
        },
        {
          "start": 42,
          "end": 54,
          "frame": 48,
          "kind": "app",
          "surface": "Prototype loading",
          "description": "A browser surface loads the recreated interface beside the conversation.",
          "treatment": "Same layout keeps source-to-result continuity.",
          "reuse": "Distinguish loading from completed interaction.",
          "id": "codex-figma-03",
          "number": 3,
          "film": "codex-figma",
          "film_title": "How designers prototype using the Codex app and Figma",
          "source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-figma/048000.webp"
        },
        {
          "start": 54,
          "end": 78,
          "frame": 68,
          "kind": "app",
          "surface": "Prototype interaction",
          "description": "The prototype fills more of the frame and changes selected content.",
          "treatment": "Tighter running interface.",
          "reuse": "Show an interaction, not only visual resemblance.",
          "id": "codex-figma-04",
          "number": 4,
          "film": "codex-figma",
          "film_title": "How designers prototype using the Codex app and Figma",
          "source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=54s",
          "frame_source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-figma/068000.webp"
        },
        {
          "start": 78,
          "end": 115.134,
          "frame": 96,
          "kind": "live",
          "surface": "Discussion close",
          "description": "Close and two-person interview shots finish the film.",
          "treatment": "Return to the original room.",
          "reuse": "Keep commentary separate from prototype proof.",
          "id": "codex-figma-05",
          "number": 5,
          "film": "codex-figma",
          "film_title": "How designers prototype using the Codex app and Figma",
          "source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=P7HXxl14dCA&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-figma/096000.webp"
        }
      ]
    },
    {
      "slug": "prism-intro",
      "id": "xnInEsaaj9c",
      "title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-01-27",
      "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c",
      "duration": 119.194,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "d9853763611e8e08a818e45aef0c0ed6a674bc6494eccce2d026d8d3f0c57cd9",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 48,
      "summary": "A dark writing workspace and white paper preview remain paired through edits, image input, references, and checking.",
      "borrow": "Use a persistent source/result split to explain technical document work.",
      "avoid": "Generated equations and citations still need domain review; visual polish is not correctness.",
      "selection_reason": "Research workspace, document, and collaboration framing",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial beats; no audio analysis or frame-exact timing claim.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 6,
          "frame": 4,
          "kind": "title",
          "surface": "Product introduction",
          "description": "A short Prism title appears on white.",
          "treatment": "Minimal opening.",
          "reuse": "Name the workspace before entering it.",
          "id": "prism-intro-01",
          "number": 1,
          "film": "prism-intro",
          "film_title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
          "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/prism-intro/004000.webp"
        },
        {
          "start": 6,
          "end": 30,
          "frame": 24,
          "kind": "app",
          "surface": "Document and revision",
          "description": "A dark editor sits beside a paper preview; colored edit blocks appear.",
          "treatment": "Whole workspace then source detail.",
          "reuse": "Keep changes visibly attached to the document.",
          "id": "prism-intro-02",
          "number": 2,
          "film": "prism-intro",
          "film_title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
          "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=6s",
          "frame_source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/prism-intro/024000.webp"
        },
        {
          "start": 30,
          "end": 58,
          "frame": 48,
          "kind": "app",
          "surface": "Image-to-document task",
          "description": "A file picker supplies an image and the document preview changes.",
          "treatment": "Native input followed by split-view proof.",
          "reuse": "Show both the source and rendered result.",
          "id": "prism-intro-03",
          "number": 3,
          "film": "prism-intro",
          "film_title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
          "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/prism-intro/048000.webp"
        },
        {
          "start": 58,
          "end": 62,
          "frame": 60,
          "kind": "title",
          "surface": "References chapter",
          "description": "A statement introduces literature and references.",
          "treatment": "White chapter reset.",
          "reuse": "Separate editing from research.",
          "id": "prism-intro-04",
          "number": 4,
          "film": "prism-intro",
          "film_title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
          "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/prism-intro/060000.webp"
        },
        {
          "start": 62,
          "end": 94,
          "frame": 80,
          "kind": "app",
          "surface": "Reference workflow",
          "description": "Requests and responses appear beside the paper.",
          "treatment": "Alternating conversation detail and whole preview.",
          "reuse": "Keep citation context when cropping.",
          "id": "prism-intro-05",
          "number": 5,
          "film": "prism-intro",
          "film_title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
          "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/prism-intro/080000.webp"
        },
        {
          "start": 94,
          "end": 98,
          "frame": 96,
          "kind": "title",
          "surface": "Checking chapter",
          "description": "A card names content checking.",
          "treatment": "Repeated chapter grammar.",
          "reuse": "Make verification a distinct step.",
          "id": "prism-intro-06",
          "number": 6,
          "film": "prism-intro",
          "film_title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
          "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=94s",
          "frame_source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/prism-intro/096000.webp"
        },
        {
          "start": 98,
          "end": 116,
          "frame": 108,
          "kind": "app",
          "surface": "Content check",
          "description": "A prompt leads to analysis beside the full document.",
          "treatment": "Source and response remain paired.",
          "reuse": "Show the evidence behind a check.",
          "id": "prism-intro-07",
          "number": 7,
          "film": "prism-intro",
          "film_title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
          "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=98s",
          "frame_source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/prism-intro/108000.webp"
        },
        {
          "start": 116,
          "end": 119.194,
          "frame": 116,
          "kind": "title",
          "surface": "Product identity",
          "description": "The Prism icon and name close the piece.",
          "treatment": "Centered identity.",
          "reuse": "Use your own closing mark.",
          "id": "prism-intro-08",
          "number": 8,
          "film": "prism-intro",
          "film_title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
          "source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=116s",
          "frame_source_url": "https://www.youtube.com/watch?v=xnInEsaaj9c&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/prism-intro/116000.webp"
        }
      ]
    },
    {
      "slug": "voice-update",
      "id": "4jBcK0cYass",
      "title": "What's New with ChatGPT Voice",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-12-05",
      "source_url": "https://www.youtube.com/watch?v=4jBcK0cYass",
      "duration": 64.334,
      "width": 1920,
      "height": 1080,
      "fps": 23.976117175109618,
      "sha256": "77d6c46e5321d893b3610ee131906fb146aa43cbaa0eddafc84bf37413e50d22",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 40,
      "summary": "An overhead phone on a table stays fixed while text, map results, and food imagery appear during a voice conversation.",
      "borrow": "Let product state change inside one calm physical composition.",
      "avoid": "A silent visual study cannot establish voice quality, turn-taking latency, or what was spoken.",
      "selection_reason": "Voice controls and conversation state",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial beats; no audio analysis or frame-exact timing claim.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 0,
          "kind": "title",
          "surface": "Overhead title",
          "description": "Large title text overlays the phone and tabletop.",
          "treatment": "Physical environment under typography.",
          "reuse": "Introduce the feature without abandoning context.",
          "id": "voice-update-01",
          "number": 1,
          "film": "voice-update",
          "film_title": "What's New with ChatGPT Voice",
          "source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=0s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/voice-update/000000.webp"
        },
        {
          "start": 4,
          "end": 24,
          "frame": 16,
          "kind": "app",
          "surface": "Voice conversation text",
          "description": "The phone displays changing conversation text and voice controls.",
          "treatment": "Fixed overhead camera.",
          "reuse": "Make status visible during audio-led interaction.",
          "id": "voice-update-02",
          "number": 2,
          "film": "voice-update",
          "film_title": "What's New with ChatGPT Voice",
          "source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/voice-update/016000.webp"
        },
        {
          "start": 24,
          "end": 34,
          "frame": 28,
          "kind": "app",
          "surface": "Map result",
          "description": "A map and location card appear on the same phone.",
          "treatment": "Content change inside a stable frame.",
          "reuse": "Show useful visual output from the conversation.",
          "id": "voice-update-03",
          "number": 3,
          "film": "voice-update",
          "film_title": "What's New with ChatGPT Voice",
          "source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/voice-update/028000.webp"
        },
        {
          "start": 34,
          "end": 58,
          "frame": 44,
          "kind": "app",
          "surface": "Image results",
          "description": "Food images and associated text replace the map.",
          "treatment": "Same device and lighting.",
          "reuse": "Keep successive result types easy to compare.",
          "id": "voice-update-04",
          "number": 4,
          "film": "voice-update",
          "film_title": "What's New with ChatGPT Voice",
          "source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=34s",
          "frame_source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/voice-update/044000.webp"
        },
        {
          "start": 58,
          "end": 64.334,
          "frame": 60,
          "kind": "title",
          "surface": "Identity and black tail",
          "description": "A white title card is followed by black.",
          "treatment": "Simple ending buffer.",
          "reuse": "Separate useful closing content from file tail.",
          "id": "voice-update-05",
          "number": 5,
          "film": "voice-update",
          "film_title": "What's New with ChatGPT Voice",
          "source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=4jBcK0cYass&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/voice-update/060000.webp"
        }
      ]
    },
    {
      "slug": "sora-cameos",
      "id": "kb9suz-kkoM",
      "title": "Introducing: Sora 2 Character Cameos",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-10-30",
      "source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM",
      "duration": 61.914,
      "width": 840,
      "height": 480,
      "fps": 30.0,
      "sha256": "392a32e00bdb71c7d278b5624401a9c3c6568dab2d54d95a21d784e7fdc89691",
      "family": "Output showcase",
      "priority": "Selective",
      "poster": 20,
      "summary": "A character audition motif presents creatures and people on a white studio set, including staged production equipment.",
      "borrow": "Repeat one environment to make character differences readable.",
      "avoid": "No app setup or character-creation controls are visible in the sampled film. The studio imagery is part of the showcase.",
      "selection_reason": "Generated character audition montage and output framing",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial beats; no audio analysis or frame-exact timing claim.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 0,
          "kind": "title",
          "surface": "Character title",
          "description": "White script lettering appears on black.",
          "treatment": "Distinctive title treatment.",
          "reuse": "Use an original title identity.",
          "id": "sora-cameos-01",
          "number": 1,
          "film": "sora-cameos",
          "film_title": "Introducing: Sora 2 Character Cameos",
          "source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=0s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-cameos/000000.webp"
        },
        {
          "start": 4,
          "end": 14,
          "frame": 8,
          "kind": "output",
          "surface": "Crab introduction",
          "description": "A small orange character is shown wide and close on a white set.",
          "treatment": "Scale change within one environment.",
          "reuse": "Introduce an object before emphasizing expression.",
          "id": "sora-cameos-02",
          "number": 2,
          "film": "sora-cameos",
          "film_title": "Introducing: Sora 2 Character Cameos",
          "source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-cameos/008000.webp"
        },
        {
          "start": 14,
          "end": 30,
          "frame": 20,
          "kind": "montage",
          "surface": "Audition variety",
          "description": "Several characters replace one another in the same studio motif.",
          "treatment": "Matched environment; changing subjects.",
          "reuse": "Use consistent framing to compare outputs.",
          "id": "sora-cameos-03",
          "number": 3,
          "film": "sora-cameos",
          "film_title": "Introducing: Sora 2 Character Cameos",
          "source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=14s",
          "frame_source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-cameos/020000.webp"
        },
        {
          "start": 30,
          "end": 46,
          "frame": 40,
          "kind": "montage",
          "surface": "Character performance",
          "description": "Returning and new characters occupy closer framings.",
          "treatment": "Expression-led output montage.",
          "reuse": "Keep a recurring subject recognizable.",
          "id": "sora-cameos-04",
          "number": 4,
          "film": "sora-cameos",
          "film_title": "Introducing: Sora 2 Character Cameos",
          "source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-cameos/040000.webp"
        },
        {
          "start": 46,
          "end": 60,
          "frame": 56,
          "kind": "montage",
          "surface": "Studio reveal",
          "description": "Wide views include cameras, lights, and microphones around the characters.",
          "treatment": "Context reveal inside the generated-film premise.",
          "reuse": "Do not mistake a staged production scene for documentary evidence.",
          "id": "sora-cameos-05",
          "number": 5,
          "film": "sora-cameos",
          "film_title": "Introducing: Sora 2 Character Cameos",
          "source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-cameos/056000.webp"
        },
        {
          "start": 60,
          "end": 61.914,
          "frame": 60,
          "kind": "title",
          "surface": "Title return",
          "description": "The opening character title returns.",
          "treatment": "Bookended identity.",
          "reuse": "Close a motif with a recognizable return.",
          "id": "sora-cameos-06",
          "number": 6,
          "film": "sora-cameos",
          "film_title": "Introducing: Sora 2 Character Cameos",
          "source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=kb9suz-kkoM&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-cameos/060000.webp"
        }
      ]
    },
    {
      "slug": "company-knowledge",
      "id": "DupfnOCH-JI",
      "title": "Work smarter with your company knowledge in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-10-23",
      "source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI",
      "duration": 37.694,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "88ba469d8878090a68e97474a743107b7bc25a52c1adf0d520816ba2dc665077",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 28,
      "summary": "A minimal feature label becomes connected-source icons, a composer, search status, and source cards.",
      "borrow": "Make provenance visible even in a short capability introduction.",
      "avoid": "Service icons alone do not prove connected permissions or a successful query.",
      "selection_reason": "Source discovery and connected knowledge",
      "inspection": "Full-duration four-second contact sheets visually inspected. Grouped editorial beats; no audio analysis or frame-exact timing claim.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "graphic",
          "surface": "Feature and source icons",
          "description": "A company-knowledge label gives way to service icons.",
          "treatment": "Isolated explanatory graphics.",
          "reuse": "Label the category before showing real controls.",
          "id": "company-knowledge-01",
          "number": 1,
          "film": "company-knowledge",
          "film_title": "Work smarter with your company knowledge in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/company-knowledge/008000.webp"
        },
        {
          "start": 10,
          "end": 22,
          "frame": 16,
          "kind": "app",
          "surface": "Source-aware prompt",
          "description": "A composer shows a knowledge mode and selected sources.",
          "treatment": "Tight input view.",
          "reuse": "Keep source scope alongside the request.",
          "id": "company-knowledge-02",
          "number": 2,
          "film": "company-knowledge",
          "film_title": "Work smarter with your company knowledge in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/company-knowledge/016000.webp"
        },
        {
          "start": 22,
          "end": 26,
          "frame": 24,
          "kind": "app",
          "surface": "Search status",
          "description": "Search text names the connected services.",
          "treatment": "Minimal working state.",
          "reuse": "Show activity without implying measured speed.",
          "id": "company-knowledge-03",
          "number": 3,
          "film": "company-knowledge",
          "film_title": "Work smarter with your company knowledge in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/company-knowledge/024000.webp"
        },
        {
          "start": 26,
          "end": 32,
          "frame": 28,
          "kind": "app",
          "surface": "Source-backed response",
          "description": "The response includes source cards and a source count.",
          "treatment": "Result provenance near the answer.",
          "reuse": "Retain evidence links in a result crop.",
          "id": "company-knowledge-04",
          "number": 4,
          "film": "company-knowledge",
          "film_title": "Work smarter with your company knowledge in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=26s",
          "frame_source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/company-knowledge/028000.webp"
        },
        {
          "start": 32,
          "end": 37.694,
          "frame": 36,
          "kind": "title",
          "surface": "Feature and identity ending",
          "description": "A feature statement precedes the mark.",
          "treatment": "White closing cards.",
          "reuse": "End after the evidence view.",
          "id": "company-knowledge-05",
          "number": 5,
          "film": "company-knowledge",
          "film_title": "Work smarter with your company knowledge in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=DupfnOCH-JI&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/company-knowledge/036000.webp"
        }
      ]
    },
    {
      "slug": "chatgpt-apps",
      "id": "2C4Cs6503gw",
      "title": "Apps in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-10-06",
      "source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw",
      "duration": 69.254,
      "width": 1920,
      "height": 1080,
      "fps": 59.94005994005994,
      "sha256": "d299f1803be3918acc4cd3c2793054256c5374ccd1ea8d695ce8a315041bdae8",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 32,
      "summary": "App-tagged prompts become phone results, with statement cards separating music, maps, presentations, and travel.",
      "borrow": "Keep the request visually connected to the embedded app result.",
      "avoid": "App logos and generated examples are not evidence of current availability or identical behavior elsewhere.",
      "selection_reason": "Application discovery and embedded surfaces",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "app",
          "surface": "App-tagged input",
          "description": "The composer cycles through named app tags and requests.",
          "treatment": "Isolated input on white.",
          "reuse": "Show which app receives the task.",
          "id": "chatgpt-apps-01",
          "number": 1,
          "film": "chatgpt-apps",
          "film_title": "Apps in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-apps/008000.webp"
        },
        {
          "start": 10,
          "end": 22,
          "frame": 20,
          "kind": "app",
          "surface": "Playlist result",
          "description": "A music request becomes a phone conversation with a playlist card.",
          "treatment": "Prompt-to-device reveal.",
          "reuse": "Make the result tangible.",
          "id": "chatgpt-apps-02",
          "number": 2,
          "film": "chatgpt-apps",
          "film_title": "Apps in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-apps/020000.webp"
        },
        {
          "start": 22,
          "end": 40,
          "frame": 32,
          "kind": "app",
          "surface": "Interactive map",
          "description": "A statement introduces a map with priced markers and a follow-up input.",
          "treatment": "Phone context into map detail.",
          "reuse": "Keep the query close to the result it refines.",
          "id": "chatgpt-apps-03",
          "number": 3,
          "film": "chatgpt-apps",
          "film_title": "Apps in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-apps/032000.webp"
        },
        {
          "start": 40,
          "end": 50,
          "frame": 48,
          "kind": "app",
          "surface": "Presentation app",
          "description": "A chapter and app-tagged prompt lead to presentation options.",
          "treatment": "Input and visual artifact pairing.",
          "reuse": "Show a representative output, not only the app name.",
          "id": "chatgpt-apps-04",
          "number": 4,
          "film": "chatgpt-apps",
          "film_title": "Apps in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-apps/048000.webp"
        },
        {
          "start": 50,
          "end": 58,
          "frame": 56,
          "kind": "app",
          "surface": "Travel result",
          "description": "A hotel request leads to a property card.",
          "treatment": "Repeated input/result grammar.",
          "reuse": "Make parallel capabilities easy to compare.",
          "id": "chatgpt-apps-05",
          "number": 5,
          "film": "chatgpt-apps",
          "film_title": "Apps in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-apps/056000.webp"
        },
        {
          "start": 58,
          "end": 69.254,
          "frame": 64,
          "kind": "graphic",
          "surface": "App-name ending",
          "description": "Service names cycle before the final mark.",
          "treatment": "Illustrated identity sequence.",
          "reuse": "Do not count brand labels as additional screen workflows.",
          "id": "chatgpt-apps-06",
          "number": 6,
          "film": "chatgpt-apps",
          "film_title": "Apps in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=2C4Cs6503gw&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-apps/064000.webp"
        }
      ]
    },
    {
      "slug": "instant-checkout",
      "id": "C6qcZdtIv54",
      "title": "Buy it in ChatGPT: Instant Checkout and the Agentic Commerce Protocol",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-09-29",
      "source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54",
      "duration": 29.454,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "bb34fbf919238fe55fa82bd9d3ef37b0d77176762895c7133db49c5cd981bc48",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 20,
      "summary": "A gift request moves into a phone, product options, a payment sheet, and a confirmation-state screen.",
      "borrow": "Keep the consequential payment step visible rather than cutting straight to success.",
      "avoid": "The edited source is not independent evidence of a real purchase, current price, or payment safety.",
      "selection_reason": "Commerce handoff and consequential confirmation",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 4,
          "kind": "app",
          "surface": "Gift request and search",
          "description": "A floating composer grows into a request and search status.",
          "treatment": "Pastel field with one focal control.",
          "reuse": "Establish the shopping intent.",
          "id": "instant-checkout-01",
          "number": 1,
          "film": "instant-checkout",
          "film_title": "Buy it in ChatGPT: Instant Checkout and the Agentic Commerce Protocol",
          "source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/instant-checkout/004000.webp"
        },
        {
          "start": 10,
          "end": 18,
          "frame": 16,
          "kind": "app",
          "surface": "Product selection",
          "description": "Phone recommendations lead to a product and variant menu.",
          "treatment": "Device overview then detail.",
          "reuse": "Show the selected option.",
          "id": "instant-checkout-02",
          "number": 2,
          "film": "instant-checkout",
          "film_title": "Buy it in ChatGPT: Instant Checkout and the Agentic Commerce Protocol",
          "source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/instant-checkout/016000.webp"
        },
        {
          "start": 18,
          "end": 24,
          "frame": 20,
          "kind": "app",
          "surface": "Payment sheet",
          "description": "A checkout view displays shipping, total, and a payment action.",
          "treatment": "Tight native sheet.",
          "reuse": "Hold consequential choices legibly.",
          "id": "instant-checkout-03",
          "number": 3,
          "film": "instant-checkout",
          "film_title": "Buy it in ChatGPT: Instant Checkout and the Agentic Commerce Protocol",
          "source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/instant-checkout/020000.webp"
        },
        {
          "start": 24,
          "end": 28,
          "frame": 24,
          "kind": "app",
          "surface": "Confirmation state",
          "description": "A confirmation-style result appears on the phone.",
          "treatment": "Pull back to the whole device.",
          "reuse": "Distinguish a displayed confirmation from independent transaction verification.",
          "id": "instant-checkout-04",
          "number": 4,
          "film": "instant-checkout",
          "film_title": "Buy it in ChatGPT: Instant Checkout and the Agentic Commerce Protocol",
          "source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/instant-checkout/024000.webp"
        },
        {
          "start": 28,
          "end": 29.454,
          "frame": 28,
          "kind": "title",
          "surface": "End mark",
          "description": "A centered mark replaces the device.",
          "treatment": "White identity ending.",
          "reuse": "End after the result.",
          "id": "instant-checkout-05",
          "number": 5,
          "film": "instant-checkout",
          "film_title": "Buy it in ChatGPT: Instant Checkout and the Agentic Commerce Protocol",
          "source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=C6qcZdtIv54&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/instant-checkout/028000.webp"
        }
      ]
    },
    {
      "slug": "chatgpt-pulse",
      "id": "nk6IjAnCCqw",
      "title": "Introducing ChatGPT Pulse",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-09-25",
      "source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw",
      "duration": 67.194,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "1f5b53975635fd21b69f85194b35559a0397c69343acc89235acebe4e8fd0966",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 36,
      "summary": "Illustrated cards enter a phone, open into detailed content, and lead to follow-up questions and preference input.",
      "borrow": "Use card-to-detail expansion to connect discovery with action.",
      "avoid": "The recovery routine shown is historical demo content, not medical advice or a validated exercise plan.",
      "selection_reason": "Card-based information reveal and mobile framing",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "graphic",
          "surface": "Identity and cards",
          "description": "A Pulse label introduces colorful illustrated tiles.",
          "treatment": "Graphic objects on white.",
          "reuse": "Establish a reusable content motif.",
          "id": "chatgpt-pulse-01",
          "number": 1,
          "film": "chatgpt-pulse",
          "film_title": "Introducing ChatGPT Pulse",
          "source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-pulse/008000.webp"
        },
        {
          "start": 10,
          "end": 20,
          "frame": 16,
          "kind": "app",
          "surface": "Daily phone feed",
          "description": "A phone greeting leads to a stack of cards.",
          "treatment": "Whole-device reveal.",
          "reuse": "Give the audience a map of the content.",
          "id": "chatgpt-pulse-02",
          "number": 2,
          "film": "chatgpt-pulse",
          "film_title": "Introducing ChatGPT Pulse",
          "source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-pulse/016000.webp"
        },
        {
          "start": 20,
          "end": 32,
          "frame": 28,
          "kind": "app",
          "surface": "Card follow-up",
          "description": "A statement precedes a card and suggested questions.",
          "treatment": "Closer content and input detail.",
          "reuse": "Show how a passive card becomes a conversation.",
          "id": "chatgpt-pulse-03",
          "number": 3,
          "film": "chatgpt-pulse",
          "film_title": "Introducing ChatGPT Pulse",
          "source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-pulse/028000.webp"
        },
        {
          "start": 32,
          "end": 50,
          "frame": 44,
          "kind": "app",
          "surface": "Detailed guidance",
          "description": "A goal card opens into text and a follow-up composer.",
          "treatment": "Card-to-reading view.",
          "reuse": "Keep safety caveats when adapting advice-related content.",
          "id": "chatgpt-pulse-04",
          "number": 4,
          "film": "chatgpt-pulse",
          "film_title": "Introducing ChatGPT Pulse",
          "source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-pulse/044000.webp"
        },
        {
          "start": 50,
          "end": 62,
          "frame": 60,
          "kind": "app",
          "surface": "Preference input",
          "description": "Suggested interests become a typed recurring-content request.",
          "treatment": "Minimal composer focus.",
          "reuse": "Show how the user steers future content.",
          "id": "chatgpt-pulse-05",
          "number": 5,
          "film": "chatgpt-pulse",
          "film_title": "Introducing ChatGPT Pulse",
          "source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-pulse/060000.webp"
        },
        {
          "start": 62,
          "end": 67.194,
          "frame": 64,
          "kind": "title",
          "surface": "Identity close",
          "description": "A ChatGPT wordmark ends the film.",
          "treatment": "Plain white field.",
          "reuse": "Use a quiet ending.",
          "id": "chatgpt-pulse-06",
          "number": 6,
          "film": "chatgpt-pulse",
          "film_title": "Introducing ChatGPT Pulse",
          "source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=62s",
          "frame_source_url": "https://www.youtube.com/watch?v=nk6IjAnCCqw&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/chatgpt-pulse/064000.webp"
        }
      ]
    },
    {
      "slug": "study-mode",
      "id": "XDYilxy1dn8",
      "title": "Introducing ChatGPT Study Mode",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-07-29",
      "source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8",
      "duration": 63.954,
      "width": 1920,
      "height": 1080,
      "fps": 30.00015641374564,
      "sha256": "42dab89d7579b9e742a018291063b5e573bc3f3dbf61423e10e95c06543a9785",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 24,
      "summary": "A study conversation advances one question at a time, with a chapter separating worked calculations from practice questions.",
      "borrow": "Reveal progressive reasoning as successive readable states rather than a wall of text.",
      "avoid": "This visual study does not validate the educational or financial content of the examples.",
      "selection_reason": "Teaching workflow and progressive explanation",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "graphic",
          "surface": "Learning input motif",
          "description": "A small icon gives way to an attached problem image.",
          "treatment": "Minimal graphic setup.",
          "reuse": "Establish the source problem.",
          "id": "study-mode-01",
          "number": 1,
          "film": "study-mode",
          "film_title": "Introducing ChatGPT Study Mode",
          "source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/study-mode/008000.webp"
        },
        {
          "start": 10,
          "end": 22,
          "frame": 20,
          "kind": "app",
          "surface": "First explanation",
          "description": "A compact conversation identifies a formula and its variables.",
          "treatment": "Fixed panel on a colorful field.",
          "reuse": "Introduce terms before the next step.",
          "id": "study-mode-02",
          "number": 2,
          "film": "study-mode",
          "film_title": "Introducing ChatGPT Study Mode",
          "source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/study-mode/020000.webp"
        },
        {
          "start": 22,
          "end": 32,
          "frame": 28,
          "kind": "app",
          "surface": "Guided calculation",
          "description": "A follow-up leads to a single calculation step and question.",
          "treatment": "Progressive conversational reveal.",
          "reuse": "Give the audience one operation at a time.",
          "id": "study-mode-03",
          "number": 3,
          "film": "study-mode",
          "film_title": "Introducing ChatGPT Study Mode",
          "source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/study-mode/028000.webp"
        },
        {
          "start": 32,
          "end": 46,
          "frame": 40,
          "kind": "app",
          "surface": "Practice questions",
          "description": "A chapter leads to a multiple-choice question and response.",
          "treatment": "Same panel preserves orientation.",
          "reuse": "Make the learner's action visible.",
          "id": "study-mode-04",
          "number": 4,
          "film": "study-mode",
          "film_title": "Introducing ChatGPT Study Mode",
          "source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/study-mode/040000.webp"
        },
        {
          "start": 46,
          "end": 58,
          "frame": 52,
          "kind": "app",
          "surface": "Concept follow-up",
          "description": "A second subject is explained through another conversation.",
          "treatment": "Consistent layout across topics.",
          "reuse": "Use a second example only to show a distinct teaching pattern.",
          "id": "study-mode-05",
          "number": 5,
          "film": "study-mode",
          "film_title": "Introducing ChatGPT Study Mode",
          "source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/study-mode/052000.webp"
        },
        {
          "start": 58,
          "end": 63.954,
          "frame": 60,
          "kind": "title",
          "surface": "Wordmark ending",
          "description": "A white identity card closes the demonstration.",
          "treatment": "Simple reset.",
          "reuse": "End after the learning exchange.",
          "id": "study-mode-06",
          "number": 6,
          "film": "study-mode",
          "film_title": "Introducing ChatGPT Study Mode",
          "source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=XDYilxy1dn8&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/study-mode/060000.webp"
        }
      ]
    },
    {
      "slug": "agent-spreadsheets",
      "id": "JAQ4p662It8",
      "title": "ChatGPT agent Makes Spreadsheets",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-07-17",
      "source_url": "https://www.youtube.com/watch?v=JAQ4p662It8",
      "duration": 113.554,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "7ad0fb7cb72496d1e64c3ead2ab030c5185a3b483d17a283fa5738a5373f7c7e",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 76,
      "summary": "An interview about spreadsheet work uses a request, browser evidence, downloadable workbook, and table close-up as its proof sequence.",
      "borrow": "Let the human leave the screen while work proceeds, then return to inspect a concrete artifact.",
      "avoid": "A workbook preview and edited waiting scene do not establish calculation accuracy or real elapsed time.",
      "selection_reason": "Task-to-spreadsheet artifact demonstration",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 18,
          "frame": 16,
          "kind": "title",
          "surface": "Human arrival and chapter",
          "description": "An arrival sequence leads to a spreadsheet chapter card.",
          "treatment": "Live-action context into typography.",
          "reuse": "Use a short human setup before the task.",
          "id": "agent-spreadsheets-01",
          "number": 1,
          "film": "agent-spreadsheets",
          "film_title": "ChatGPT agent Makes Spreadsheets",
          "source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-spreadsheets/016000.webp"
        },
        {
          "start": 18,
          "end": 42,
          "frame": 36,
          "kind": "app",
          "surface": "Spreadsheet request",
          "description": "Interview coverage leads to a multi-step composer instruction.",
          "treatment": "Whole input then a tight text crop.",
          "reuse": "Show the requested scope.",
          "id": "agent-spreadsheets-02",
          "number": 2,
          "film": "agent-spreadsheets",
          "film_title": "ChatGPT agent Makes Spreadsheets",
          "source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=18s",
          "frame_source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-spreadsheets/036000.webp"
        },
        {
          "start": 42,
          "end": 66,
          "frame": 60,
          "kind": "app",
          "surface": "Research activity",
          "description": "Human coverage alternates with search status and a document in a browser.",
          "treatment": "Evidence shown inside a task window.",
          "reuse": "Expose the source of extracted data.",
          "id": "agent-spreadsheets-03",
          "number": 3,
          "film": "agent-spreadsheets",
          "film_title": "ChatGPT agent Makes Spreadsheets",
          "source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-spreadsheets/060000.webp"
        },
        {
          "start": 66,
          "end": 80,
          "frame": 76,
          "kind": "app",
          "surface": "Workbook artifact",
          "description": "A response offers a workbook and preview.",
          "treatment": "Output attached to the conversation.",
          "reuse": "Show a usable artifact rather than a success slogan.",
          "id": "agent-spreadsheets-04",
          "number": 4,
          "film": "agent-spreadsheets",
          "film_title": "ChatGPT agent Makes Spreadsheets",
          "source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-spreadsheets/076000.webp"
        },
        {
          "start": 80,
          "end": 90,
          "frame": 88,
          "kind": "output",
          "surface": "Table detail",
          "description": "Hands-on-laptop coverage leads to a clean table crop.",
          "treatment": "Result detail after artifact context.",
          "reuse": "Keep headings and units in the crop.",
          "id": "agent-spreadsheets-05",
          "number": 5,
          "film": "agent-spreadsheets",
          "film_title": "ChatGPT agent Makes Spreadsheets",
          "source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-spreadsheets/088000.webp"
        },
        {
          "start": 90,
          "end": 112,
          "frame": 100,
          "kind": "live",
          "surface": "Interview close",
          "description": "Wide and close views return to the seated presenter.",
          "treatment": "Matched environment.",
          "reuse": "Separate personal assessment from validation.",
          "id": "agent-spreadsheets-06",
          "number": 6,
          "film": "agent-spreadsheets",
          "film_title": "ChatGPT agent Makes Spreadsheets",
          "source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=90s",
          "frame_source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-spreadsheets/100000.webp"
        },
        {
          "start": 112,
          "end": 113.554,
          "frame": 112,
          "kind": "title",
          "surface": "End mark",
          "description": "A white brand card closes the film.",
          "treatment": "Minimal identity.",
          "reuse": "Leave a clear ending.",
          "id": "agent-spreadsheets-07",
          "number": 7,
          "film": "agent-spreadsheets",
          "film_title": "ChatGPT agent Makes Spreadsheets",
          "source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=JAQ4p662It8&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-spreadsheets/112000.webp"
        }
      ]
    },
    {
      "slug": "agent-slideshows",
      "id": "szJI9YJNEZk",
      "title": "ChatGPT agent Makes Slideshows",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-07-17",
      "source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk",
      "duration": 108.414,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "3441036cb9bce4a6a725dba954fea67eee705b2a0ed052ad2611731dfc1b850f",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 72,
      "summary": "A research-to-presentation story uses a walking introduction, task-window searches, and a navigable deck reveal.",
      "borrow": "Show the deck in a viewer before cropping a specific slide.",
      "avoid": "Office-location claims and prices are source demo data, not independently checked recommendations.",
      "selection_reason": "Task-to-presentation artifact demonstration",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 16,
          "frame": 12,
          "kind": "title",
          "surface": "Arrival and chapter",
          "description": "A stairway sequence leads to a slideshow title card.",
          "treatment": "Human movement into topic identity.",
          "reuse": "Use a motivated opening transition.",
          "id": "agent-slideshows-01",
          "number": 1,
          "film": "agent-slideshows",
          "film_title": "ChatGPT agent Makes Slideshows",
          "source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-slideshows/012000.webp"
        },
        {
          "start": 16,
          "end": 42,
          "frame": 36,
          "kind": "app",
          "surface": "Research and deck request",
          "description": "Interview and typing coverage expose the detailed prompt.",
          "treatment": "Text crop highlights the deliverable.",
          "reuse": "Make the intended artifact explicit.",
          "id": "agent-slideshows-02",
          "number": 2,
          "film": "agent-slideshows",
          "film_title": "ChatGPT agent Makes Slideshows",
          "source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-slideshows/036000.webp"
        },
        {
          "start": 42,
          "end": 66,
          "frame": 56,
          "kind": "app",
          "surface": "Research while away",
          "description": "A departure shot alternates with search and browser activity.",
          "treatment": "Human waiting scene plus task-window inserts.",
          "reuse": "Signal compression without claiming measured duration.",
          "id": "agent-slideshows-03",
          "number": 3,
          "film": "agent-slideshows",
          "film_title": "ChatGPT agent Makes Slideshows",
          "source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=42s",
          "frame_source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-slideshows/056000.webp"
        },
        {
          "start": 66,
          "end": 76,
          "frame": 72,
          "kind": "app",
          "surface": "Deck reveal",
          "description": "A downloadable presentation opens into a thumbnail-based viewer.",
          "treatment": "Artifact card to navigable result.",
          "reuse": "Prove there is more than a cover image.",
          "id": "agent-slideshows-04",
          "number": 4,
          "film": "agent-slideshows",
          "film_title": "ChatGPT agent Makes Slideshows",
          "source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-slideshows/072000.webp"
        },
        {
          "start": 76,
          "end": 90,
          "frame": 84,
          "kind": "app",
          "surface": "Interior-slide inspection",
          "description": "Laptop coverage leads to a selected interior slide and detail crop.",
          "treatment": "Whole deck then one useful page.",
          "reuse": "Hold a representative result.",
          "id": "agent-slideshows-05",
          "number": 5,
          "film": "agent-slideshows",
          "film_title": "ChatGPT agent Makes Slideshows",
          "source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=76s",
          "frame_source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-slideshows/084000.webp"
        },
        {
          "start": 90,
          "end": 104,
          "frame": 100,
          "kind": "live",
          "surface": "Presenter conclusion",
          "description": "The seated interview returns.",
          "treatment": "Matched close and wide views.",
          "reuse": "Keep interpretation separate from evidence.",
          "id": "agent-slideshows-06",
          "number": 6,
          "film": "agent-slideshows",
          "film_title": "ChatGPT agent Makes Slideshows",
          "source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=90s",
          "frame_source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-slideshows/100000.webp"
        },
        {
          "start": 104,
          "end": 108.414,
          "frame": 108,
          "kind": "title",
          "surface": "Identity ending",
          "description": "Wordmark and symbol close the piece.",
          "treatment": "White ending sequence.",
          "reuse": "Use your own identity.",
          "id": "agent-slideshows-07",
          "number": 7,
          "film": "agent-slideshows",
          "film_title": "ChatGPT agent Makes Slideshows",
          "source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=104s",
          "frame_source_url": "https://www.youtube.com/watch?v=szJI9YJNEZk&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/agent-slideshows/108000.webp"
        }
      ]
    },
    {
      "slug": "building-codex",
      "id": "wSAkqlzSZyw",
      "title": "Building faster with Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-05-16",
      "source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw",
      "duration": 118.174,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "743b9ad8bcc1b76b8f92fa08f195af725c141d323429a479acc3a6dce78da736",
      "family": "Customer story",
      "priority": "Supporting",
      "poster": 80,
      "summary": "A developer story connects workplace scenes, code diffs, mobile task entry, and a lock-screen progress notification.",
      "borrow": "Use the same task wording across desktop, phone, and notification to establish continuity.",
      "avoid": "Progress notifications do not prove completion or correctness.",
      "selection_reason": "Coding workflow and result inspection",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 10,
          "frame": 8,
          "kind": "title",
          "surface": "Workplace and topic",
          "description": "A developer in a booth leads to a build-faster title.",
          "treatment": "Human setting into chapter card.",
          "reuse": "Connect the capability to a real work context.",
          "id": "building-codex-01",
          "number": 1,
          "film": "building-codex",
          "film_title": "Building faster with Codex",
          "source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/building-codex/008000.webp"
        },
        {
          "start": 10,
          "end": 50,
          "frame": 28,
          "kind": "live",
          "surface": "Interview and daily work",
          "description": "Interview angles, walking, and typing establish the person.",
          "treatment": "Grouped environmental coverage.",
          "reuse": "Use relevant action rather than generic office footage.",
          "id": "building-codex-02",
          "number": 2,
          "film": "building-codex",
          "film_title": "Building faster with Codex",
          "source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=10s",
          "frame_source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/building-codex/028000.webp"
        },
        {
          "start": 50,
          "end": 66,
          "frame": 56,
          "kind": "app",
          "surface": "Code change",
          "description": "A highlighted diff and an editor show a task-related code change.",
          "treatment": "Readable code inserts between interview views.",
          "reuse": "Expose a concrete implementation artifact.",
          "id": "building-codex-03",
          "number": 3,
          "film": "building-codex",
          "film_title": "Building faster with Codex",
          "source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=50s",
          "frame_source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/building-codex/056000.webp"
        },
        {
          "start": 66,
          "end": 86,
          "frame": 80,
          "kind": "app",
          "surface": "Mobile task request",
          "description": "A physical phone becomes a clean task-entry close-up.",
          "treatment": "Device-to-interface handoff.",
          "reuse": "Keep the task identity consistent.",
          "id": "building-codex-04",
          "number": 4,
          "film": "building-codex",
          "film_title": "Building faster with Codex",
          "source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=66s",
          "frame_source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/building-codex/080000.webp"
        },
        {
          "start": 86,
          "end": 102,
          "frame": 100,
          "kind": "app",
          "surface": "Progress notification",
          "description": "A lock-screen activity card appears between human shots.",
          "treatment": "Notification detail.",
          "reuse": "Label progress as progress, not completion.",
          "id": "building-codex-05",
          "number": 5,
          "film": "building-codex",
          "film_title": "Building faster with Codex",
          "source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=86s",
          "frame_source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/building-codex/100000.webp"
        },
        {
          "start": 102,
          "end": 116,
          "frame": 108,
          "kind": "live",
          "surface": "Workplace return",
          "description": "Walking and interview shots finish the story.",
          "treatment": "Original environment returns.",
          "reuse": "Close the human narrative.",
          "id": "building-codex-06",
          "number": 6,
          "film": "building-codex",
          "film_title": "Building faster with Codex",
          "source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=102s",
          "frame_source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/building-codex/108000.webp"
        },
        {
          "start": 116,
          "end": 118.174,
          "frame": 116,
          "kind": "title",
          "surface": "End symbol",
          "description": "White identity card.",
          "treatment": "Minimal close.",
          "reuse": "End without another capability claim.",
          "id": "building-codex-07",
          "number": 7,
          "film": "building-codex",
          "film_title": "Building faster with Codex",
          "source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=116s",
          "frame_source_url": "https://www.youtube.com/watch?v=wSAkqlzSZyw&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/building-codex/116000.webp"
        }
      ]
    },
    {
      "slug": "on-call-codex",
      "id": "9nT_t9pZHg8",
      "title": "On call with Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-05-16",
      "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8",
      "duration": 134.314,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "eab76955f006c3f2aee5f7fafe893ecb07bfa1339cec2a2180e63767e6160bcf",
      "family": "Customer story",
      "priority": "Supporting",
      "poster": 108,
      "summary": "An on-call story moves through task history, an error trace, diagnostic logs, and a code diff while returning to the same developer.",
      "borrow": "Show the failure before the attempted fix and the inspectable change.",
      "avoid": "A code diff alone is not proof of service recovery or a passing test suite.",
      "selection_reason": "Diagnosis, tools, and recovery evidence",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 22,
          "frame": 12,
          "kind": "title",
          "surface": "On-call introduction",
          "description": "Interview and workplace movement surround a triage title.",
          "treatment": "Human setting and chapter identity.",
          "reuse": "Establish the operational problem.",
          "id": "on-call-codex-01",
          "number": 1,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/012000.webp"
        },
        {
          "start": 22,
          "end": 30,
          "frame": 28,
          "kind": "app",
          "surface": "Task history",
          "description": "A list of coding tasks shows completed changes.",
          "treatment": "List detail crop.",
          "reuse": "Use history as context, not as proof of the new fix.",
          "id": "on-call-codex-02",
          "number": 2,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=22s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/028000.webp"
        },
        {
          "start": 30,
          "end": 46,
          "frame": 40,
          "kind": "live",
          "surface": "Interview context",
          "description": "The developer speaks in several room framings.",
          "treatment": "Matched human coverage.",
          "reuse": "Explain the failure before entering logs.",
          "id": "on-call-codex-03",
          "number": 3,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=30s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/040000.webp"
        },
        {
          "start": 46,
          "end": 58,
          "frame": 52,
          "kind": "app",
          "surface": "Error trace",
          "description": "A monitoring view opens a trace and stack details.",
          "treatment": "Diagnostic interface in close-up.",
          "reuse": "Show the actual failure state.",
          "id": "on-call-codex-04",
          "number": 4,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=46s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/052000.webp"
        },
        {
          "start": 58,
          "end": 78,
          "frame": 68,
          "kind": "app",
          "surface": "Task and logs",
          "description": "A task request leads to shell logs and investigation text.",
          "treatment": "Input and evidence inserts.",
          "reuse": "Preserve errors and caveats instead of editing them away.",
          "id": "on-call-codex-05",
          "number": 5,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=58s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/068000.webp"
        },
        {
          "start": 78,
          "end": 106,
          "frame": 96,
          "kind": "app",
          "surface": "Return to work",
          "description": "Phone and laptop activity bridge to the development workspace.",
          "treatment": "Physical device coverage.",
          "reuse": "Keep the human context tied to the same task.",
          "id": "on-call-codex-06",
          "number": 6,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=78s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/096000.webp"
        },
        {
          "start": 106,
          "end": 120,
          "frame": 108,
          "kind": "app",
          "surface": "Diff and follow-up",
          "description": "A code diff and a contextual Code action appear.",
          "treatment": "Whole change then targeted control.",
          "reuse": "Show the inspectable change; verify the outcome separately.",
          "id": "on-call-codex-07",
          "number": 7,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=106s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=108s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/108000.webp"
        },
        {
          "start": 120,
          "end": 132,
          "frame": 128,
          "kind": "live",
          "surface": "Closing interview",
          "description": "The developer returns to the original interview framing.",
          "treatment": "Human conclusion.",
          "reuse": "Separate the story's ending from technical verification.",
          "id": "on-call-codex-08",
          "number": 8,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=120s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/128000.webp"
        },
        {
          "start": 132,
          "end": 134.314,
          "frame": 132,
          "kind": "title",
          "surface": "End identity",
          "description": "A mark forms on white.",
          "treatment": "Minimal outro.",
          "reuse": "Use a recognizable close.",
          "id": "on-call-codex-09",
          "number": 9,
          "film": "on-call-codex",
          "film_title": "On call with Codex",
          "source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=132s",
          "frame_source_url": "https://www.youtube.com/watch?v=9nT_t9pZHg8&t=132s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/on-call-codex/132000.webp"
        }
      ]
    },
    {
      "slug": "collaborative-writing",
      "id": "ordedK86DxQ",
      "title": "Collaborate and write with GPT-4o",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-05-08",
      "source_url": "https://www.youtube.com/watch?v=ordedK86DxQ",
      "duration": 125.814,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "8a018943909b33ecdafe3cfaea6cf2aeb35d39ecee57aed59045ad3cc88d695f",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 44,
      "summary": "A writing conversation moves through successive revisions, alternating whole-browser context with enlarged passages before ending on a visual artifact.",
      "borrow": "Return to the same conversation after each text-detail crop so the revision history remains understandable.",
      "avoid": "Marketing claims inside the generated copy are not independently established product capabilities.",
      "selection_reason": "Document collaboration and revision framing",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "title",
          "surface": "Writing tutorial opener",
          "description": "A short how-to title appears on white.",
          "treatment": "Large type and a restrained opening hold.",
          "reuse": "Name the task before showing the interface.",
          "id": "collaborative-writing-01",
          "number": 1,
          "film": "collaborative-writing",
          "film_title": "Collaborate and write with GPT-4o",
          "source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/collaborative-writing/008000.webp"
        },
        {
          "start": 12,
          "end": 28,
          "frame": 16,
          "kind": "app",
          "surface": "Model and composer",
          "description": "A model menu leads into the browser composer.",
          "treatment": "Whole-window setup.",
          "reuse": "Show the relevant starting state.",
          "id": "collaborative-writing-02",
          "number": 2,
          "film": "collaborative-writing",
          "film_title": "Collaborate and write with GPT-4o",
          "source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/collaborative-writing/016000.webp"
        },
        {
          "start": 28,
          "end": 48,
          "frame": 44,
          "kind": "app",
          "surface": "First draft detail",
          "description": "A response becomes a tight text crop with a highlighted phrase.",
          "treatment": "Wide conversation into selected text.",
          "reuse": "Make the specific passage readable.",
          "id": "collaborative-writing-03",
          "number": 3,
          "film": "collaborative-writing",
          "film_title": "Collaborate and write with GPT-4o",
          "source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/collaborative-writing/044000.webp"
        },
        {
          "start": 48,
          "end": 76,
          "frame": 64,
          "kind": "app",
          "surface": "Follow-up revision",
          "description": "The conversation widens before another prompt and revised text.",
          "treatment": "Context reset followed by a detail view.",
          "reuse": "Connect the instruction to its revision.",
          "id": "collaborative-writing-04",
          "number": 4,
          "film": "collaborative-writing",
          "film_title": "Collaborate and write with GPT-4o",
          "source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/collaborative-writing/064000.webp"
        },
        {
          "start": 76,
          "end": 104,
          "frame": 96,
          "kind": "app",
          "surface": "Shortened copy",
          "description": "Another request produces a shorter response with check-mark bullets.",
          "treatment": "Repeated input/result rhythm.",
          "reuse": "Demonstrate a meaningful change rather than scrolling arbitrarily.",
          "id": "collaborative-writing-05",
          "number": 5,
          "film": "collaborative-writing",
          "film_title": "Collaborate and write with GPT-4o",
          "source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=76s",
          "frame_source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/collaborative-writing/096000.webp"
        },
        {
          "start": 104,
          "end": 124,
          "frame": 116,
          "kind": "app",
          "surface": "Visual artifact",
          "description": "A small dark image card appears within the same writing conversation.",
          "treatment": "Text-to-image contrast within a stable workspace.",
          "reuse": "End on the produced artifact.",
          "id": "collaborative-writing-06",
          "number": 6,
          "film": "collaborative-writing",
          "film_title": "Collaborate and write with GPT-4o",
          "source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=104s",
          "frame_source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/collaborative-writing/116000.webp"
        },
        {
          "start": 124,
          "end": 125.814,
          "frame": 124,
          "kind": "title",
          "surface": "End mark",
          "description": "The interface gives way to a white identity ending.",
          "treatment": "Quiet final hold.",
          "reuse": "Leave room after the result.",
          "id": "collaborative-writing-07",
          "number": 7,
          "film": "collaborative-writing",
          "film_title": "Collaborate and write with GPT-4o",
          "source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=124s",
          "frame_source_url": "https://www.youtube.com/watch?v=ordedK86DxQ&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/collaborative-writing/124000.webp"
        }
      ]
    },
    {
      "slug": "shipping-ide",
      "id": "_WvtdRtG1aY",
      "title": "Shipping code to your IDE with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-04-08",
      "source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY",
      "duration": 139.634,
      "width": 1920,
      "height": 1080,
      "fps": 24.0,
      "sha256": "839b06de8de639012d6ab36d4bd910340db5e443d7a960a0d4caefac5bd67760",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 100,
      "summary": "A checkout-page error is shown before a linked-editor request, a code diff, and a return to the page displaying a success state.",
      "borrow": "Keep the failure, proposed change, and rerun as three distinct pieces of evidence.",
      "avoid": "A displayed checkout success is not proof of a real purchase; an edited diff is not an independently run test.",
      "selection_reason": "Handoff from conversation to development environment",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "title",
          "surface": "IDE tutorial opener",
          "description": "A title introduces sending code changes to an editor.",
          "treatment": "Plain how-to framing.",
          "reuse": "State the workflow in one line.",
          "id": "shipping-ide-01",
          "number": 1,
          "film": "shipping-ide",
          "film_title": "Shipping code to your IDE with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shipping-ide/008000.webp"
        },
        {
          "start": 12,
          "end": 44,
          "frame": 24,
          "kind": "app",
          "surface": "Companion and app picker",
          "description": "A compact assistant and app picker sit over the desktop.",
          "treatment": "Long setup hold with surrounding context.",
          "reuse": "Show which application is connected.",
          "id": "shipping-ide-02",
          "number": 2,
          "film": "shipping-ide",
          "film_title": "Shipping code to your IDE with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shipping-ide/024000.webp"
        },
        {
          "start": 44,
          "end": 64,
          "frame": 60,
          "kind": "app",
          "surface": "Visible failure",
          "description": "The checkout page and editor share the desktop; an error overlay appears on the page.",
          "treatment": "Page detail followed by a wider two-window view.",
          "reuse": "Show the actual symptom before the repair.",
          "id": "shipping-ide-03",
          "number": 3,
          "film": "shipping-ide",
          "film_title": "Shipping code to your IDE with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shipping-ide/060000.webp"
        },
        {
          "start": 64,
          "end": 88,
          "frame": 80,
          "kind": "app",
          "surface": "Linked-editor request",
          "description": "The companion composer and menus lead into a larger assistant window.",
          "treatment": "Request anchored beside the failing page.",
          "reuse": "Make the supplied context visible.",
          "id": "shipping-ide-04",
          "number": 4,
          "film": "shipping-ide",
          "film_title": "Shipping code to your IDE with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shipping-ide/080000.webp"
        },
        {
          "start": 88,
          "end": 112,
          "frame": 100,
          "kind": "app",
          "surface": "Proposed code change",
          "description": "Explanatory text leads to apply controls and a red/green code diff.",
          "treatment": "Tight change inspection.",
          "reuse": "Separate review of the patch from verification.",
          "id": "shipping-ide-05",
          "number": 5,
          "film": "shipping-ide",
          "film_title": "Shipping code to your IDE with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shipping-ide/100000.webp"
        },
        {
          "start": 112,
          "end": 136,
          "frame": 128,
          "kind": "app",
          "surface": "Rerun and result",
          "description": "The desktop returns, then the checkout page displays a payment-success state beside the editor.",
          "treatment": "Whole-workspace return and result hold.",
          "reuse": "Close the loop on the original visible failure.",
          "id": "shipping-ide-06",
          "number": 6,
          "film": "shipping-ide",
          "film_title": "Shipping code to your IDE with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shipping-ide/128000.webp"
        },
        {
          "start": 136,
          "end": 139.634,
          "frame": 136,
          "kind": "title",
          "surface": "End mark",
          "description": "The desktop is replaced by a white ending.",
          "treatment": "Simple identity close.",
          "reuse": "Finish after the outcome.",
          "id": "shipping-ide-07",
          "number": 7,
          "film": "shipping-ide",
          "film_title": "Shipping code to your IDE with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=136s",
          "frame_source_url": "https://www.youtube.com/watch?v=_WvtdRtG1aY&t=136s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/shipping-ide/136000.webp"
        }
      ]
    },
    {
      "slug": "canvas-prototyping",
      "id": "JbIvaFh44EY",
      "title": "Prototyping with canvas in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-04-08",
      "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY",
      "duration": 129.434,
      "width": 1920,
      "height": 1080,
      "fps": 24.0,
      "sha256": "7e29756b93e0770829c43393bfaab4a88af540c1d42ff26d7767a21856f93295",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 100,
      "summary": "An attached product brief becomes canvas code and then a running dashboard prototype, with selection and preview controls visible along the way.",
      "borrow": "Keep source brief, generated code, and interactive preview in a traceable sequence.",
      "avoid": "The generated analytics dashboard is a prototype shown in the demo, not a built-in analytics feature or validated business dataset.",
      "selection_reason": "Code-to-preview interaction in a split workspace",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "title",
          "surface": "Prototype tutorial opener",
          "description": "A how-to title introduces interactive prototyping.",
          "treatment": "White title field.",
          "reuse": "Frame the intended artifact.",
          "id": "canvas-prototyping-01",
          "number": 1,
          "film": "canvas-prototyping",
          "film_title": "Prototyping with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-prototyping/008000.webp"
        },
        {
          "start": 12,
          "end": 32,
          "frame": 24,
          "kind": "app",
          "surface": "Canvas request",
          "description": "The browser tools menu leads to a request for an app based on an attached brief.",
          "treatment": "Menu-to-composer progression.",
          "reuse": "Show the chosen tool and input.",
          "id": "canvas-prototyping-02",
          "number": 2,
          "film": "canvas-prototyping",
          "film_title": "Prototyping with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-prototyping/024000.webp"
        },
        {
          "start": 32,
          "end": 48,
          "frame": 40,
          "kind": "app",
          "surface": "Source brief",
          "description": "A file picker and source document establish the specification.",
          "treatment": "Temporary cutaway to source material.",
          "reuse": "Make the brief inspectable without reading it all.",
          "id": "canvas-prototyping-03",
          "number": 3,
          "film": "canvas-prototyping",
          "film_title": "Prototyping with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-prototyping/040000.webp"
        },
        {
          "start": 48,
          "end": 76,
          "frame": 68,
          "kind": "app",
          "surface": "Code generation and selection",
          "description": "Code fills the canvas, followed by an enlarged selected data array.",
          "treatment": "Split workspace into code detail.",
          "reuse": "Emphasize the portion being changed.",
          "id": "canvas-prototyping-04",
          "number": 4,
          "film": "canvas-prototyping",
          "film_title": "Prototyping with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-prototyping/068000.webp"
        },
        {
          "start": 76,
          "end": 92,
          "frame": 84,
          "kind": "app",
          "surface": "Canvas controls",
          "description": "Contextual controls and conversation summary remain beside the code.",
          "treatment": "Stable two-pane context.",
          "reuse": "Preserve the connection between request and implementation.",
          "id": "canvas-prototyping-05",
          "number": 5,
          "film": "canvas-prototyping",
          "film_title": "Prototyping with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=76s",
          "frame_source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-prototyping/084000.webp"
        },
        {
          "start": 92,
          "end": 112,
          "frame": 100,
          "kind": "app",
          "surface": "Running preview",
          "description": "The canvas switches through loading into a dashboard with chart and filter controls.",
          "treatment": "Code-to-live-preview reveal.",
          "reuse": "Show a runnable result, not just source text.",
          "id": "canvas-prototyping-06",
          "number": 6,
          "film": "canvas-prototyping",
          "film_title": "Prototyping with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=92s",
          "frame_source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-prototyping/100000.webp"
        },
        {
          "start": 112,
          "end": 124,
          "frame": 116,
          "kind": "app",
          "surface": "Interactive details",
          "description": "Closer filter controls return to the whole running prototype.",
          "treatment": "Detail then context.",
          "reuse": "Demonstrate a visible interaction.",
          "id": "canvas-prototyping-07",
          "number": 7,
          "film": "canvas-prototyping",
          "film_title": "Prototyping with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=112s",
          "frame_source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-prototyping/116000.webp"
        },
        {
          "start": 124,
          "end": 129.434,
          "frame": 128,
          "kind": "title",
          "surface": "End mark",
          "description": "The prototype clears to a white ending.",
          "treatment": "Brief closing hold.",
          "reuse": "Stop after the interaction.",
          "id": "canvas-prototyping-08",
          "number": 8,
          "film": "canvas-prototyping",
          "film_title": "Prototyping with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=124s",
          "frame_source_url": "https://www.youtube.com/watch?v=JbIvaFh44EY&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-prototyping/128000.webp"
        }
      ]
    },
    {
      "slug": "canvas-writing",
      "id": "Ks1C-5p04PY",
      "title": "Writing with canvas in ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-04-08",
      "source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY",
      "duration": 126.394,
      "width": 1920,
      "height": 1080,
      "fps": 24.0,
      "sha256": "533e3c3d3a33d2355f235a7e57679c6b0fe8b492847aa869a96821c9679fe3ac",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 84,
      "summary": "An uploaded transcript becomes a summary, then a longer document, then a selected-paragraph revision inside a split canvas workspace.",
      "borrow": "Use native text selection and a contextual request to show exactly what a revision targets.",
      "avoid": "The study does not validate cited statistics or confirm that every detail of the source transcript survives the edits.",
      "selection_reason": "Selection, revision, and document context",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "title",
          "surface": "Writing tutorial opener",
          "description": "A title introduces writing from an uploaded transcript.",
          "treatment": "Minimal how-to card.",
          "reuse": "Name the source and intended output.",
          "id": "canvas-writing-01",
          "number": 1,
          "film": "canvas-writing",
          "film_title": "Writing with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-writing/008000.webp"
        },
        {
          "start": 12,
          "end": 36,
          "frame": 28,
          "kind": "app",
          "surface": "Transcript input",
          "description": "Canvas selection, a prompt, and an attachment lead to a source transcript document.",
          "treatment": "Setup with a source-document cutaway.",
          "reuse": "Show where the material comes from.",
          "id": "canvas-writing-02",
          "number": 2,
          "film": "canvas-writing",
          "film_title": "Writing with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-writing/028000.webp"
        },
        {
          "start": 36,
          "end": 64,
          "frame": 52,
          "kind": "app",
          "surface": "Summary canvas",
          "description": "A generated summary fills the right pane, with closer text views.",
          "treatment": "Whole workspace and reading crops.",
          "reuse": "Let the audience inspect a representative passage.",
          "id": "canvas-writing-03",
          "number": 3,
          "film": "canvas-writing",
          "film_title": "Writing with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-writing/052000.webp"
        },
        {
          "start": 64,
          "end": 84,
          "frame": 76,
          "kind": "app",
          "surface": "Longer draft",
          "description": "A follow-up request expands the summary into a chaptered document.",
          "treatment": "Instruction beside its evolving artifact.",
          "reuse": "Make the transformation explicit.",
          "id": "canvas-writing-04",
          "number": 4,
          "film": "canvas-writing",
          "film_title": "Writing with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-writing/076000.webp"
        },
        {
          "start": 84,
          "end": 100,
          "frame": 88,
          "kind": "app",
          "surface": "Selected revision",
          "description": "A paragraph is selected and a contextual request appears beneath it.",
          "treatment": "Native selection as visual emphasis.",
          "reuse": "Keep the edit target and instruction together.",
          "id": "canvas-writing-05",
          "number": 5,
          "film": "canvas-writing",
          "film_title": "Writing with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=84s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-writing/088000.webp"
        },
        {
          "start": 100,
          "end": 120,
          "frame": 112,
          "kind": "app",
          "surface": "Sources and finished document",
          "description": "Source cards remain in the conversation beside the updated document, followed by its closing section.",
          "treatment": "Evidence column plus artifact view.",
          "reuse": "Keep attribution visible without claiming the sources were independently checked.",
          "id": "canvas-writing-06",
          "number": 6,
          "film": "canvas-writing",
          "film_title": "Writing with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-writing/112000.webp"
        },
        {
          "start": 120,
          "end": 126.394,
          "frame": 124,
          "kind": "title",
          "surface": "End mark",
          "description": "The document fades to the closing mark.",
          "treatment": "Quiet white close.",
          "reuse": "End after the final reading hold.",
          "id": "canvas-writing-07",
          "number": 7,
          "film": "canvas-writing",
          "film_title": "Writing with canvas in ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=120s",
          "frame_source_url": "https://www.youtube.com/watch?v=Ks1C-5p04PY&t=124s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/canvas-writing/124000.webp"
        }
      ]
    },
    {
      "slug": "image-character",
      "id": "PFsOUNfBhzI",
      "title": "Character Consistency with 4o Image Generation",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-03-25",
      "source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI",
      "duration": 108.514,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "0ab5d8afe66834b699a25574a8191d09b22baa510b30fc2d9d2d0487eb8f0fdd",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 68,
      "summary": "A low-poly penguin character is reworked as a painted miniature and other materials, mixing presenter shots, the conversation, and isolated outputs.",
      "borrow": "Retain recognizable silhouette and props across before/after material changes.",
      "avoid": "Visible similarity is not a pixel-exact consistency guarantee or a general benchmark.",
      "selection_reason": "Character continuity across generated images",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "title",
          "surface": "Character topic",
          "description": "A couch setup leads into a character-consistency title.",
          "treatment": "Human setting into topic typography.",
          "reuse": "Give the example a clear visual question.",
          "id": "image-character-01",
          "number": 1,
          "film": "image-character",
          "film_title": "Character Consistency with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-character/008000.webp"
        },
        {
          "start": 12,
          "end": 28,
          "frame": 20,
          "kind": "app",
          "surface": "Character request",
          "description": "Presenter inserts surround a close prompt for a low-poly penguin mage.",
          "treatment": "Large input crop within a human-led sequence.",
          "reuse": "Show the defining character constraints.",
          "id": "image-character-02",
          "number": 2,
          "film": "image-character",
          "film_title": "Character Consistency with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-character/020000.webp"
        },
        {
          "start": 28,
          "end": 48,
          "frame": 44,
          "kind": "app",
          "surface": "First character result",
          "description": "A loading tile becomes a penguin image, followed by the wider conversation and filmed laptop.",
          "treatment": "Output detail into screen context.",
          "reuse": "Establish the original before making comparisons.",
          "id": "image-character-03",
          "number": 3,
          "film": "image-character",
          "film_title": "Character Consistency with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-character/044000.webp"
        },
        {
          "start": 48,
          "end": 68,
          "frame": 56,
          "kind": "app",
          "surface": "Material-change request",
          "description": "A request for a realistic miniature is enlarged between presenter shots.",
          "treatment": "Prompt emphasis with human punctuation.",
          "reuse": "Show which property should change.",
          "id": "image-character-04",
          "number": 4,
          "film": "image-character",
          "film_title": "Character Consistency with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-character/056000.webp"
        },
        {
          "start": 68,
          "end": 88,
          "frame": 76,
          "kind": "app",
          "surface": "Revised miniature",
          "description": "The painted miniature appears in the conversation; original and revision are visible in the thread.",
          "treatment": "Result reveal and comparison context.",
          "reuse": "Keep the identity comparison anchored to actual outputs.",
          "id": "image-character-05",
          "number": 5,
          "film": "image-character",
          "film_title": "Character Consistency with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-character/076000.webp"
        },
        {
          "start": 88,
          "end": 96,
          "frame": 92,
          "kind": "output",
          "surface": "Material variations",
          "description": "Isolated glass-like and metallic penguin images appear.",
          "treatment": "Output-to-output material contrast.",
          "reuse": "Use a short variation montage after the core workflow.",
          "id": "image-character-06",
          "number": 6,
          "film": "image-character",
          "film_title": "Character Consistency with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-character/092000.webp"
        },
        {
          "start": 96,
          "end": 108.514,
          "frame": 104,
          "kind": "live",
          "surface": "Presenter close",
          "description": "The presenter returns before the overlaid wordmark and end mark.",
          "treatment": "Human-led closing beat.",
          "reuse": "Do not count the outro as another interface example.",
          "id": "image-character-07",
          "number": 7,
          "film": "image-character",
          "film_title": "Character Consistency with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=PFsOUNfBhzI&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-character/104000.webp"
        }
      ]
    },
    {
      "slug": "image-directions",
      "id": "ELwb_emN1p0",
      "title": "Detailed Directions with 4o Image Generation",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-03-25",
      "source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0",
      "duration": 90.354,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "8f7116597fdea7d7c2765e81d036eec86ff2bb0fc044234a646fad0958c14662",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 56,
      "summary": "A long list of requested objects is enlarged before a single illustrated grid, with presenter and filmed-laptop inserts around the result.",
      "borrow": "Give a complex input a readable close-up, then hold one output long enough to compare it.",
      "avoid": "Do not infer that every constraint was satisfied without checking each one; the menus shown are historical interface states.",
      "selection_reason": "Detailed instructions and result comparison",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 2,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "title",
          "surface": "Directions topic",
          "description": "A couch setup leads into the detailed-directions title.",
          "treatment": "Topic typography over an established human setting.",
          "reuse": "State the constraint being explored.",
          "id": "image-directions-01",
          "number": 1,
          "film": "image-directions",
          "film_title": "Detailed Directions with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-directions/008000.webp"
        },
        {
          "start": 12,
          "end": 32,
          "frame": 20,
          "kind": "app",
          "surface": "Setup menu",
          "description": "Presenter and laptop inserts lead to a visible model menu.",
          "treatment": "Human context with a brief interface insert.",
          "reuse": "Keep setup secondary to the actual example.",
          "id": "image-directions-02",
          "number": 2,
          "film": "image-directions",
          "film_title": "Detailed Directions with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-directions/020000.webp"
        },
        {
          "start": 32,
          "end": 48,
          "frame": 40,
          "kind": "app",
          "surface": "Constraint list",
          "description": "The composer displays a long numbered set of requested shapes, objects, and text.",
          "treatment": "Extreme input crop.",
          "reuse": "Make the complexity of the request visible.",
          "id": "image-directions-03",
          "number": 3,
          "film": "image-directions",
          "film_title": "Detailed Directions with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-directions/040000.webp"
        },
        {
          "start": 48,
          "end": 56,
          "frame": 52,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "The film returns to the seated presenter.",
          "treatment": "Human pause before the output.",
          "reuse": "Treat this as an editorial bridge, not proof of processing time.",
          "id": "image-directions-04",
          "number": 4,
          "film": "image-directions",
          "film_title": "Detailed Directions with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=52s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-directions/052000.webp"
        },
        {
          "start": 56,
          "end": 60,
          "frame": 56,
          "kind": "output",
          "surface": "Illustrated grid",
          "description": "A grid presents many requested objects together.",
          "treatment": "Single isolated output.",
          "reuse": "Allow a direct input-to-output comparison.",
          "id": "image-directions-05",
          "number": 5,
          "film": "image-directions",
          "film_title": "Detailed Directions with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=56s",
          "frame_source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-directions/056000.webp"
        },
        {
          "start": 60,
          "end": 88,
          "frame": 68,
          "kind": "live",
          "surface": "Discussion and laptop",
          "description": "Presenter shots include a filmed laptop showing another result at smaller scale.",
          "treatment": "Human-led discussion with physical-screen context.",
          "reuse": "Avoid counting unreadable background content as a detailed UI workflow.",
          "id": "image-directions-06",
          "number": 6,
          "film": "image-directions",
          "film_title": "Detailed Directions with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-directions/068000.webp"
        },
        {
          "start": 88,
          "end": 90.354,
          "frame": 88,
          "kind": "title",
          "surface": "End mark",
          "description": "A simple brand ending closes the film.",
          "treatment": "White closing card.",
          "reuse": "Keep the outro short.",
          "id": "image-directions-07",
          "number": 7,
          "film": "image-directions",
          "film_title": "Detailed Directions with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=ELwb_emN1p0&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-directions/088000.webp"
        }
      ]
    },
    {
      "slug": "image-text",
      "id": "NO7Uo2ii1Sw",
      "title": "Text Rendering with 4o Image Generation",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-03-25",
      "source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw",
      "duration": 74.934,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "8c090a13d9e6fd550fdbbc29ffe6fcb52c09fa769b9fc049987c8e155b3b4fe8",
      "family": "Presenter demo",
      "priority": "Selective",
      "poster": 48,
      "summary": "A detailed infographic prompt leads to close and whole-screen views of a prism diagram, framed by an interview and a filmed laptop.",
      "borrow": "Reveal a dense artifact first at reading scale, then return to the whole composition.",
      "avoid": "The source demonstrates image appearance; this study does not validate the diagram's physics or all rendered text.",
      "selection_reason": "Typography and readable generated text",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 3,
      "shots": [
        {
          "start": 0,
          "end": 16,
          "frame": 12,
          "kind": "title",
          "surface": "Text-rendering topic",
          "description": "Couch and presenter shots introduce the text-rendering title.",
          "treatment": "Human scene into topic card.",
          "reuse": "Give the output a specific inspection focus.",
          "id": "image-text-01",
          "number": 1,
          "film": "image-text",
          "film_title": "Text Rendering with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-text/012000.webp"
        },
        {
          "start": 16,
          "end": 28,
          "frame": 24,
          "kind": "live",
          "surface": "Presenter setup",
          "description": "An interview-style shot precedes the screen demonstration.",
          "treatment": "Stable human framing.",
          "reuse": "Use people to establish context, not to substitute for output evidence.",
          "id": "image-text-02",
          "number": 2,
          "film": "image-text",
          "film_title": "Text Rendering with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-text/024000.webp"
        },
        {
          "start": 28,
          "end": 36,
          "frame": 32,
          "kind": "app",
          "surface": "Infographic prompt",
          "description": "A close composer request specifies a prism experiment and a dark-blue visual treatment.",
          "treatment": "Large readable input.",
          "reuse": "Expose the important visual constraints.",
          "id": "image-text-03",
          "number": 3,
          "film": "image-text",
          "film_title": "Text Rendering with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-text/032000.webp"
        },
        {
          "start": 36,
          "end": 48,
          "frame": 40,
          "kind": "app",
          "surface": "Result detail",
          "description": "A presenter insert leads into a finishing-state image and a closer prism diagram.",
          "treatment": "Tight result reveal.",
          "reuse": "Let viewers inspect text and diagram elements.",
          "id": "image-text-04",
          "number": 4,
          "film": "image-text",
          "film_title": "Text Rendering with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-text/040000.webp"
        },
        {
          "start": 48,
          "end": 52,
          "frame": 48,
          "kind": "app",
          "surface": "Whole result",
          "description": "The complete infographic appears inside the conversation.",
          "treatment": "Detail-to-context reset.",
          "reuse": "Show the artifact's full layout.",
          "id": "image-text-05",
          "number": 5,
          "film": "image-text",
          "film_title": "Text Rendering with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-text/048000.webp"
        },
        {
          "start": 52,
          "end": 68,
          "frame": 60,
          "kind": "live",
          "surface": "Physical-screen context",
          "description": "The presenter and filmed laptop show the infographic and another image.",
          "treatment": "Human and device inserts.",
          "reuse": "Keep these distinct from legible interface studies.",
          "id": "image-text-06",
          "number": 6,
          "film": "image-text",
          "film_title": "Text Rendering with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-text/060000.webp"
        },
        {
          "start": 68,
          "end": 74.934,
          "frame": 72,
          "kind": "live",
          "surface": "Presenter ending",
          "description": "A wordmark overlays the closing presenter shot.",
          "treatment": "Identity on live footage.",
          "reuse": "End without adding another workflow claim.",
          "id": "image-text-07",
          "number": 7,
          "film": "image-text",
          "film_title": "Text Rendering with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=NO7Uo2ii1Sw&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-text/072000.webp"
        }
      ]
    },
    {
      "slug": "image-layers",
      "id": "tMhAASk9i1o",
      "title": "Transparent Layers with 4o Image Generation",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-03-25",
      "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o",
      "duration": 101.374,
      "width": 1920,
      "height": 1080,
      "fps": 23.97608311708814,
      "sha256": "4ab24c2c22d102b1ba878ba6dc4f69dfd0cc229a720e26a8fbcbd43632d94836",
      "family": "Presenter demo",
      "priority": "Supporting",
      "poster": 60,
      "summary": "A cartoon puppy appears over a checkerboard, becomes a sticker-style result with a download link, and is shown in a simple laptop composite.",
      "borrow": "Follow asset creation with a concrete placement example that explains why the format matters.",
      "avoid": "A checkerboard is not independent alpha-channel validation, and the editorial composite is not proof of a native compositing tool.",
      "selection_reason": "Transparent outputs and compositing context",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 4,
      "shots": [
        {
          "start": 0,
          "end": 16,
          "frame": 8,
          "kind": "title",
          "surface": "Transparent-layers topic",
          "description": "Arrival and presenter shots lead to the topic title.",
          "treatment": "Human scene and short title.",
          "reuse": "Name the asset property being explored.",
          "id": "image-layers-01",
          "number": 1,
          "film": "image-layers",
          "film_title": "Transparent Layers with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-layers/008000.webp"
        },
        {
          "start": 16,
          "end": 36,
          "frame": 28,
          "kind": "app",
          "surface": "Transparent-image request",
          "description": "A model menu and presenter insert lead to a request for a transparent cartoon puppy.",
          "treatment": "Setup followed by a tight composer crop.",
          "reuse": "Make the requested output format explicit.",
          "id": "image-layers-02",
          "number": 2,
          "film": "image-layers",
          "film_title": "Transparent Layers with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-layers/028000.webp"
        },
        {
          "start": 36,
          "end": 48,
          "frame": 40,
          "kind": "app",
          "surface": "Checkerboard result",
          "description": "A loading tile becomes a puppy on a checkerboard, then the wider conversation.",
          "treatment": "Result detail and context.",
          "reuse": "Show the visible state without claiming file-level transparency testing.",
          "id": "image-layers-03",
          "number": 3,
          "film": "image-layers",
          "film_title": "Transparent Layers with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-layers/040000.webp"
        },
        {
          "start": 48,
          "end": 64,
          "frame": 60,
          "kind": "app",
          "surface": "Sticker revision",
          "description": "Human and laptop inserts precede a sticker-style puppy and a PNG download link.",
          "treatment": "Revised artifact with delivery affordance.",
          "reuse": "Connect the image to a usable file output.",
          "id": "image-layers-04",
          "number": 4,
          "film": "image-layers",
          "film_title": "Transparent Layers with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-layers/060000.webp"
        },
        {
          "start": 64,
          "end": 72,
          "frame": 68,
          "kind": "output",
          "surface": "Placement example",
          "description": "An isolated laptop image is followed by the puppy sticker in front of it.",
          "treatment": "Simple layered composition.",
          "reuse": "Explain the use case through a concrete placement.",
          "id": "image-layers-05",
          "number": 5,
          "film": "image-layers",
          "film_title": "Transparent Layers with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-layers/068000.webp"
        },
        {
          "start": 72,
          "end": 88,
          "frame": 84,
          "kind": "live",
          "surface": "Presenter bridge",
          "description": "Presenter and filmed-laptop shots separate the examples.",
          "treatment": "Human reset.",
          "reuse": "Avoid treating inserts as additional app actions.",
          "id": "image-layers-06",
          "number": 6,
          "film": "image-layers",
          "film_title": "Transparent Layers with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=72s",
          "frame_source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=84s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-layers/084000.webp"
        },
        {
          "start": 88,
          "end": 96,
          "frame": 92,
          "kind": "app",
          "surface": "Second transparent result",
          "description": "A new cartoon portrait appears on a checkerboard in the conversation.",
          "treatment": "Repeated result grammar.",
          "reuse": "Show a second subject without replaying all setup.",
          "id": "image-layers-07",
          "number": 7,
          "film": "image-layers",
          "film_title": "Transparent Layers with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=92s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-layers/092000.webp"
        },
        {
          "start": 96,
          "end": 101.374,
          "frame": 100,
          "kind": "title",
          "surface": "End mark",
          "description": "The laptop outro leads to the final mark.",
          "treatment": "Brief identity ending.",
          "reuse": "Finish after the second result.",
          "id": "image-layers-08",
          "number": 8,
          "film": "image-layers",
          "film_title": "Transparent Layers with 4o Image Generation",
          "source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=96s",
          "frame_source_url": "https://www.youtube.com/watch?v=tMhAASk9i1o&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/image-layers/100000.webp"
        }
      ]
    },
    {
      "slug": "sora-remix",
      "id": "tC2ZELc4bOA",
      "title": "How to remix with Sora",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2024-12-09",
      "source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA",
      "duration": 68.994,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "92d1f756cc01d7ecf697af185cd62c0e8dd6b4f73e517c3afeef063885a3f4c1",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 40,
      "summary": "A coastal-building clip remains visible while a remix request and strength menu are inspected, followed by a changed building in the same landscape.",
      "borrow": "Keep the original subject visible behind the edit controls and return to comparable result framing.",
      "avoid": "This historical interface is not a current availability reference; selected strengths do not establish general output guarantees.",
      "selection_reason": "Native remix controls and before/after comparison",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 6,
      "shots": [
        {
          "start": 0,
          "end": 24,
          "frame": 12,
          "kind": "app",
          "surface": "Original clip",
          "description": "A portrait coastal-building clip plays inside a dark viewer over a colored desktop.",
          "treatment": "Whole-window context and sustained source playback.",
          "reuse": "Establish the original before changing it.",
          "id": "sora-remix-01",
          "number": 1,
          "film": "sora-remix",
          "film_title": "How to remix with Sora",
          "source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-remix/012000.webp"
        },
        {
          "start": 24,
          "end": 32,
          "frame": 28,
          "kind": "app",
          "surface": "Remix request",
          "description": "A close composer requests replacing the building with a different architectural style.",
          "treatment": "Input detail with the source still above it.",
          "reuse": "Show exactly what is being changed.",
          "id": "sora-remix-02",
          "number": 2,
          "film": "sora-remix",
          "film_title": "How to remix with Sora",
          "source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-remix/028000.webp"
        },
        {
          "start": 32,
          "end": 40,
          "frame": 36,
          "kind": "app",
          "surface": "Request in context",
          "description": "The view widens to include the clip and remix settings.",
          "treatment": "Detail-to-context reset.",
          "reuse": "Connect the control to its subject.",
          "id": "sora-remix-03",
          "number": 3,
          "film": "sora-remix",
          "film_title": "How to remix with Sora",
          "source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-remix/036000.webp"
        },
        {
          "start": 40,
          "end": 56,
          "frame": 48,
          "kind": "app",
          "surface": "Strength options",
          "description": "The strength menu is opened and inspected over the source clip.",
          "treatment": "Native menu hold.",
          "reuse": "Show a consequential option rather than hiding setup.",
          "id": "sora-remix-04",
          "number": 4,
          "film": "sora-remix",
          "film_title": "How to remix with Sora",
          "source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-remix/048000.webp"
        },
        {
          "start": 56,
          "end": 64,
          "frame": 60,
          "kind": "app",
          "surface": "Remixed result",
          "description": "A different building appears in a similar coastal setting inside the viewer.",
          "treatment": "Result reveal in familiar composition.",
          "reuse": "Compare like with like without claiming pixel identity.",
          "id": "sora-remix-05",
          "number": 5,
          "film": "sora-remix",
          "film_title": "How to remix with Sora",
          "source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=56s",
          "frame_source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-remix/060000.webp"
        },
        {
          "start": 64,
          "end": 68.994,
          "frame": 68,
          "kind": "app",
          "surface": "Result detail",
          "description": "The remixed clip fills more of the frame near the end.",
          "treatment": "Closer output hold within the viewer.",
          "reuse": "Finish on the visible change.",
          "id": "sora-remix-06",
          "number": 6,
          "film": "sora-remix",
          "film_title": "How to remix with Sora",
          "source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=tC2ZELc4bOA&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-remix/068000.webp"
        }
      ]
    },
    {
      "slug": "sora-recut",
      "id": "jC0i_0wnly8",
      "title": "How to recut with Sora",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2024-12-09",
      "source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8",
      "duration": 72.554,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "3f1c6bdf5b952a796e51815d316d92ae82bbfcdaafa14872f7bd70c2b7471503",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 44,
      "summary": "A robot clip moves from playback into a timeline, where its selected span is shortened before the resulting clip is played at larger scale.",
      "borrow": "Show the timeline changing before the output playback so the edit operation is understandable.",
      "avoid": "The edited tutorial is not an exact rendering-time measurement or a complete specification of the historical recut tool.",
      "selection_reason": "Timeline editing and result preview",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 5,
      "shots": [
        {
          "start": 0,
          "end": 16,
          "frame": 8,
          "kind": "app",
          "surface": "Source playback",
          "description": "A robot on a hillside plays in a dark viewer over the desktop.",
          "treatment": "Whole-window establishing view.",
          "reuse": "Give the original clip a readable starting context.",
          "id": "sora-recut-01",
          "number": 1,
          "film": "sora-recut",
          "film_title": "How to recut with Sora",
          "source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-recut/008000.webp"
        },
        {
          "start": 16,
          "end": 28,
          "frame": 20,
          "kind": "app",
          "surface": "Source detail",
          "description": "Closer robot footage returns to a wider view before the editor opens.",
          "treatment": "Subject detail and context.",
          "reuse": "Make the chosen material recognizable.",
          "id": "sora-recut-02",
          "number": 2,
          "film": "sora-recut",
          "film_title": "How to recut with Sora",
          "source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-recut/020000.webp"
        },
        {
          "start": 28,
          "end": 40,
          "frame": 36,
          "kind": "app",
          "surface": "Timeline editor",
          "description": "A preview sits above a horizontal filmstrip and controls.",
          "treatment": "Whole-editor reveal.",
          "reuse": "Show the relationship between preview and timeline.",
          "id": "sora-recut-03",
          "number": 3,
          "film": "sora-recut",
          "film_title": "How to recut with Sora",
          "source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-recut/036000.webp"
        },
        {
          "start": 40,
          "end": 52,
          "frame": 44,
          "kind": "app",
          "surface": "Shortened selection",
          "description": "The selected filmstrip span becomes much shorter while the preview remains above it.",
          "treatment": "Stable layout around a changing selection.",
          "reuse": "Make the actual edit operation visible.",
          "id": "sora-recut-04",
          "number": 4,
          "film": "sora-recut",
          "film_title": "How to recut with Sora",
          "source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-recut/044000.webp"
        },
        {
          "start": 52,
          "end": 60,
          "frame": 56,
          "kind": "app",
          "surface": "Submit and return",
          "description": "A close lower-control view gives way to the resulting clip in its viewer.",
          "treatment": "Control emphasis followed by output context.",
          "reuse": "Connect the action to the result.",
          "id": "sora-recut-05",
          "number": 5,
          "film": "sora-recut",
          "film_title": "How to recut with Sora",
          "source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-recut/056000.webp"
        },
        {
          "start": 60,
          "end": 72.554,
          "frame": 68,
          "kind": "output",
          "surface": "Large result playback",
          "description": "The robot footage plays at a larger scale without the full editor.",
          "treatment": "Clean output hold.",
          "reuse": "Let the audience inspect the edited material.",
          "id": "sora-recut-06",
          "number": 6,
          "film": "sora-recut",
          "film_title": "How to recut with Sora",
          "source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=jC0i_0wnly8&t=68s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-recut/068000.webp"
        }
      ]
    },
    {
      "slug": "sora-blend",
      "id": "OXapuT2iVqM",
      "title": "How to blend videos with Sora",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2024-12-09",
      "source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM",
      "duration": 94.694,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "e78db9a451c1487be10e778168753fcbd6ee97b089e8188bef8c75225f5f554a",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 52,
      "summary": "A butterfly clip and orchid clip are paired, adjusted with an influence-curve control, and followed by a blended result with source references still available.",
      "borrow": "Keep both source previews visible around a parameter adjustment.",
      "avoid": "The result is a generated visual blend, not evidence that a parameter gives deterministic or physically realistic interpolation.",
      "selection_reason": "Two-source selection and generated transition",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 7,
      "shots": [
        {
          "start": 0,
          "end": 32,
          "frame": 16,
          "kind": "app",
          "surface": "First source",
          "description": "A butterfly clip loops in the dark viewer.",
          "treatment": "Sustained source context.",
          "reuse": "Establish the material before introducing the second input.",
          "id": "sora-blend-01",
          "number": 1,
          "film": "sora-blend",
          "film_title": "How to blend videos with Sora",
          "source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-blend/016000.webp"
        },
        {
          "start": 32,
          "end": 40,
          "frame": 36,
          "kind": "app",
          "surface": "Second-source picker",
          "description": "A grid of clips opens over the viewer.",
          "treatment": "Native library overlay.",
          "reuse": "Show the selection of the second source.",
          "id": "sora-blend-02",
          "number": 2,
          "film": "sora-blend",
          "film_title": "How to blend videos with Sora",
          "source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-blend/036000.webp"
        },
        {
          "start": 40,
          "end": 48,
          "frame": 44,
          "kind": "app",
          "surface": "Paired previews",
          "description": "Butterfly and orchid previews sit above a blend control.",
          "treatment": "Side-by-side source comparison.",
          "reuse": "Keep both inputs visible.",
          "id": "sora-blend-03",
          "number": 3,
          "film": "sora-blend",
          "film_title": "How to blend videos with Sora",
          "source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-blend/044000.webp"
        },
        {
          "start": 48,
          "end": 64,
          "frame": 56,
          "kind": "app",
          "surface": "Influence curve",
          "description": "The view tightens to a curve over two source filmstrips.",
          "treatment": "Control-detail crop.",
          "reuse": "Make the parameter and source relationship legible.",
          "id": "sora-blend-04",
          "number": 4,
          "film": "sora-blend",
          "film_title": "How to blend videos with Sora",
          "source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-blend/056000.webp"
        },
        {
          "start": 64,
          "end": 76,
          "frame": 72,
          "kind": "app",
          "surface": "Adjusted blend",
          "description": "The whole pair returns before a closer view of the action control.",
          "treatment": "Context reset and action emphasis.",
          "reuse": "Avoid losing the source pair during the adjustment.",
          "id": "sora-blend-05",
          "number": 5,
          "film": "sora-blend",
          "film_title": "How to blend videos with Sora",
          "source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-blend/072000.webp"
        },
        {
          "start": 76,
          "end": 84,
          "frame": 80,
          "kind": "app",
          "surface": "Blended playback",
          "description": "A butterfly and flower-like form appear together in the output viewer.",
          "treatment": "Result in the original viewing environment.",
          "reuse": "Show what the blend actually produced.",
          "id": "sora-blend-06",
          "number": 6,
          "film": "sora-blend",
          "film_title": "How to blend videos with Sora",
          "source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=76s",
          "frame_source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=80s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-blend/080000.webp"
        },
        {
          "start": 84,
          "end": 94.694,
          "frame": 88,
          "kind": "app",
          "surface": "Source-linked result",
          "description": "Source thumbnails and tool labels remain beneath larger result playback.",
          "treatment": "Output detail with provenance affordances.",
          "reuse": "Keep a route back to the source material.",
          "id": "sora-blend-07",
          "number": 7,
          "film": "sora-blend",
          "film_title": "How to blend videos with Sora",
          "source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=84s",
          "frame_source_url": "https://www.youtube.com/watch?v=OXapuT2iVqM&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-blend/088000.webp"
        }
      ]
    },
    {
      "slug": "sora-storyboard",
      "id": "6PXWAvUG8Sg",
      "title": "How to storyboard with Sora",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2024-12-09",
      "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg",
      "duration": 135.714,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "1084a58b5b95d1c3924e4d49bea1065406d68401e9406eee1f0df7df931f6eb6",
      "family": "Screen tutorial",
      "priority": "Supporting",
      "poster": 72,
      "summary": "A gallery leads to storyboard cards and timeline positions, followed by a crane clip and a return path to the storyboard.",
      "borrow": "Show text cards and their timeline positions together before revealing the generated sequence.",
      "avoid": "The long editing demonstration contains many similar holds; do not count each sampled frame as a separate creative technique.",
      "selection_reason": "Time-positioned cards and video planning controls",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 8,
      "shots": [
        {
          "start": 0,
          "end": 16,
          "frame": 12,
          "kind": "app",
          "surface": "Gallery and entry control",
          "description": "A gallery fills the window before the storyboard control is enlarged.",
          "treatment": "Whole product into a specific entry point.",
          "reuse": "Make the workflow discoverable.",
          "id": "sora-storyboard-01",
          "number": 1,
          "film": "sora-storyboard",
          "film_title": "How to storyboard with Sora",
          "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-storyboard/012000.webp"
        },
        {
          "start": 16,
          "end": 36,
          "frame": 28,
          "kind": "app",
          "surface": "Empty storyboard",
          "description": "A blank card appears over a timeline; duration controls are inspected.",
          "treatment": "Editor overview and lower-control crop.",
          "reuse": "Explain the spatial relationship between cards and time.",
          "id": "sora-storyboard-02",
          "number": 2,
          "film": "sora-storyboard",
          "film_title": "How to storyboard with Sora",
          "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-storyboard/028000.webp"
        },
        {
          "start": 36,
          "end": 52,
          "frame": 44,
          "kind": "app",
          "surface": "First scene description",
          "description": "Text describing a crane near water fills the first card.",
          "treatment": "Readable card detail.",
          "reuse": "Show the visual instruction before the output.",
          "id": "sora-storyboard-03",
          "number": 3,
          "film": "sora-storyboard",
          "film_title": "How to storyboard with Sora",
          "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-storyboard/044000.webp"
        },
        {
          "start": 52,
          "end": 64,
          "frame": 60,
          "kind": "app",
          "surface": "Second card",
          "description": "A second text card appears beside the first at a later time.",
          "treatment": "Side-by-side scene instructions.",
          "reuse": "Make the intended progression visible.",
          "id": "sora-storyboard-04",
          "number": 4,
          "film": "sora-storyboard",
          "film_title": "How to storyboard with Sora",
          "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-storyboard/060000.webp"
        },
        {
          "start": 64,
          "end": 88,
          "frame": 76,
          "kind": "app",
          "surface": "Timeline positioning",
          "description": "The cards stay visible while their timeline positions are adjusted.",
          "treatment": "Stable cards over changing timeline markers.",
          "reuse": "Demonstrate timing as a visible editing decision.",
          "id": "sora-storyboard-05",
          "number": 5,
          "film": "sora-storyboard",
          "film_title": "How to storyboard with Sora",
          "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-storyboard/076000.webp"
        },
        {
          "start": 88,
          "end": 108,
          "frame": 100,
          "kind": "app",
          "surface": "Final setup",
          "description": "The editor returns to a wider view and the create control is approached.",
          "treatment": "Whole-workspace check before generation.",
          "reuse": "Show the assembled plan before submission.",
          "id": "sora-storyboard-06",
          "number": 6,
          "film": "sora-storyboard",
          "film_title": "How to storyboard with Sora",
          "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=100s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-storyboard/100000.webp"
        },
        {
          "start": 108,
          "end": 124,
          "frame": 116,
          "kind": "app",
          "surface": "Generated scene and card reference",
          "description": "A crane clip plays; a source description can be seen over the playback.",
          "treatment": "Output plus originating instruction.",
          "reuse": "Connect the generated scene to its storyboard.",
          "id": "sora-storyboard-07",
          "number": 7,
          "film": "sora-storyboard",
          "film_title": "How to storyboard with Sora",
          "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=108s",
          "frame_source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=116s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-storyboard/116000.webp"
        },
        {
          "start": 124,
          "end": 135.714,
          "frame": 128,
          "kind": "app",
          "surface": "Return-to-edit affordance",
          "description": "A close lower toolbar exposes the route back to revising the storyboard.",
          "treatment": "Native control detail under continuing playback.",
          "reuse": "Close with a real iteration path.",
          "id": "sora-storyboard-08",
          "number": 8,
          "film": "sora-storyboard",
          "film_title": "How to storyboard with Sora",
          "source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=124s",
          "frame_source_url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg&t=128s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-storyboard/128000.webp"
        }
      ]
    },
    {
      "slug": "setup-chatgpt",
      "id": "IUGEvzfvUWU",
      "title": "Setup with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-07-01",
      "source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU",
      "duration": 30.054,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "2992de11067336a81a6d1bbcc38ef225048b5dd4225dd353c01747b48a0e3b42",
      "family": "Live-action ad",
      "priority": "Selective",
      "poster": 20,
      "summary": "A street-table scene gradually widens while a Portuguese chat-style text overlay turns the social situation into a planning example.",
      "borrow": "Let the environment establish the human goal before the interface language appears.",
      "avoid": "The overlaid conversation is an advertising treatment, not a captured app screen; its text is not independently verified advice.",
      "selection_reason": "Short live-action story and product insert",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 8,
          "frame": 4,
          "kind": "live",
          "surface": "People at the table",
          "description": "Close faces give way to more of the group around a street table.",
          "treatment": "Human-scale opening into a wider social scene.",
          "reuse": "Establish the people before the product.",
          "id": "setup-chatgpt-01",
          "number": 1,
          "film": "setup-chatgpt",
          "film_title": "Setup with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/setup-chatgpt/004000.webp"
        },
        {
          "start": 8,
          "end": 12,
          "frame": 8,
          "kind": "live",
          "surface": "Shared activity",
          "description": "The wider frame makes the table and surrounding street legible.",
          "treatment": "Environmental reveal.",
          "reuse": "Show the context of the request.",
          "id": "setup-chatgpt-02",
          "number": 2,
          "film": "setup-chatgpt",
          "film_title": "Setup with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/setup-chatgpt/008000.webp"
        },
        {
          "start": 12,
          "end": 16,
          "frame": 12,
          "kind": "graphic",
          "surface": "Question overlay",
          "description": "A short Portuguese request appears across the live scene.",
          "treatment": "Chat-like typography without a device frame.",
          "reuse": "Separate editorial overlays from actual interface capture.",
          "id": "setup-chatgpt-03",
          "number": 3,
          "film": "setup-chatgpt",
          "film_title": "Setup with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/setup-chatgpt/012000.webp"
        },
        {
          "start": 16,
          "end": 24,
          "frame": 20,
          "kind": "graphic",
          "surface": "Answer over the scene",
          "description": "A longer structured response overlays a progressively wider street view.",
          "treatment": "Text layer over continuous environmental context.",
          "reuse": "Use only the few lines the audience needs to read.",
          "id": "setup-chatgpt-04",
          "number": 4,
          "film": "setup-chatgpt",
          "film_title": "Setup with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/setup-chatgpt/020000.webp"
        },
        {
          "start": 24,
          "end": 28,
          "frame": 24,
          "kind": "graphic",
          "surface": "Response ending",
          "description": "The chat treatment continues as more people and tables enter the composition.",
          "treatment": "Widening human payoff beneath the text.",
          "reuse": "Keep the scene meaningful without the overlay.",
          "id": "setup-chatgpt-05",
          "number": 5,
          "film": "setup-chatgpt",
          "film_title": "Setup with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/setup-chatgpt/024000.webp"
        },
        {
          "start": 28,
          "end": 30.054,
          "frame": 28,
          "kind": "title",
          "surface": "Identity over the street",
          "description": "The mark and wordmark sit over the widest scene.",
          "treatment": "Live-action identity close.",
          "reuse": "End in the world of the story.",
          "id": "setup-chatgpt-06",
          "number": 6,
          "film": "setup-chatgpt",
          "film_title": "Setup with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=IUGEvzfvUWU&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/setup-chatgpt/028000.webp"
        }
      ]
    },
    {
      "slug": "plan-chatgpt",
      "id": "YPNOjXTDP9c",
      "title": "Plan with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-19",
      "source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c",
      "duration": 30.054,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "041b87cf3733ea7dbc7cc90c7f860ef0dbc839e6124ba369684a2a05370420cd",
      "family": "Live-action ad",
      "priority": "Selective",
      "poster": 20,
      "summary": "An office departure becomes a hallway scene while a Portuguese planning conversation is overlaid on the action.",
      "borrow": "Carry one human intention through a location change instead of interrupting it with an unrelated product montage.",
      "avoid": "The overlay is not a native app capture, and the apparent continuity does not establish the number or timing of underlying cuts.",
      "selection_reason": "Short planning narrative and visual payoff",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 8,
          "frame": 4,
          "kind": "live",
          "surface": "Office context",
          "description": "People move through a decorated office around a seated worker.",
          "treatment": "Busy foreground and lived-in environment.",
          "reuse": "Introduce the practical situation.",
          "id": "plan-chatgpt-01",
          "number": 1,
          "film": "plan-chatgpt",
          "film_title": "Plan with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plan-chatgpt/004000.webp"
        },
        {
          "start": 8,
          "end": 12,
          "frame": 8,
          "kind": "live",
          "surface": "Departure",
          "description": "The worker prepares to leave the office.",
          "treatment": "Action-driven bridge.",
          "reuse": "Keep the story moving before adding text.",
          "id": "plan-chatgpt-02",
          "number": 2,
          "film": "plan-chatgpt",
          "film_title": "Plan with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plan-chatgpt/008000.webp"
        },
        {
          "start": 12,
          "end": 20,
          "frame": 16,
          "kind": "graphic",
          "surface": "Planning request",
          "description": "A short request and the start of a structured response overlay the person leaving.",
          "treatment": "Chat typography on live footage.",
          "reuse": "Treat the text as an editorial layer, not a screen recording.",
          "id": "plan-chatgpt-03",
          "number": 3,
          "film": "plan-chatgpt",
          "film_title": "Plan with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plan-chatgpt/016000.webp"
        },
        {
          "start": 20,
          "end": 24,
          "frame": 20,
          "kind": "graphic",
          "surface": "Plan in the hallway",
          "description": "The response continues over a warm, sunlit corridor.",
          "treatment": "Location change with persistent text.",
          "reuse": "Connect the request to a concrete everyday goal.",
          "id": "plan-chatgpt-04",
          "number": 4,
          "film": "plan-chatgpt",
          "film_title": "Plan with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plan-chatgpt/020000.webp"
        },
        {
          "start": 24,
          "end": 28,
          "frame": 24,
          "kind": "graphic",
          "surface": "Departure payoff",
          "description": "The person moves farther down the hall beneath the remaining response.",
          "treatment": "Human action behind the text layer.",
          "reuse": "Keep enough contrast for selective reading.",
          "id": "plan-chatgpt-05",
          "number": 5,
          "film": "plan-chatgpt",
          "film_title": "Plan with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plan-chatgpt/024000.webp"
        },
        {
          "start": 28,
          "end": 30.054,
          "frame": 28,
          "kind": "title",
          "surface": "Hallway ending",
          "description": "The identity remains over the corridor.",
          "treatment": "Quiet environmental close.",
          "reuse": "Finish on the story rather than a feature list.",
          "id": "plan-chatgpt-06",
          "number": 6,
          "film": "plan-chatgpt",
          "film_title": "Plan with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=YPNOjXTDP9c&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/plan-chatgpt/028000.webp"
        }
      ]
    },
    {
      "slug": "codex-time-to-fly",
      "id": "bJcA23ckzcY",
      "title": "It's time to fly | Codex",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-06-03",
      "source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY",
      "duration": 90.094,
      "width": 1920,
      "height": 1080,
      "fps": 23.97629011311037,
      "sha256": "46c7fa9295d4a31468be51db91ed121f0dbdb28514856c556b74cc7b8951352d",
      "family": "Live-action ad",
      "priority": "Selective",
      "poster": 28,
      "summary": "Three ordinary settings intercut around people working, then shift into a stylized floating-object sequence before returning to the people.",
      "borrow": "Use recurring objects and locations to tie a multi-person montage together.",
      "avoid": "Levitation is an advertising metaphor, not demonstrated product behavior; the brief physical-screen insert is not a full software workflow.",
      "selection_reason": "Longer launch-film pacing and visual metaphor",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 1,
      "shots": [
        {
          "start": 0,
          "end": 24,
          "frame": 16,
          "kind": "live",
          "surface": "Parallel everyday settings",
          "description": "A workroom, kitchen, and sofa scene establish different people and objects.",
          "treatment": "Intercut human and object details.",
          "reuse": "Give each thread a recognizable visual anchor.",
          "id": "codex-time-to-fly-01",
          "number": 1,
          "film": "codex-time-to-fly",
          "film_title": "It's time to fly | Codex",
          "source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-time-to-fly/016000.webp"
        },
        {
          "start": 24,
          "end": 32,
          "frame": 28,
          "kind": "app",
          "surface": "Brief Codex input",
          "description": "A filmed laptop shows a Codex request between live-action shots.",
          "treatment": "Physical-screen insert.",
          "reuse": "Use a product glimpse as context, not as sufficient functional proof.",
          "id": "codex-time-to-fly-02",
          "number": 2,
          "film": "codex-time-to-fly",
          "film_title": "It's time to fly | Codex",
          "source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-time-to-fly/028000.webp"
        },
        {
          "start": 32,
          "end": 48,
          "frame": 44,
          "kind": "live",
          "surface": "Object anticipation",
          "description": "Faces, a desk, and a kitchen window recur as ordinary objects become focal points.",
          "treatment": "Alternation of reactions and environment details.",
          "reuse": "Prepare a visual change with repeated motifs.",
          "id": "codex-time-to-fly-03",
          "number": 3,
          "film": "codex-time-to-fly",
          "film_title": "It's time to fly | Codex",
          "source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-time-to-fly/044000.webp"
        },
        {
          "start": 48,
          "end": 64,
          "frame": 60,
          "kind": "live",
          "surface": "Stylized lift begins",
          "description": "People react as objects and liquid appear suspended.",
          "treatment": "Surreal action within established locations.",
          "reuse": "Keep metaphor clearly separate from product demonstration.",
          "id": "codex-time-to-fly-04",
          "number": 4,
          "film": "codex-time-to-fly",
          "film_title": "It's time to fly | Codex",
          "source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-time-to-fly/060000.webp"
        },
        {
          "start": 64,
          "end": 80,
          "frame": 72,
          "kind": "live",
          "surface": "Floating-object montage",
          "description": "Wider motion and close reactions connect the three settings.",
          "treatment": "Escalating live-action effect sequence.",
          "reuse": "Borrow the cross-cut structure, not a false capability implication.",
          "id": "codex-time-to-fly-05",
          "number": 5,
          "film": "codex-time-to-fly",
          "film_title": "It's time to fly | Codex",
          "source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-time-to-fly/072000.webp"
        },
        {
          "start": 80,
          "end": 90.094,
          "frame": 88,
          "kind": "live",
          "surface": "Return and identity",
          "description": "The people reappear in their spaces, ending with identity over a close face.",
          "treatment": "Human reset after spectacle.",
          "reuse": "Bring attention back to the person.",
          "id": "codex-time-to-fly-06",
          "number": 6,
          "film": "codex-time-to-fly",
          "film_title": "It's time to fly | Codex",
          "source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=bJcA23ckzcY&t=88s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-time-to-fly/088000.webp"
        }
      ]
    },
    {
      "slug": "floral-business",
      "id": "gpj9YWbr3IQ",
      "title": "ChatGPT for Small Business: More Time to Create | The Floral Hire",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-28",
      "source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ",
      "duration": 122.96,
      "width": 1920,
      "height": 1080,
      "fps": 25.0,
      "sha256": "037a4ee0dc957d17444a23e4668984776736db84ba624d35f952183b2491fda6",
      "family": "Customer story",
      "priority": "Selective",
      "poster": 40,
      "summary": "A flower-business interview is grounded in hands-on work, arrangements, warehouse views, and brief physical-device inserts rather than a legible app demonstration.",
      "borrow": "Alternate wide workplace context, face-level interview, and close craft details.",
      "avoid": "The visual study does not verify business-impact claims, and small device inserts are not detailed app-screen examples.",
      "selection_reason": "Customer story, environment, and useful product proof",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 20,
          "frame": 16,
          "kind": "live",
          "surface": "Flowers and craft opener",
          "description": "People, a brief white text card, bouquets, and hands establish the floral workspace.",
          "treatment": "Fast material-focused opening group.",
          "reuse": "Show the work's texture before explaining it.",
          "id": "floral-business-01",
          "number": 1,
          "film": "floral-business",
          "film_title": "ChatGPT for Small Business: More Time to Create | The Floral Hire",
          "source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/floral-business/016000.webp"
        },
        {
          "start": 20,
          "end": 44,
          "frame": 36,
          "kind": "live",
          "surface": "People doing the work",
          "description": "Conversation and flower selection alternate with arranging stems.",
          "treatment": "Interview and observational activity.",
          "reuse": "Keep the speaker connected to real work.",
          "id": "floral-business-02",
          "number": 2,
          "film": "floral-business",
          "film_title": "ChatGPT for Small Business: More Time to Create | The Floral Hire",
          "source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/floral-business/036000.webp"
        },
        {
          "start": 44,
          "end": 64,
          "frame": 56,
          "kind": "live",
          "surface": "Warehouse context",
          "description": "Interview views are interrupted by wider warehouse and doorway shots.",
          "treatment": "Close face to environmental scale.",
          "reuse": "Show the operational setting.",
          "id": "floral-business-03",
          "number": 3,
          "film": "floral-business",
          "film_title": "ChatGPT for Small Business: More Time to Create | The Floral Hire",
          "source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/floral-business/056000.webp"
        },
        {
          "start": 64,
          "end": 88,
          "frame": 76,
          "kind": "live",
          "surface": "Interview and detail",
          "description": "The seated interview returns with an insert of another person arranging flowers.",
          "treatment": "Stable interview with relevant work inserts.",
          "reuse": "Use cutaways that add information rather than decoration.",
          "id": "floral-business-04",
          "number": 4,
          "film": "floral-business",
          "film_title": "ChatGPT for Small Business: More Time to Create | The Floral Hire",
          "source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=76s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/floral-business/076000.webp"
        },
        {
          "start": 88,
          "end": 100,
          "frame": 96,
          "kind": "live",
          "surface": "Physical-device insert",
          "description": "Faces and hands lead to a close phone/device interaction whose app content is not clearly readable in the samples.",
          "treatment": "Brief tactile technology detail.",
          "reuse": "Do not invent an interface workflow from an unreadable screen.",
          "id": "floral-business-05",
          "number": 5,
          "film": "floral-business",
          "film_title": "ChatGPT for Small Business: More Time to Create | The Floral Hire",
          "source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=88s",
          "frame_source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/floral-business/096000.webp"
        },
        {
          "start": 100,
          "end": 120,
          "frame": 112,
          "kind": "live",
          "surface": "Human closing sequence",
          "description": "Wide and close interview views lead to both people among the flowers.",
          "treatment": "Workplace and relationship payoff.",
          "reuse": "Close on the people and their craft.",
          "id": "floral-business-06",
          "number": 6,
          "film": "floral-business",
          "film_title": "ChatGPT for Small Business: More Time to Create | The Floral Hire",
          "source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=112s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/floral-business/112000.webp"
        },
        {
          "start": 120,
          "end": 122.96,
          "frame": 120,
          "kind": "title",
          "surface": "Wordmark ending",
          "description": "A centered ChatGPT wordmark appears on white.",
          "treatment": "Plain identity close.",
          "reuse": "Keep the research distinction between story and product proof.",
          "id": "floral-business-07",
          "number": 7,
          "film": "floral-business",
          "film_title": "ChatGPT for Small Business: More Time to Create | The Floral Hire",
          "source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=120s",
          "frame_source_url": "https://www.youtube.com/watch?v=gpj9YWbr3IQ&t=120s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/floral-business/120000.webp"
        }
      ]
    },
    {
      "slug": "images-chameleon",
      "id": "6SIDwCQZkU8",
      "title": "ChatGPT Images — Chameleon",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-04-21",
      "source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8",
      "duration": 60.014,
      "width": 1920,
      "height": 1080,
      "fps": 30.00050000833347,
      "sha256": "5b6d5cbb1e9afe0a95ac28fac73088174d1c16e37bc431045ff36d48add794bb",
      "family": "Output showcase",
      "priority": "Selective",
      "poster": 24,
      "summary": "A chameleon motif reappears across clocks, signs, objects, portraits, and printed text, all held inside a consistent white field.",
      "borrow": "Use a recurring subject to unify a varied output montage while keeping the surrounding stage stable.",
      "avoid": "The film shows finished outputs, not an app workflow; four-second samples do not capture every rapid image change or establish text accuracy.",
      "selection_reason": "Visual campaign motif and transformation",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 0,
          "kind": "title",
          "surface": "Images identity",
          "description": "A small chameleon image sits between product-name text on white.",
          "treatment": "Image embedded in the title line.",
          "reuse": "Introduce a visual motif that can recur.",
          "id": "images-chameleon-01",
          "number": 1,
          "film": "images-chameleon",
          "film_title": "ChatGPT Images — Chameleon",
          "source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=0s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-chameleon/000000.webp"
        },
        {
          "start": 4,
          "end": 16,
          "frame": 8,
          "kind": "montage",
          "surface": "Everyday objects",
          "description": "Clock, mat, and transparent green object examples retain the chameleon theme.",
          "treatment": "Changing outputs within a stable white margin.",
          "reuse": "Keep the presentation stage constant while the materials vary.",
          "id": "images-chameleon-02",
          "number": 2,
          "film": "images-chameleon",
          "film_title": "ChatGPT Images — Chameleon",
          "source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-chameleon/008000.webp"
        },
        {
          "start": 16,
          "end": 28,
          "frame": 24,
          "kind": "montage",
          "surface": "Signs and materials",
          "description": "A small creature, a sign, and a reflective hanging form appear in sequence.",
          "treatment": "Material and scale contrast.",
          "reuse": "Group outputs around a clear visual relationship.",
          "id": "images-chameleon-03",
          "number": 3,
          "film": "images-chameleon",
          "film_title": "ChatGPT Images — Chameleon",
          "source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-chameleon/024000.webp"
        },
        {
          "start": 28,
          "end": 40,
          "frame": 36,
          "kind": "montage",
          "surface": "People and activities",
          "description": "Clothing, exercise, and climbing imagery carry the recurring motif.",
          "treatment": "Output montage with human context.",
          "reuse": "Vary the setting without losing the subject.",
          "id": "images-chameleon-04",
          "number": 4,
          "film": "images-chameleon",
          "film_title": "ChatGPT Images — Chameleon",
          "source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=36s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-chameleon/036000.webp"
        },
        {
          "start": 40,
          "end": 52,
          "frame": 48,
          "kind": "montage",
          "surface": "Character and print",
          "description": "A close character, a printed program, and a western-style character follow.",
          "treatment": "Portrait-to-typography contrast.",
          "reuse": "Let text-bearing examples receive a separate reading hold in an adaptation.",
          "id": "images-chameleon-05",
          "number": 5,
          "film": "images-chameleon",
          "film_title": "ChatGPT Images — Chameleon",
          "source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-chameleon/048000.webp"
        },
        {
          "start": 52,
          "end": 60.014,
          "frame": 56,
          "kind": "montage",
          "surface": "Words in objects",
          "description": "Printed-page and embroidered-object imagery continue the visual word sequence.",
          "treatment": "Text integrated into the output rather than a separate caption.",
          "reuse": "Do not mistake the montage for proof of a reusable editing workflow.",
          "id": "images-chameleon-06",
          "number": 6,
          "film": "images-chameleon",
          "film_title": "ChatGPT Images — Chameleon",
          "source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=6SIDwCQZkU8&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/images-chameleon/056000.webp"
        }
      ]
    },
    {
      "slug": "codex-superbowl",
      "id": "aCN9iCXNJqQ",
      "title": "OpenAI Super Bowl 2026 | Codex | You Can Just Build Things",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2026-02-09",
      "source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ",
      "duration": 60.074,
      "width": 1920,
      "height": 1080,
      "fps": 23.976423183869194,
      "sha256": "84573118001f9fa7b81c0c4d9678a22e8266e54dbcd49e904a56a29f6895ff00",
      "family": "Live-action ad",
      "priority": "Selective",
      "poster": 12,
      "summary": "A first-person making-and-learning montage connects handmade objects, books, electronics, classrooms, and robotics before a large typographic ending.",
      "borrow": "Use hands and first-person viewpoints as a consistent thread across different activities.",
      "avoid": "The electronics and robotics footage is not a captured Codex workflow or evidence that the product independently performed those tasks.",
      "selection_reason": "Brand-film sequence and maker context",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 12,
          "frame": 8,
          "kind": "live",
          "surface": "Curiosity and making",
          "description": "Outdoor observation, a handmade object, and a book appear in close first-person views.",
          "treatment": "Tactile object montage.",
          "reuse": "Establish a human motivation through concrete details.",
          "id": "codex-superbowl-01",
          "number": 1,
          "film": "codex-superbowl",
          "film_title": "OpenAI Super Bowl 2026 | Codex | You Can Just Build Things",
          "source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-superbowl/008000.webp"
        },
        {
          "start": 12,
          "end": 24,
          "frame": 20,
          "kind": "live",
          "surface": "Tools and learning",
          "description": "Electronics, a classroom, and an older computer continue the sequence.",
          "treatment": "Hands and tools as recurring composition anchors.",
          "reuse": "Show a progression without claiming technical causation.",
          "id": "codex-superbowl-02",
          "number": 2,
          "film": "codex-superbowl",
          "film_title": "OpenAI Super Bowl 2026 | Codex | You Can Just Build Things",
          "source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-superbowl/020000.webp"
        },
        {
          "start": 24,
          "end": 32,
          "frame": 28,
          "kind": "live",
          "surface": "Reading and history",
          "description": "A book scene gives way to a monochrome portrait.",
          "treatment": "Everyday action into archival-style imagery.",
          "reuse": "Use a short historical reference as context, not a product demo.",
          "id": "codex-superbowl-03",
          "number": 3,
          "film": "codex-superbowl",
          "film_title": "OpenAI Super Bowl 2026 | Codex | You Can Just Build Things",
          "source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-superbowl/028000.webp"
        },
        {
          "start": 32,
          "end": 44,
          "frame": 40,
          "kind": "live",
          "surface": "Chess and robotics",
          "description": "A chessboard and robotic arms become the next visual subjects.",
          "treatment": "Activity-to-activity montage.",
          "reuse": "Keep metaphorical capabilities separate from verified interface behavior.",
          "id": "codex-superbowl-04",
          "number": 4,
          "film": "codex-superbowl",
          "film_title": "OpenAI Super Bowl 2026 | Codex | You Can Just Build Things",
          "source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=32s",
          "frame_source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-superbowl/040000.webp"
        },
        {
          "start": 44,
          "end": 52,
          "frame": 48,
          "kind": "live",
          "surface": "Notebook and laptop",
          "description": "A notebook and closing laptop return the sequence to personal work.",
          "treatment": "Tactile closing action.",
          "reuse": "Resolve the montage with a familiar object.",
          "id": "codex-superbowl-05",
          "number": 5,
          "film": "codex-superbowl",
          "film_title": "OpenAI Super Bowl 2026 | Codex | You Can Just Build Things",
          "source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-superbowl/048000.webp"
        },
        {
          "start": 52,
          "end": 60.074,
          "frame": 56,
          "kind": "title",
          "surface": "Large type ending",
          "description": "Large single words replace the live scenes on a dark field.",
          "treatment": "High-contrast typographic punctuation.",
          "reuse": "Reserve the strongest type contrast for a brief final statement.",
          "id": "codex-superbowl-06",
          "number": 6,
          "film": "codex-superbowl",
          "film_title": "OpenAI Super Bowl 2026 | Codex | You Can Just Build Things",
          "source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/codex-superbowl/056000.webp"
        }
      ]
    },
    {
      "slug": "ten-years",
      "id": "8JXwrVQQ4jw",
      "title": "10 years.",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-12-11",
      "source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw",
      "duration": 67.254,
      "width": 1920,
      "height": 1080,
      "fps": 23.97632115181533,
      "sha256": "c047b79bf59dcdfd4df793d6724f732dbd89bc43390c5a43dd676e6b25f0f0d1",
      "family": "Retrospective",
      "priority": "Selective",
      "poster": 28,
      "summary": "Archival-looking photos, research imagery, documents, and later product footage are arranged as small objects on white before an anniversary ending.",
      "borrow": "Give mixed archival formats a common white stage rather than forcing them into one crop.",
      "avoid": "This is a visual study of an edited retrospective, not an independently checked chronology, historical attribution, or current usage report.",
      "selection_reason": "Archival montage and institutional story",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 1,
      "shots": [
        {
          "start": 0,
          "end": 16,
          "frame": 8,
          "kind": "montage",
          "surface": "Early archive group",
          "description": "Workplace photographs, an image grid, and a handwritten statement appear on white.",
          "treatment": "Varied archival formats with generous margins.",
          "reuse": "Preserve the shape of each source artifact.",
          "id": "ten-years-01",
          "number": 1,
          "film": "ten-years",
          "film_title": "10 years.",
          "source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/ten-years/008000.webp"
        },
        {
          "start": 16,
          "end": 28,
          "frame": 24,
          "kind": "montage",
          "surface": "Research and team images",
          "description": "An object-built wordmark, a simulated scene, and a team table follow.",
          "treatment": "Alternating artifacts and people.",
          "reuse": "Connect technical work with its human setting.",
          "id": "ten-years-02",
          "number": 2,
          "film": "ten-years",
          "film_title": "10 years.",
          "source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/ten-years/024000.webp"
        },
        {
          "start": 28,
          "end": 40,
          "frame": 32,
          "kind": "graphic",
          "surface": "Documents and identity",
          "description": "A document/photo pair and outlined lettering lead back to a group photograph.",
          "treatment": "Layout changes within a stable white field.",
          "reuse": "Use spacing to unify heterogeneous material.",
          "id": "ten-years-03",
          "number": 3,
          "film": "ten-years",
          "film_title": "10 years.",
          "source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/ten-years/032000.webp"
        },
        {
          "start": 40,
          "end": 48,
          "frame": 44,
          "kind": "montage",
          "surface": "Graphic and event bridge",
          "description": "Colored dots are followed by a large event audience.",
          "treatment": "Abstract-to-human scale contrast.",
          "reuse": "Use a visual reset between periods.",
          "id": "ten-years-04",
          "number": 4,
          "film": "ten-years",
          "film_title": "10 years.",
          "source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=40s",
          "frame_source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/ten-years/044000.webp"
        },
        {
          "start": 48,
          "end": 52,
          "frame": 48,
          "kind": "app",
          "surface": "Product-window insert",
          "description": "Overlapping product imagery appears in a desktop-style window composition.",
          "treatment": "Brief interface montage.",
          "reuse": "Treat a retrospective insert as context, not a complete app workflow.",
          "id": "ten-years-05",
          "number": 5,
          "film": "ten-years",
          "film_title": "10 years.",
          "source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/ten-years/048000.webp"
        },
        {
          "start": 52,
          "end": 64,
          "frame": 60,
          "kind": "montage",
          "surface": "People and statement",
          "description": "Outdoor and interview footage lead to enlarged text.",
          "treatment": "Human clips into a typographic summary.",
          "reuse": "Do not repeat historical metrics as current facts.",
          "id": "ten-years-06",
          "number": 6,
          "film": "ten-years",
          "film_title": "10 years.",
          "source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=52s",
          "frame_source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=60s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/ten-years/060000.webp"
        },
        {
          "start": 64,
          "end": 67.254,
          "frame": 64,
          "kind": "title",
          "surface": "Anniversary ending",
          "description": "A compact anniversary lockup closes on white.",
          "treatment": "Small identity after a varied montage.",
          "reuse": "End with a clear dated framing.",
          "id": "ten-years-07",
          "number": 7,
          "film": "ten-years",
          "film_title": "10 years.",
          "source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=64s",
          "frame_source_url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/ten-years/064000.webp"
        }
      ]
    },
    {
      "slug": "work-looks-like",
      "id": "0SccjZ6Yfi8",
      "title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-10-09",
      "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8",
      "duration": 108.374,
      "width": 1920,
      "height": 1080,
      "fps": 60.0,
      "sha256": "e1bdb48bda5f00359270a9e67290cc9abe44102fb7304ebba8b8a5a01bd971bf",
      "family": "Product film",
      "priority": "Supporting",
      "poster": 64,
      "summary": "A white-stage capability reel repeats a short claim, a task-specific input, and an artifact or control detail across research, connected data, code, writing, and images.",
      "borrow": "Use one consistent chapter/input/result rhythm across different capabilities.",
      "avoid": "Speed claims are advertising copy, not measured latency; generated business plans and statistics are not independently validated here.",
      "selection_reason": "Workplace vignettes and product transitions",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 9,
      "shots": [
        {
          "start": 0,
          "end": 8,
          "frame": 4,
          "kind": "app",
          "surface": "Opening request",
          "description": "An isolated composer receives a broad work-related request.",
          "treatment": "Small control on a large white field.",
          "reuse": "Create a reusable entry motif.",
          "id": "work-looks-like-01",
          "number": 1,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/004000.webp"
        },
        {
          "start": 8,
          "end": 24,
          "frame": 20,
          "kind": "app",
          "surface": "Research chapter",
          "description": "A statement card leads to a research request, status, and a report with download/share controls.",
          "treatment": "Claim, input, then artifact detail.",
          "reuse": "Show a deliverable rather than ending on a spinner.",
          "id": "work-looks-like-02",
          "number": 2,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/020000.webp"
        },
        {
          "start": 24,
          "end": 36,
          "frame": 32,
          "kind": "app",
          "surface": "Connected calendar setup",
          "description": "A calendar request opens tool and connector choices.",
          "treatment": "Composer into native settings detail.",
          "reuse": "Keep connection setup visible.",
          "id": "work-looks-like-03",
          "number": 3,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=32s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/032000.webp"
        },
        {
          "start": 36,
          "end": 48,
          "frame": 44,
          "kind": "app",
          "surface": "Agent task",
          "description": "A chapter card precedes an agent-tagged research and spreadsheet request.",
          "treatment": "Repeated chapter grammar and enlarged input.",
          "reuse": "Expose the task's scope without implying instant completion.",
          "id": "work-looks-like-04",
          "number": 4,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=44s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/044000.webp"
        },
        {
          "start": 48,
          "end": 60,
          "frame": 56,
          "kind": "app",
          "surface": "Code chapter",
          "description": "A coding statement leads to a request and a dark code window.",
          "treatment": "White-stage setup with contrasting code artifact.",
          "reuse": "Distinguish code output from a verified running feature.",
          "id": "work-looks-like-05",
          "number": 5,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=48s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/056000.webp"
        },
        {
          "start": 60,
          "end": 68,
          "frame": 64,
          "kind": "app",
          "surface": "Selected document edit",
          "description": "A document passage is selected with a contextual rewrite request beneath it.",
          "treatment": "Native highlight and nearby instruction.",
          "reuse": "Keep the edit target readable.",
          "id": "work-looks-like-06",
          "number": 6,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=60s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=64s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/064000.webp"
        },
        {
          "start": 68,
          "end": 80,
          "frame": 72,
          "kind": "app",
          "surface": "Document analysis",
          "description": "An attached document leads to a response and chart before the next chapter.",
          "treatment": "Source-to-analysis pairing.",
          "reuse": "Show the input artifact alongside a representative result.",
          "id": "work-looks-like-07",
          "number": 7,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=68s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=72s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/072000.webp"
        },
        {
          "start": 80,
          "end": 100,
          "frame": 96,
          "kind": "app",
          "surface": "App and campaign requests",
          "description": "Chapter cards alternate with prototype and campaign requests, ending on a generated shoe advertisement.",
          "treatment": "Repeated input/result rhythm with a colorful final artifact.",
          "reuse": "Label generated demo artifacts rather than implying shipped host-app features.",
          "id": "work-looks-like-08",
          "number": 8,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=80s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=96s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/096000.webp"
        },
        {
          "start": 100,
          "end": 108.374,
          "frame": 104,
          "kind": "app",
          "surface": "Closing conversation",
          "description": "A final short question and reply precede the end mark.",
          "treatment": "Return to the opening composer motif.",
          "reuse": "Close the loop without another feature list.",
          "id": "work-looks-like-09",
          "number": 9,
          "film": "work-looks-like",
          "film_title": "What Work Looks Like with ChatGPT | Write, Research, Code, Create",
          "source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=100s",
          "frame_source_url": "https://www.youtube.com/watch?v=0SccjZ6Yfi8&t=104s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/work-looks-like/104000.webp"
        }
      ]
    },
    {
      "slug": "sora-two-launch",
      "id": "lEcg6AJ6DVY",
      "title": "This is Sora 2",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-09-30",
      "source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY",
      "duration": 57.334,
      "width": 1920,
      "height": 1080,
      "fps": 23.976128570680718,
      "sha256": "72ffecccee4af4aeefaf1f81e91f300bdc5c39d0b88e4b1819fade2ac6237680",
      "family": "Output showcase",
      "priority": "Selective",
      "poster": 20,
      "summary": "A black opener leads to distinct generated-looking sequences in skating, animation, lake action, a space-dog scene, and a western stunt.",
      "borrow": "Give each output enough continuity to show an action, then use a strong style change between examples.",
      "avoid": "The source is an output reel, not an app demonstration or independent physical-realism benchmark; no audio analysis was performed.",
      "selection_reason": "Generated-video montage and identity",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 0,
          "kind": "title",
          "surface": "Launch opener",
          "description": "A small introduction line appears on black.",
          "treatment": "Restrained title before vivid footage.",
          "reuse": "Let the examples carry the visual weight.",
          "id": "sora-two-launch-01",
          "number": 1,
          "film": "sora-two-launch",
          "film_title": "This is Sora 2",
          "source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=0s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-two-launch/000000.webp"
        },
        {
          "start": 4,
          "end": 16,
          "frame": 8,
          "kind": "output",
          "surface": "Skating sequence",
          "description": "A skater moves across an arena through several action views.",
          "treatment": "Sustained subject and environment.",
          "reuse": "Show continuity rather than only isolated attractive frames.",
          "id": "sora-two-launch-02",
          "number": 2,
          "film": "sora-two-launch",
          "film_title": "This is Sora 2",
          "source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-two-launch/008000.webp"
        },
        {
          "start": 16,
          "end": 24,
          "frame": 20,
          "kind": "output",
          "surface": "Animated close-ups",
          "description": "Animated faces and eye reflections establish a very different style.",
          "treatment": "Strong style and scale change.",
          "reuse": "Use contrast to distinguish examples.",
          "id": "sora-two-launch-03",
          "number": 3,
          "film": "sora-two-launch",
          "film_title": "This is Sora 2",
          "source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-two-launch/020000.webp"
        },
        {
          "start": 24,
          "end": 36,
          "frame": 28,
          "kind": "output",
          "surface": "Lake action",
          "description": "A person on a board, a splash, and a return to the board form a short action sequence.",
          "treatment": "Setup, action, aftermath.",
          "reuse": "Choose outputs with a readable mini-narrative.",
          "id": "sora-two-launch-04",
          "number": 4,
          "film": "sora-two-launch",
          "film_title": "This is Sora 2",
          "source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-two-launch/028000.webp"
        },
        {
          "start": 36,
          "end": 44,
          "frame": 40,
          "kind": "output",
          "surface": "Space-dog scene",
          "description": "A warm spacecraft interior leads to a close dog in a suit.",
          "treatment": "Environment reveal into character detail.",
          "reuse": "Pair the setting with a focal subject.",
          "id": "sora-two-launch-05",
          "number": 5,
          "film": "sora-two-launch",
          "film_title": "This is Sora 2",
          "source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=36s",
          "frame_source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=40s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-two-launch/040000.webp"
        },
        {
          "start": 44,
          "end": 56,
          "frame": 48,
          "kind": "output",
          "surface": "Western stunt",
          "description": "A rider spans two moving horses before the action resolves.",
          "treatment": "Wide action continuity.",
          "reuse": "Keep spectacle distinct from product-interface evidence.",
          "id": "sora-two-launch-06",
          "number": 6,
          "film": "sora-two-launch",
          "film_title": "This is Sora 2",
          "source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=44s",
          "frame_source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=48s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-two-launch/048000.webp"
        },
        {
          "start": 56,
          "end": 57.334,
          "frame": 56,
          "kind": "title",
          "surface": "Black ending",
          "description": "The final mark appears on black.",
          "treatment": "Return to the opening tone.",
          "reuse": "Bookend a varied reel with a consistent field.",
          "id": "sora-two-launch-07",
          "number": 7,
          "film": "sora-two-launch",
          "film_title": "This is Sora 2",
          "source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=56s",
          "frame_source_url": "https://www.youtube.com/watch?v=lEcg6AJ6DVY&t=56s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/sora-two-launch/056000.webp"
        }
      ]
    },
    {
      "slug": "dish-chatgpt",
      "id": "To04SSylvVY",
      "title": "Dish with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-09-28",
      "source_url": "https://www.youtube.com/watch?v=To04SSylvVY",
      "duration": 30.054,
      "width": 1920,
      "height": 1080,
      "fps": 23.976023976023978,
      "sha256": "6410999b36bd483a653506a63136473f6aa710b2f634bb57cbb63953d8a5b459",
      "family": "Live-action ad",
      "priority": "Selective",
      "poster": 20,
      "summary": "An intimate kitchen exchange widens through a window to the building exterior while a chat-style recipe response overlays the scene.",
      "borrow": "Use a widening environmental reveal to connect a personal request to its human outcome.",
      "avoid": "The text is an advertising overlay rather than native app capture; the recipe is not independently checked cooking guidance.",
      "selection_reason": "Short domestic story and practical result",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 8,
          "frame": 4,
          "kind": "live",
          "surface": "Close human opening",
          "description": "A face and a tasting action introduce a quiet kitchen scene.",
          "treatment": "Intimate close-ups.",
          "reuse": "Begin with a recognizable human moment.",
          "id": "dish-chatgpt-01",
          "number": 1,
          "film": "dish-chatgpt",
          "film_title": "Dish with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/dish-chatgpt/004000.webp"
        },
        {
          "start": 8,
          "end": 12,
          "frame": 8,
          "kind": "live",
          "surface": "Shared kitchen context",
          "description": "Two people become visible around the food.",
          "treatment": "Wider relationship framing.",
          "reuse": "Establish why the task matters.",
          "id": "dish-chatgpt-02",
          "number": 2,
          "film": "dish-chatgpt",
          "film_title": "Dish with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/dish-chatgpt/008000.webp"
        },
        {
          "start": 12,
          "end": 20,
          "frame": 16,
          "kind": "graphic",
          "surface": "Recipe request and response",
          "description": "A short request and response overlay the increasingly wide kitchen view.",
          "treatment": "Chat typography on live footage.",
          "reuse": "Keep editorial text distinct from an app demonstration.",
          "id": "dish-chatgpt-03",
          "number": 3,
          "film": "dish-chatgpt",
          "film_title": "Dish with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/dish-chatgpt/016000.webp"
        },
        {
          "start": 20,
          "end": 24,
          "frame": 20,
          "kind": "graphic",
          "surface": "Window reveal",
          "description": "The scene moves to the building exterior with the recipe text still overlaid.",
          "treatment": "Interior-to-exterior scale change.",
          "reuse": "Let the environment reveal carry the transition.",
          "id": "dish-chatgpt-04",
          "number": 4,
          "film": "dish-chatgpt",
          "film_title": "Dish with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/dish-chatgpt/020000.webp"
        },
        {
          "start": 24,
          "end": 28,
          "frame": 24,
          "kind": "graphic",
          "surface": "Response ending",
          "description": "The exterior holds beneath the remaining response.",
          "treatment": "Quiet setting with selective text.",
          "reuse": "Reduce the text in an adaptation to what can actually be read.",
          "id": "dish-chatgpt-05",
          "number": 5,
          "film": "dish-chatgpt",
          "film_title": "Dish with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/dish-chatgpt/024000.webp"
        },
        {
          "start": 28,
          "end": 30.054,
          "frame": 28,
          "kind": "title",
          "surface": "Exterior identity",
          "description": "The wordmark and mark sit over the building facade.",
          "treatment": "Identity within the story world.",
          "reuse": "Keep the final human setting visible.",
          "id": "dish-chatgpt-06",
          "number": 6,
          "film": "dish-chatgpt",
          "film_title": "Dish with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=To04SSylvVY&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/dish-chatgpt/028000.webp"
        }
      ]
    },
    {
      "slug": "pullup-chatgpt",
      "id": "IqC3YrIzbQw",
      "title": "Pull-Up with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-09-28",
      "source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw",
      "duration": 30.014,
      "width": 1920,
      "height": 1080,
      "fps": 24.000800026667555,
      "sha256": "d0ae010fd382e827d822a290b094598cfc90c5684c52f5a4c58c16b27b713018",
      "family": "Live-action ad",
      "priority": "Selective",
      "poster": 20,
      "summary": "Close effort at an outdoor bar gradually becomes a wider park view, with a chat-style exercise plan overlaid after the human goal is clear.",
      "borrow": "Start with tactile effort, then widen to reveal the full situation before adding the explanatory text.",
      "avoid": "The overlay is not a captured app workflow, and this study does not endorse or validate the displayed exercise advice.",
      "selection_reason": "Short physical-action story and product role",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 8,
          "frame": 4,
          "kind": "live",
          "surface": "Effort detail",
          "description": "Dark close framing gives way to hands and a face at the bar.",
          "treatment": "Tactile detail before context.",
          "reuse": "Establish effort through concrete action.",
          "id": "pullup-chatgpt-01",
          "number": 1,
          "film": "pullup-chatgpt",
          "film_title": "Pull-Up with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=4s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/pullup-chatgpt/004000.webp"
        },
        {
          "start": 8,
          "end": 16,
          "frame": 12,
          "kind": "live",
          "surface": "Full activity",
          "description": "The person and exercise bar become visible against the evening sky.",
          "treatment": "Progressively wider framing.",
          "reuse": "Let the viewer understand the goal without text.",
          "id": "pullup-chatgpt-02",
          "number": 2,
          "film": "pullup-chatgpt",
          "film_title": "Pull-Up with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=8s",
          "frame_source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=12s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/pullup-chatgpt/012000.webp"
        },
        {
          "start": 16,
          "end": 20,
          "frame": 16,
          "kind": "graphic",
          "surface": "Goal request",
          "description": "A short chat-style request appears over the exercise scene.",
          "treatment": "Small text layer over live action.",
          "reuse": "Introduce the question only after its context.",
          "id": "pullup-chatgpt-03",
          "number": 3,
          "film": "pullup-chatgpt",
          "film_title": "Pull-Up with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=16s",
          "frame_source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/pullup-chatgpt/016000.webp"
        },
        {
          "start": 20,
          "end": 24,
          "frame": 20,
          "kind": "graphic",
          "surface": "Plan overlay",
          "description": "A structured response overlays the wider park view.",
          "treatment": "Text over continuing human action.",
          "reuse": "Avoid presenting unverified advice as a production recommendation.",
          "id": "pullup-chatgpt-04",
          "number": 4,
          "film": "pullup-chatgpt",
          "film_title": "Pull-Up with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/pullup-chatgpt/020000.webp"
        },
        {
          "start": 24,
          "end": 28,
          "frame": 24,
          "kind": "graphic",
          "surface": "Routine detail",
          "description": "The response continues while the person remains in the environment.",
          "treatment": "Stable setting and changing text.",
          "reuse": "Use only a readable excerpt in an adaptation.",
          "id": "pullup-chatgpt-05",
          "number": 5,
          "film": "pullup-chatgpt",
          "film_title": "Pull-Up with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/pullup-chatgpt/024000.webp"
        },
        {
          "start": 28,
          "end": 30.014,
          "frame": 28,
          "kind": "title",
          "surface": "Park identity",
          "description": "The identity appears over the widest park composition.",
          "treatment": "Environmental close.",
          "reuse": "Finish in the same visual world.",
          "id": "pullup-chatgpt-06",
          "number": 6,
          "film": "pullup-chatgpt",
          "film_title": "Pull-Up with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=IqC3YrIzbQw&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/pullup-chatgpt/028000.webp"
        }
      ]
    },
    {
      "slug": "roadtrip-chatgpt",
      "id": "go4o6jiy8qE",
      "title": "Road Trip with ChatGPT",
      "channel": "OpenAI",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "published_date": "2025-09-28",
      "source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE",
      "duration": 30.034,
      "width": 1920,
      "height": 1080,
      "fps": 24.0,
      "sha256": "ff7e8a81831034ac35e88d85dad63a3d3742f85b5e1fd1bb789bc5658b64b410",
      "family": "Live-action ad",
      "priority": "Selective",
      "poster": 24,
      "summary": "A roadside landscape leads inside a vehicle, then widens back to the road as a chat-style trip plan overlays the journey.",
      "borrow": "Return to an established landscape for a satisfying wide ending.",
      "avoid": "The plan overlay is not native app capture or current travel advice, and the study does not infer that a driver interacted with the app.",
      "selection_reason": "Travel story and environment-to-product cut",
      "inspection": "Full-duration four-second contact sheets visually inspected. Rows group editorial beats, not every cut. No audio or product-performance measurement.",
      "screen_count": 0,
      "shots": [
        {
          "start": 0,
          "end": 4,
          "frame": 0,
          "kind": "live",
          "surface": "Landscape opener",
          "description": "A green roadside landscape establishes the journey.",
          "treatment": "Wide environmental frame.",
          "reuse": "Introduce the place before the people.",
          "id": "roadtrip-chatgpt-01",
          "number": 1,
          "film": "roadtrip-chatgpt",
          "film_title": "Road Trip with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=0s",
          "frame_source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=0s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/roadtrip-chatgpt/000000.webp"
        },
        {
          "start": 4,
          "end": 12,
          "frame": 8,
          "kind": "live",
          "surface": "Inside the vehicle",
          "description": "Close passenger views reveal the people in the car.",
          "treatment": "Exterior-to-interior shift.",
          "reuse": "Give the journey a human center.",
          "id": "roadtrip-chatgpt-02",
          "number": 2,
          "film": "roadtrip-chatgpt",
          "film_title": "Road Trip with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=4s",
          "frame_source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=8s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/roadtrip-chatgpt/008000.webp"
        },
        {
          "start": 12,
          "end": 20,
          "frame": 16,
          "kind": "graphic",
          "surface": "Trip-planning request",
          "description": "A request and response overlay the car scene as the vehicle moves into a wider view.",
          "treatment": "Chat typography linked to the journey.",
          "reuse": "Do not imply app interaction by a driver.",
          "id": "roadtrip-chatgpt-03",
          "number": 3,
          "film": "roadtrip-chatgpt",
          "film_title": "Road Trip with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=12s",
          "frame_source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=16s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/roadtrip-chatgpt/016000.webp"
        },
        {
          "start": 20,
          "end": 24,
          "frame": 20,
          "kind": "graphic",
          "surface": "Road and itinerary",
          "description": "The vehicle recedes on a curving road under the structured response.",
          "treatment": "Wide landscape with text overlay.",
          "reuse": "Use the original setting as the visual payoff.",
          "id": "roadtrip-chatgpt-04",
          "number": 4,
          "film": "roadtrip-chatgpt",
          "film_title": "Road Trip with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=20s",
          "frame_source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=20s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/roadtrip-chatgpt/020000.webp"
        },
        {
          "start": 24,
          "end": 28,
          "frame": 24,
          "kind": "graphic",
          "surface": "Plan ending",
          "description": "The trip response ends over the continuing road view.",
          "treatment": "Quiet environmental hold.",
          "reuse": "Keep any adapted itinerary fictional or independently verified.",
          "id": "roadtrip-chatgpt-05",
          "number": 5,
          "film": "roadtrip-chatgpt",
          "film_title": "Road Trip with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=24s",
          "frame_source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=24s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/roadtrip-chatgpt/024000.webp"
        },
        {
          "start": 28,
          "end": 30.034,
          "frame": 28,
          "kind": "title",
          "surface": "Road identity",
          "description": "The mark and wordmark remain over the road.",
          "treatment": "Landscape ending.",
          "reuse": "Resolve the story without a device close-up.",
          "id": "roadtrip-chatgpt-06",
          "number": 6,
          "film": "roadtrip-chatgpt",
          "film_title": "Road Trip with ChatGPT",
          "source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=28s",
          "frame_source_url": "https://www.youtube.com/watch?v=go4o6jiy8qE&t=28s",
          "precision": "Approximate editorial beat, not frame-accurate cut boundaries",
          "image": "videos/media/roadtrip-chatgpt/028000.webp"
        }
      ]
    }
  ],
  "motion_count": 37
}
