{
  "status": "rendered and verified",
  "output_file": "08-explainer-video.mp4",
  "output_sha256": "83a1b3bc8893ea38a47eaa82c3e25aa1723881fbd46d2fc474e81a34f2e5abe0",
  "output_bytes": 11012292,
  "output_duration_seconds": 239.166667,
  "native_resolution": [
    1920,
    1080
  ],
  "upscaled": false,
  "frame_rate": "30/1",
  "frame_count": 7175,
  "video_stream": {
    "index": 0,
    "codec_name": "h264",
    "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
    "profile": "High",
    "codec_type": "video",
    "codec_tag_string": "avc1",
    "codec_tag": "0x31637661",
    "width": 1920,
    "height": 1080,
    "coded_width": 1920,
    "coded_height": 1080,
    "has_b_frames": 0,
    "sample_aspect_ratio": "1:1",
    "display_aspect_ratio": "16:9",
    "pix_fmt": "yuv420p",
    "level": 50,
    "color_range": "tv",
    "color_space": "bt709",
    "color_transfer": "bt709",
    "color_primaries": "bt709",
    "chroma_location": "left",
    "field_order": "progressive",
    "refs": 1,
    "is_avc": "true",
    "nal_length_size": "4",
    "id": "0x1",
    "r_frame_rate": "30/1",
    "avg_frame_rate": "30/1",
    "time_base": "1/15360",
    "start_pts": 0,
    "start_time": "0.000000",
    "duration_ts": 3673600,
    "duration": "239.166667",
    "bit_rate": "168721",
    "bits_per_raw_sample": "8",
    "nb_frames": "7175",
    "extradata_size": 50,
    "disposition": {
      "default": 1,
      "dub": 0,
      "original": 0,
      "comment": 0,
      "lyrics": 0,
      "karaoke": 0,
      "forced": 0,
      "hearing_impaired": 0,
      "visual_impaired": 0,
      "clean_effects": 0,
      "attached_pic": 0,
      "timed_thumbnails": 0,
      "non_diegetic": 0,
      "captions": 0,
      "descriptions": 0,
      "metadata": 0,
      "dependent": 0,
      "still_image": 0,
      "multilayer": 0
    },
    "tags": {
      "language": "und",
      "handler_name": "VideoHandler",
      "vendor_id": "[0][0][0][0]",
      "encoder": "Lavc62.11.100 libx264"
    }
  },
  "audio_stream": {
    "index": 1,
    "codec_name": "aac",
    "codec_long_name": "AAC (Advanced Audio Coding)",
    "profile": "LC",
    "codec_type": "audio",
    "codec_tag_string": "mp4a",
    "codec_tag": "0x6134706d",
    "sample_fmt": "fltp",
    "sample_rate": "48000",
    "channels": 2,
    "channel_layout": "stereo",
    "bits_per_sample": 0,
    "initial_padding": 0,
    "id": "0x2",
    "r_frame_rate": "0/0",
    "avg_frame_rate": "0/0",
    "time_base": "1/48000",
    "start_pts": 0,
    "start_time": "0.000000",
    "duration_ts": 11479968,
    "duration": "239.166000",
    "bit_rate": "192654",
    "nb_frames": "11212",
    "extradata_size": 2,
    "disposition": {
      "default": 1,
      "dub": 0,
      "original": 0,
      "comment": 0,
      "lyrics": 0,
      "karaoke": 0,
      "forced": 0,
      "hearing_impaired": 0,
      "visual_impaired": 0,
      "clean_effects": 0,
      "attached_pic": 0,
      "timed_thumbnails": 0,
      "non_diegetic": 0,
      "captions": 0,
      "descriptions": 0,
      "metadata": 0,
      "dependent": 0,
      "still_image": 0,
      "multilayer": 0
    },
    "tags": {
      "language": "und",
      "handler_name": "SoundHandler",
      "vendor_id": "[0][0][0][0]"
    }
  },
  "production_start_utc": "2026-10-27T17:03:16.893244+00:00",
  "verification_end_utc": "2026-10-27T17:35:15.260469+00:00",
  "production_elapsed_seconds": 1918.367225,
  "elapsed_definition": "Start of narration/asset preparation through final render verification; excludes prior book reading/writing and later packaging.",
  "render": {
    "started_at_utc": "2026-10-27T17:23:07.841942+00:00",
    "finished_at_utc": "2026-10-27T17:26:23.300880+00:00",
    "wall_seconds": 195.45893444300236,
    "exit_code": 0,
    "command": [
      "node",
      "/home/albert/.npm/_npx/d5029dd092d313d5/node_modules/hyperframes/bin/hyperframes.mjs",
      "render",
      "--quality",
      "delivery",
      "--fps",
      "30",
      "--workers",
      "2",
      "--no-browser-gpu",
      "--output",
      "renders/ikigai-making-explainer.mp4"
    ],
    "definition": "Full local HyperFrames render process, including validation, browser setup, capture, encoding and audio mux. Not pure GPU compute time.",
    "render_jobs_completed": 1,
    "render_jobs_failed": 0,
    "render_jobs_retried": 0,
    "browser_gpu": false,
    "workers_requested": 2
  },
  "render_pipeline_seconds": 194.082,
  "render_phase_seconds": {
    "compile": 0.207,
    "browser_probe": 0.059,
    "video_extract": 0.0,
    "audio_process": 2.319,
    "file_server": 0.002,
    "capture_disk": 181.592,
    "encode": 9.395,
    "assemble": 0.456
  },
  "summed_render_processing_seconds": 195.45893444300236,
  "scene_times": [
    {
      "scene": 1,
      "title": "An attractive idea",
      "start_seconds": 0,
      "end_seconds": 33.00267,
      "output_seconds": 33.00267,
      "voice_generation_seconds": 5.886854648590088,
      "separate_render_time_seconds": null,
      "render_note": "One continuous render; individual scene render times are not exposed."
    },
    {
      "scene": 2,
      "title": "Test the practice",
      "start_seconds": 33.00267,
      "end_seconds": 66.06933,
      "output_seconds": 33.06665999999999,
      "voice_generation_seconds": 5.669325590133667,
      "separate_render_time_seconds": null,
      "render_note": "One continuous render; individual scene render times are not exposed."
    },
    {
      "scene": 3,
      "title": "Finish the experiment",
      "start_seconds": 66.06933,
      "end_seconds": 97.87733,
      "output_seconds": 31.808000000000007,
      "voice_generation_seconds": 5.606163501739502,
      "separate_render_time_seconds": null,
      "render_note": "One continuous render; individual scene render times are not exposed."
    },
    {
      "scene": 4,
      "title": "Let evidence change the next move",
      "start_seconds": 97.87733,
      "end_seconds": 133.41867,
      "output_seconds": 35.54133999999999,
      "voice_generation_seconds": 6.397952556610107,
      "separate_render_time_seconds": null,
      "render_note": "One continuous render; individual scene render times are not exposed."
    },
    {
      "scene": 5,
      "title": "Make starting easier",
      "start_seconds": 133.41867,
      "end_seconds": 167.46667,
      "output_seconds": 34.048,
      "voice_generation_seconds": 6.34265398979187,
      "separate_render_time_seconds": null,
      "render_note": "One continuous render; individual scene render times are not exposed."
    },
    {
      "scene": 6,
      "title": "Do not let the finish line retreat",
      "start_seconds": 167.46667,
      "end_seconds": 203.02933,
      "output_seconds": 35.562659999999994,
      "voice_generation_seconds": 6.536550521850586,
      "separate_render_time_seconds": null,
      "render_note": "One continuous render; individual scene render times are not exposed."
    },
    {
      "scene": 7,
      "title": "A direction, not a borrowed identity",
      "start_seconds": 203.02933,
      "end_seconds": 239.15733,
      "output_seconds": 36.128000000000014,
      "voice_generation_seconds": 6.391843795776367,
      "separate_render_time_seconds": null,
      "render_note": "One continuous render; individual scene render times are not exposed."
    }
  ],
  "voice": {
    "provider": "local Kokoro ONNX",
    "model": "Kokoro v1.0 82M",
    "model_sha256": "7d5df8ecf7d4b1878015a32686053fd0eebe2bc377234608764cc0ef3636a6c5",
    "model_bytes": 325532387,
    "voice": "bm_george",
    "speed": 1.0,
    "language": "en-gb",
    "device": "CPUExecutionProvider",
    "threads": 4,
    "sample_rate": 24000,
    "format": "WAV PCM signed 16-bit mono",
    "wall_seconds": 43.5751678943634,
    "sum_paragraph_generation_seconds": 42.83134460449219,
    "completed_jobs": 14,
    "failed_jobs": 0,
    "retried_jobs": 0,
    "clips": [
      {
        "scene": 1,
        "paragraph": 1,
        "text": "What if you do not know what you want to do with your life? Sebastian Marshall's Ikigai offers a practical place to begin: build something small enough to finish, and let the experience teach you. This is his 2011 essay collection, not the similarly titled book by other authors.",
        "start": 0.6,
        "end": 18.43467,
        "duration": 17.834666666666667,
        "generation_seconds": 3.573040723800659,
        "path": "assets/voice/01-01.wav"
      },
      {
        "scene": 1,
        "paragraph": 2,
        "text": "The distinction is simple. An attractive subject is not yet a satisfying working life. You can like the finished object without knowing whether you like the process that produces it.",
        "start": 18.79467,
        "end": 30.44267,
        "duration": 11.648,
        "generation_seconds": 2.3138139247894287,
        "path": "assets/voice/01-02.wav"
      },
      {
        "scene": 2,
        "paragraph": 1,
        "text": "Marshall describes enjoying an early painting attempt. Later, he tries to learn more and finds that the drawing practice does not suit him. A friend who loves music discovers that working on music-video sets is not what he wants either.",
        "start": 33.60267,
        "end": 49.45333,
        "duration": 15.850666666666667,
        "generation_seconds": 2.9659972190856934,
        "path": "assets/voice/02-01.wav"
      },
      {
        "scene": 2,
        "paragraph": 2,
        "text": "These are useful results. The experiments reveal both attraction and cost. Ask not only whether you like the subject, but whether you want to keep practising the work. A decision to stop can be informed progress.",
        "start": 49.81333,
        "end": 63.50933,
        "duration": 13.696,
        "generation_seconds": 2.7033283710479736,
        "path": "assets/voice/02-02.wav"
      },
      {
        "scene": 3,
        "paragraph": 1,
        "text": "Marshall suggests that the difference between a generalist and a dabbler is completed work. When you finish and release something, it can receive feedback, help someone and connect you with other practitioners.",
        "start": 66.66933,
        "end": 79.192,
        "duration": 12.522666666666666,
        "generation_seconds": 2.4602444171905518,
        "path": "assets/voice/03-01.wav"
      },
      {
        "scene": 3,
        "paragraph": 2,
        "text": "The experiment needs a boundary. A small finished piece can answer a question that a large collection of almost-finished ideas cannot. It does not have to settle your identity forever. It has to reach the point where reality can answer back.",
        "start": 79.552,
        "end": 95.31733,
        "duration": 15.765333333333333,
        "generation_seconds": 3.14591908454895,
        "path": "assets/voice/03-02.wav"
      },
      {
        "scene": 4,
        "paragraph": 1,
        "text": "Guest contributor Anna Salamon adds a crucial point: intelligent people are not automatically strategic. Doing something associated with a goal is different from finding out what actually advances it.",
        "start": 98.47733,
        "end": 111.704,
        "duration": 13.226666666666667,
        "generation_seconds": 2.8287391662597656,
        "path": "assets/voice/04-01.wav"
      },
      {
        "scene": 4,
        "paragraph": 2,
        "text": "Define what success would look like. Try a plausible method with tolerable downside. Observe what happens. Then revise the method or the goal. In Marshall's version of the cycle, perseverance and re-evaluation belong together. Commitment is useful when it stays connected to evidence.",
        "start": 112.064,
        "end": 130.85867,
        "duration": 18.794666666666668,
        "generation_seconds": 3.569213390350342,
        "path": "assets/voice/04-02.wav"
      },
      {
        "scene": 5,
        "paragraph": 1,
        "text": "An excellent plan can still lose to a familiar cue. Marshall wants to plan before browsing, so he leaves his laptop upside down. The interruption reminds him to choose the planner. He changes the moment when the old habit starts.",
        "start": 134.01867,
        "end": 148.312,
        "duration": 14.293333333333333,
        "generation_seconds": 2.973606824874878,
        "path": "assets/voice/05-01.wav"
      },
      {
        "scene": 5,
        "paragraph": 2,
        "text": "Guest contributor Matt Mazur makes a similar discovery with tracking. A twenty-minute form lasts two days. A thirty-second version survives and grows. Start with a feedback practice small enough to repeat. Add complexity only when it helps.",
        "start": 148.672,
        "end": 164.90667,
        "duration": 16.234666666666666,
        "generation_seconds": 3.369047164916992,
        "path": "assets/voice/05-02.wav"
      },
      {
        "scene": 6,
        "paragraph": 1,
        "text": "There is a trap near the finish. Making the work improves your judgement. Now you can see a better version, so you delay. Each new version teaches you more, and perfection moves away again. Marshall calls this the creator's curse.",
        "start": 168.06667,
        "end": 182.14667,
        "duration": 14.08,
        "generation_seconds": 2.739461660385132,
        "path": "assets/voice/06-01.wav"
      },
      {
        "scene": 6,
        "paragraph": 2,
        "text": "His answer is useful completion, not careless work. Does this version adequately serve a real need? If so, let people benefit and carry the new learning into the next piece. Keep the quality threshold honest, but do not confuse a possible improvement with a reason never to release.",
        "start": 182.50667,
        "end": 200.46933,
        "duration": 17.962666666666667,
        "generation_seconds": 3.797088861465454,
        "path": "assets/voice/06-02.wav"
      },
      {
        "scene": 7,
        "paragraph": 1,
        "text": "The book's language can be extreme. Its claims about class, luck and guaranteed success are not established by these stories. You can use the practical method without adopting Marshall's whole worldview.",
        "start": 203.62933,
        "end": 216.49333,
        "duration": 12.864,
        "generation_seconds": 2.5428991317749023,
        "path": "assets/voice/07-01.wav"
      },
      {
        "scene": 7,
        "paragraph": 2,
        "text": "The closing guest essay, by Brendon Bobzin, makes room for different ambitions and for humility. Your next useful step may be quieter than someone else's. Build capacity. Make a bounded attempt. Finish, notice and adjust. Over time, the work can help you discover a direction worth continuing.",
        "start": 216.85333,
        "end": 235.79733,
        "duration": 18.944,
        "generation_seconds": 3.848944664001465,
        "path": "assets/voice/07-02.wav"
      }
    ],
    "peak_vram": "not applicable, CPU inference",
    "energy": "not recorded",
    "adapters": "none",
    "seed": "not exposed by API",
    "diffusion_settings": "not applicable"
  },
  "sound": {
    "source": "Original procedural score and sound cues; no external music or sampled effects",
    "seed": 27102026,
    "sample_rate": 48000,
    "stereo": true,
    "score_rhythm": "one three-note chord every 5 seconds with sparse delayed upper notes",
    "score_frequencies_hz": [
      [
        146.832,
        220,
        293.665
      ],
      [
        130.813,
        195.998,
        261.626
      ],
      [
        164.814,
        220,
        329.628
      ],
      [
        146.832,
        195.998,
        293.665
      ]
    ],
    "score_target_lufs": -36,
    "voice_target_lufs": -18,
    "speech_carve": "1200 Hz parametric cut, -12 dB, Q 0.65; lowpass 1800 Hz; highpass 90 Hz",
    "voice_processing": "65 Hz highpass; loudness normalization -18 LUFS, -2 dBTP, LRA9",
    "sfx_events": 16,
    "wall_seconds": 7.147758483886719,
    "completed": true,
    "generated_models": "None for score/SFX (deterministic DSP)",
    "audio_listened_to": false
  },
  "voice_quantization": "not independently verified; hash and bytes recorded",
  "render_model": "Authored vector animation; no generative video model",
  "software": {
    "hyperframes": "0.8.200",
    "gsap": "3.15.0",
    "node": "24.20.0",
    "ffmpeg_verification": "8.0.1-3ubuntu2",
    "kokoro_onnx": "0.4.7",
    "onnxruntime": "1.30.0"
  },
  "audio_preparation_attempts": {
    "completed": 1,
    "failed": 0,
    "retried": 0
  },
  "peak_vram": "not recorded",
  "energy": "not recorded",
  "steps_sampler_scheduler_guidance_denoise": "not applicable",
  "captions": "Measured paragraph boundaries; approximate sentence positions",
  "verification": {
    "decode": "pass, all audio and video frames decoded without errors",
    "metadata_assertions": "pass",
    "loudness": {
      "input_i": "-15.06",
      "input_tp": "-1.57",
      "input_lra": "2.70",
      "input_thresh": "-25.76",
      "output_i": "-18.02",
      "output_tp": "-4.39",
      "output_lra": "2.70",
      "output_thresh": "-28.67",
      "normalization_type": "dynamic",
      "target_offset": "0.02"
    },
    "audio_listened_to": false,
    "wall_seconds": 6.3798489199980395,
    "sampled_decoded_frames": 10,
    "frame_review": "pass; 10 decoded frames visually inspected",
    "out_of_order_seek": "150 \u2192 20 \u2192 150: complete animation SVG markup identical. Editor panels can resize, so cropped editor screenshot bytes were not used as pose evidence.",
    "reader_playback": "Passed: served MP4 loaded 1920\u00d71080, readyState 4, played and sought through chapter button; HTTP byte range 206."
  },
  "warnings": {
    "lint": 0,
    "runtime": 0,
    "layout": 0,
    "motion": 0,
    "contrast": 0,
    "craft": 20
  },
  "readable_stats": [
    [
      "Output",
      "239.167 s \u00b7 1920 \u00d7 1080 native \u00b7 30 fps \u00b7 7175 frames \u00b7 no upscaling"
    ],
    [
      "File",
      "MP4 \u00b7 H.264 High \u00b7 yuv420p \u00b7 AAC 48000 Hz stereo \u00b7 11,012,292 bytes (10.50 MiB)"
    ],
    [
      "Elapsed",
      "1918.367 s from 2026-10-27T17:03:16.893244+00:00 to 2026-10-27T17:35:15.260469+00:00; narration/asset preparation through final render and reader verification, including authoring/review. Excludes prior book reading/writing and later packaging."
    ],
    [
      "Render processing",
      "One successful job \u00b7 195.459 s process wall time \u00b7 internal pipeline 194.082 s. Not pure GPU compute time."
    ],
    [
      "Render stages",
      "compile: 0.207 s \u00b7 browser_probe: 0.059 s \u00b7 video_extract: 0.000 s \u00b7 audio_process: 2.319 s \u00b7 file_server: 0.002 s \u00b7 capture_disk: 181.592 s \u00b7 encode: 9.395 s \u00b7 assemble: 0.456 s"
    ],
    [
      "Animation",
      "Authored SVG/GSAP 3.15.0 \u00b7 HyperFrames 0.8.200 \u00b7 Node 24.20.0 \u00b7 two software Chromium capture workers \u00b7 no generative video model or GPU encoder"
    ],
    [
      "Narration",
      "Local synthetic Kokoro v1.0 82M ONNX \u00b7 bm_george \u00b7 en-gb \u00b7 speed 1.0 \u00b7 CPUExecutionProvider, four threads \u00b7 kokoro-onnx 0.4.7 / ONNX Runtime 1.30.0 \u00b7 24 kHz mono PCM16 source. Quantization unverified; model SHA-256 and bytes saved; no adapters or exposed seed."
    ],
    [
      "Voice generation",
      "14 successful paragraph jobs \u00b7 0 failed/retried \u00b7 43.575 s elapsed \u00b7 42.831 s summed inference calls"
    ],
    [
      "Music and effects",
      "Original procedural DSP \u00b7 seed 27102026 \u00b7 16 cues \u00b7 48 kHz stereo stems \u00b7 7.148 s successful audio preparation \u00b7 0 failed/retried"
    ],
    [
      "Audio",
      "Finished mix -15.06 LUFS integrated, -1.57 dBTP, 2.70 LU range \u00b7 voice target \u221218 LUFS, score target \u221236 LUFS \u00b7 measured, not auditioned"
    ],
    [
      "Settings",
      "Delivery quality, 30 fps, software capture. No upscaling, interpolation or ComfyUI jobs. Diffusion steps, sampler, scheduler, guidance, denoise and adapters do not apply to authored vector animation."
    ],
    [
      "Resources",
      "CPU narration and software browser capture. Peak VRAM and energy not recorded."
    ],
    [
      "Verification",
      "Full decode passed; 10 decoded frames visually checked; zero validation/layout/runtime errors. 20 intentional narration/reading-hold warnings. Captions use measured paragraphs with approximate sentence timing."
    ],
    [
      "Scene 1 timing",
      "33.003 s output \u00b7 5.887 s voice generation. Separate scene render time not exposed."
    ],
    [
      "Scene 2 timing",
      "33.067 s output \u00b7 5.669 s voice generation. Separate scene render time not exposed."
    ],
    [
      "Scene 3 timing",
      "31.808 s output \u00b7 5.606 s voice generation. Separate scene render time not exposed."
    ],
    [
      "Scene 4 timing",
      "35.541 s output \u00b7 6.398 s voice generation. Separate scene render time not exposed."
    ],
    [
      "Scene 5 timing",
      "34.048 s output \u00b7 6.343 s voice generation. Separate scene render time not exposed."
    ],
    [
      "Scene 6 timing",
      "35.563 s output \u00b7 6.537 s voice generation. Separate scene render time not exposed."
    ],
    [
      "Scene 7 timing",
      "36.128 s output \u00b7 6.392 s voice generation. Separate scene render time not exposed."
    ]
  ],
  "editable_project": "/home/albert/Documents/ChatGPT/Codex/videos/ikigai-making",
  "local_only": true
}
