{
  "project_id": "01072026-001-Nha-Tay-Son",
  "step": 6,
  "status": "completed",
  "workers": 3,
  "total_scenes": 341,
  "scene_results": [
    {
      "scene_id": "scene_003",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_003.png",
      "bytes": 2700982
    },
    {
      "scene_id": "scene_001",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_001.png",
      "bytes": 2924763
    },
    {
      "scene_id": "scene_004",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_004.png",
      "bytes": 3005760
    },
    {
      "scene_id": "scene_002",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_002.png",
      "bytes": 2869417
    },
    {
      "scene_id": "scene_005",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_005.png",
      "bytes": 2696692
    },
    {
      "scene_id": "scene_006",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_006.png",
      "bytes": 2758148
    },
    {
      "scene_id": "scene_007",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_007.png",
      "bytes": 2777187
    },
    {
      "scene_id": "scene_008",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_008.png",
      "bytes": 3002658
    },
    {
      "scene_id": "scene_009",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_009.png",
      "bytes": 2837862
    },
    {
      "scene_id": "scene_010",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_010.png",
      "bytes": 2952754
    },
    {
      "scene_id": "scene_011",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_011.png",
      "bytes": 2824288
    },
    {
      "scene_id": "scene_012",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_012.png",
      "bytes": 2951140
    },
    {
      "scene_id": "scene_013",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_013.png",
      "bytes": 2990332
    },
    {
      "scene_id": "scene_014",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_014.png",
      "bytes": 2968938
    },
    {
      "scene_id": "scene_015",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_015.png",
      "bytes": 2799484
    },
    {
      "scene_id": "scene_016",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_016.png",
      "bytes": 2943038
    },
    {
      "scene_id": "scene_017",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_017.png",
      "bytes": 2976649
    },
    {
      "scene_id": "scene_018",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_018.png",
      "bytes": 2539771
    },
    {
      "scene_id": "scene_019",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_019.png",
      "bytes": 2884785
    },
    {
      "scene_id": "scene_020",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_020.png",
      "bytes": 2884188
    },
    {
      "scene_id": "scene_021",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_021.png",
      "bytes": 2963422
    },
    {
      "scene_id": "scene_022",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_022.png",
      "bytes": 2743183
    },
    {
      "scene_id": "scene_023",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_023.png",
      "bytes": 2832736
    },
    {
      "scene_id": "scene_024",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_024.png",
      "bytes": 2844779
    },
    {
      "scene_id": "scene_025",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_025.png",
      "bytes": 3087724
    },
    {
      "scene_id": "scene_026",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_026.png",
      "bytes": 2915979
    },
    {
      "scene_id": "scene_027",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_027.png",
      "bytes": 2890384
    },
    {
      "scene_id": "scene_028",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_028.png",
      "bytes": 2894853
    },
    {
      "scene_id": "scene_029",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_029.png",
      "bytes": 2859600
    },
    {
      "scene_id": "scene_030",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_030.png",
      "bytes": 2998833
    },
    {
      "scene_id": "scene_031",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_031.png",
      "bytes": 2932360
    },
    {
      "scene_id": "scene_032",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_032.png",
      "bytes": 2814194
    },
    {
      "scene_id": "scene_033",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_033.png",
      "bytes": 2928521
    },
    {
      "scene_id": "scene_034",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_034.png",
      "bytes": 2696156
    },
    {
      "scene_id": "scene_035",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_035.png",
      "bytes": 2998192
    },
    {
      "scene_id": "scene_036",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_036.png",
      "bytes": 2749094
    },
    {
      "scene_id": "scene_037",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_037.png",
      "bytes": 2951098
    },
    {
      "scene_id": "scene_038",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_038.png",
      "bytes": 3001956
    },
    {
      "scene_id": "scene_039",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_039.png",
      "bytes": 2958944
    },
    {
      "scene_id": "scene_040",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_040.png",
      "bytes": 2964304
    },
    {
      "scene_id": "scene_041",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_041.png",
      "bytes": 2816034
    },
    {
      "scene_id": "scene_042",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_042.png",
      "bytes": 3058596
    },
    {
      "scene_id": "scene_043",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_043.png",
      "bytes": 2960989
    },
    {
      "scene_id": "scene_044",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_044.png",
      "bytes": 2996226
    },
    {
      "scene_id": "scene_045",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_045.png",
      "bytes": 2765924
    },
    {
      "scene_id": "scene_046",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_046.png",
      "bytes": 2718152
    },
    {
      "scene_id": "scene_047",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_047.png",
      "bytes": 2810823
    },
    {
      "scene_id": "scene_048",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_048.png",
      "bytes": 2919853
    },
    {
      "scene_id": "scene_049",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_049.png",
      "bytes": 2931474
    },
    {
      "scene_id": "scene_050",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_050.png",
      "bytes": 2880792
    },
    {
      "scene_id": "scene_051",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_051.png",
      "bytes": 2789017
    },
    {
      "scene_id": "scene_052",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_052.png",
      "bytes": 2785607
    },
    {
      "scene_id": "scene_053",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_053.png",
      "bytes": 2745503
    },
    {
      "scene_id": "scene_054",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_054.png",
      "bytes": 2907383
    },
    {
      "scene_id": "scene_055",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_055.png",
      "bytes": 2773689
    },
    {
      "scene_id": "scene_056",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_056.png",
      "bytes": 2815661
    },
    {
      "scene_id": "scene_057",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_057.png",
      "bytes": 2856603
    },
    {
      "scene_id": "scene_058",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_058.png",
      "bytes": 2929790
    },
    {
      "scene_id": "scene_059",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_059.png",
      "bytes": 2841203
    },
    {
      "scene_id": "scene_060",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_060.png",
      "bytes": 2855749
    },
    {
      "scene_id": "scene_061",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_061.png",
      "bytes": 2686757
    },
    {
      "scene_id": "scene_062",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_062.png",
      "bytes": 2886272
    },
    {
      "scene_id": "scene_063",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_063.png",
      "bytes": 2772913
    },
    {
      "scene_id": "scene_064",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_064.png",
      "bytes": 2737989
    },
    {
      "scene_id": "scene_065",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_065.png",
      "bytes": 2838649
    },
    {
      "scene_id": "scene_066",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_066.png",
      "bytes": 2822715
    },
    {
      "scene_id": "scene_067",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_067.png",
      "bytes": 2596083
    },
    {
      "scene_id": "scene_068",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_068.png",
      "bytes": 2975468
    },
    {
      "scene_id": "scene_069",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_069.png",
      "bytes": 2880761
    },
    {
      "scene_id": "scene_070",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_070.png",
      "bytes": 2891320
    },
    {
      "scene_id": "scene_071",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_071.png",
      "bytes": 2722096
    },
    {
      "scene_id": "scene_072",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_072.png",
      "bytes": 2845976
    },
    {
      "scene_id": "scene_073",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_073.png",
      "bytes": 2753550
    },
    {
      "scene_id": "scene_074",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_074.png",
      "bytes": 2787027
    },
    {
      "scene_id": "scene_075",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_075.png",
      "bytes": 2838781
    },
    {
      "scene_id": "scene_076",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_076.png",
      "bytes": 2693754
    },
    {
      "scene_id": "scene_077",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_077.png",
      "bytes": 2966123
    },
    {
      "scene_id": "scene_078",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_078.png",
      "bytes": 2834736
    },
    {
      "scene_id": "scene_079",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_079.png",
      "bytes": 2669127
    },
    {
      "scene_id": "scene_080",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_080.png",
      "bytes": 2636792
    },
    {
      "scene_id": "scene_081",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_081.png",
      "bytes": 2861707
    },
    {
      "scene_id": "scene_082",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_082.png",
      "bytes": 2710422
    },
    {
      "scene_id": "scene_084",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_084.png",
      "bytes": 2921875
    },
    {
      "scene_id": "scene_085",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_085.png",
      "bytes": 2951993
    },
    {
      "scene_id": "scene_083",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_083.png",
      "bytes": 2809981
    },
    {
      "scene_id": "scene_086",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_086.png",
      "bytes": 2934974
    },
    {
      "scene_id": "scene_087",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_087.png",
      "bytes": 2853768
    },
    {
      "scene_id": "scene_088",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_088.png",
      "bytes": 2953990
    },
    {
      "scene_id": "scene_089",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_089.png",
      "bytes": 2722500
    },
    {
      "scene_id": "scene_090",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_090.png",
      "bytes": 2877497
    },
    {
      "scene_id": "scene_092",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_092.png",
      "bytes": 2719409
    },
    {
      "scene_id": "scene_094",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_094.png",
      "bytes": 2936155
    },
    {
      "scene_id": "scene_093",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_093.png",
      "bytes": 2875573
    },
    {
      "scene_id": "scene_091",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_091.png",
      "bytes": 2764164
    },
    {
      "scene_id": "scene_095",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_095.png",
      "bytes": 2747906
    },
    {
      "scene_id": "scene_097",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_097.png",
      "bytes": 2731388
    },
    {
      "scene_id": "scene_098",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_098.png",
      "bytes": 2701821
    },
    {
      "scene_id": "scene_096",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_096.png",
      "bytes": 3026074
    },
    {
      "scene_id": "scene_099",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_099.png",
      "bytes": 2996171
    },
    {
      "scene_id": "scene_100",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_100.png",
      "bytes": 3050098
    },
    {
      "scene_id": "scene_101",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_101.png",
      "bytes": 2637251
    },
    {
      "scene_id": "scene_103",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_103.png",
      "bytes": 3108316
    },
    {
      "scene_id": "scene_102",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_102.png",
      "bytes": 2900096
    },
    {
      "scene_id": "scene_105",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_105.png",
      "bytes": 2789150
    },
    {
      "scene_id": "scene_104",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_104.png",
      "bytes": 2751450
    },
    {
      "scene_id": "scene_107",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_107.png",
      "bytes": 3120783
    },
    {
      "scene_id": "scene_108",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_108.png",
      "bytes": 2965813
    },
    {
      "scene_id": "scene_106",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_106.png",
      "bytes": 2829965
    },
    {
      "scene_id": "scene_109",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_109.png",
      "bytes": 2610977
    },
    {
      "scene_id": "scene_110",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_110.png",
      "bytes": 2691491
    },
    {
      "scene_id": "scene_111",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_111.png",
      "bytes": 2877999
    },
    {
      "scene_id": "scene_112",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_112.png",
      "bytes": 2945475
    },
    {
      "scene_id": "scene_114",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_114.png",
      "bytes": 2814272
    },
    {
      "scene_id": "scene_113",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_113.png",
      "bytes": 2930959
    },
    {
      "scene_id": "scene_115",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_115.png",
      "bytes": 2796935
    },
    {
      "scene_id": "scene_116",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_116.png",
      "bytes": 2757356
    },
    {
      "scene_id": "scene_117",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_117.png",
      "bytes": 2765981
    },
    {
      "scene_id": "scene_118",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_118.png",
      "bytes": 2928059
    },
    {
      "scene_id": "scene_119",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_119.png",
      "bytes": 2853038
    },
    {
      "scene_id": "scene_121",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_121.png",
      "bytes": 2675029
    },
    {
      "scene_id": "scene_120",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_120.png",
      "bytes": 2887466
    },
    {
      "scene_id": "scene_124",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_124.png",
      "bytes": 2753959
    },
    {
      "scene_id": "scene_125",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_125.png",
      "bytes": 2957280
    },
    {
      "scene_id": "scene_123",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_123.png",
      "bytes": 2958108
    },
    {
      "scene_id": "scene_122",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_122.png",
      "bytes": 2700224
    },
    {
      "scene_id": "scene_128",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_128.png",
      "bytes": 2716595
    },
    {
      "scene_id": "scene_127",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_127.png",
      "bytes": 2816215
    },
    {
      "scene_id": "scene_126",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_126.png",
      "bytes": 2905876
    },
    {
      "scene_id": "scene_130",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_130.png",
      "bytes": 2682460
    },
    {
      "scene_id": "scene_129",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_129.png",
      "bytes": 2812330
    },
    {
      "scene_id": "scene_132",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_132.png",
      "bytes": 2756771
    },
    {
      "scene_id": "scene_131",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_131.png",
      "bytes": 2799805
    },
    {
      "scene_id": "scene_133",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_133.png",
      "bytes": 2793771
    },
    {
      "scene_id": "scene_134",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_134.png",
      "bytes": 2909270
    },
    {
      "scene_id": "scene_137",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_137.png",
      "bytes": 2687099
    },
    {
      "scene_id": "scene_135",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_135.png",
      "bytes": 2689232
    },
    {
      "scene_id": "scene_136",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_136.png",
      "bytes": 2927320
    },
    {
      "scene_id": "scene_138",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_138.png",
      "bytes": 2942474
    },
    {
      "scene_id": "scene_139",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_139.png",
      "bytes": 2674663
    },
    {
      "scene_id": "scene_140",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_140.png",
      "bytes": 2785618
    },
    {
      "scene_id": "scene_141",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_141.png",
      "bytes": 2705598
    },
    {
      "scene_id": "scene_144",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_144.png",
      "bytes": 2640802
    },
    {
      "scene_id": "scene_142",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_142.png",
      "bytes": 2772656
    },
    {
      "scene_id": "scene_143",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_143.png",
      "bytes": 2815187
    },
    {
      "scene_id": "scene_147",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_147.png",
      "bytes": 2925504
    },
    {
      "scene_id": "scene_148",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_148.png",
      "bytes": 2749797
    },
    {
      "scene_id": "scene_149",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_149.png",
      "bytes": 3023388
    },
    {
      "scene_id": "scene_150",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_150.png",
      "bytes": 2675207
    },
    {
      "scene_id": "scene_151",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_151.png",
      "bytes": 2756006
    },
    {
      "scene_id": "scene_152",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_152.png",
      "bytes": 2832763
    },
    {
      "scene_id": "scene_153",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_153.png",
      "bytes": 3027607
    },
    {
      "scene_id": "scene_154",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_154.png",
      "bytes": 2897273
    },
    {
      "scene_id": "scene_155",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_155.png",
      "bytes": 3049159
    },
    {
      "scene_id": "scene_156",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_156.png",
      "bytes": 2732756
    },
    {
      "scene_id": "scene_157",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_157.png",
      "bytes": 3079981
    },
    {
      "scene_id": "scene_158",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_158.png",
      "bytes": 3142267
    },
    {
      "scene_id": "scene_159",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_159.png",
      "bytes": 2920759
    },
    {
      "scene_id": "scene_160",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_160.png",
      "bytes": 2829957
    },
    {
      "scene_id": "scene_161",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_161.png",
      "bytes": 2786381
    },
    {
      "scene_id": "scene_162",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_162.png",
      "bytes": 2847248
    },
    {
      "scene_id": "scene_163",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_163.png",
      "bytes": 2831828
    },
    {
      "scene_id": "scene_164",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_164.png",
      "bytes": 3010157
    },
    {
      "scene_id": "scene_165",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_165.png",
      "bytes": 2937852
    },
    {
      "scene_id": "scene_166",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_166.png",
      "bytes": 2887817
    },
    {
      "scene_id": "scene_167",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_167.png",
      "bytes": 3013008
    },
    {
      "scene_id": "scene_168",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_168.png",
      "bytes": 2923228
    },
    {
      "scene_id": "scene_169",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_169.png",
      "bytes": 2909590
    },
    {
      "scene_id": "scene_170",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_170.png",
      "bytes": 2912158
    },
    {
      "scene_id": "scene_171",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_171.png",
      "bytes": 2799889
    },
    {
      "scene_id": "scene_145",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_145.png",
      "bytes": 2757259
    },
    {
      "scene_id": "scene_172",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_172.png",
      "bytes": 2710321
    },
    {
      "scene_id": "scene_173",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_173.png",
      "bytes": 2924785
    },
    {
      "scene_id": "scene_146",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_146.png",
      "bytes": 2855277
    },
    {
      "scene_id": "scene_175",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_175.png",
      "bytes": 2824790
    },
    {
      "scene_id": "scene_174",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_174.png",
      "bytes": 2723036
    },
    {
      "scene_id": "scene_177",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_177.png",
      "bytes": 2773433
    },
    {
      "scene_id": "scene_176",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_176.png",
      "bytes": 2737129
    },
    {
      "scene_id": "scene_178",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_178.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 32s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_181",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_181.png",
      "bytes": 2770826
    },
    {
      "scene_id": "scene_182",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_182.png",
      "bytes": 2885756
    },
    {
      "scene_id": "scene_183",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_183.png",
      "bytes": 2845015
    },
    {
      "scene_id": "scene_184",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_184.png",
      "bytes": 3072653
    },
    {
      "scene_id": "scene_185",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_185.png",
      "bytes": 2798604
    },
    {
      "scene_id": "scene_186",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_186.png",
      "bytes": 2970833
    },
    {
      "scene_id": "scene_187",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_187.png",
      "bytes": 2985956
    },
    {
      "scene_id": "scene_188",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_188.png",
      "bytes": 2736611
    },
    {
      "scene_id": "scene_189",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_189.png",
      "bytes": 3100462
    },
    {
      "scene_id": "scene_190",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_190.png",
      "bytes": 2895375
    },
    {
      "scene_id": "scene_191",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_191.png",
      "bytes": 2770075
    },
    {
      "scene_id": "scene_192",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_192.png",
      "bytes": 2832916
    },
    {
      "scene_id": "scene_193",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_193.png",
      "bytes": 2706630
    },
    {
      "scene_id": "scene_194",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_194.png",
      "bytes": 3008416
    },
    {
      "scene_id": "scene_195",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_195.png",
      "bytes": 2871477
    },
    {
      "scene_id": "scene_180",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_180.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 32s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_197",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_197.png",
      "bytes": 2897470
    },
    {
      "scene_id": "scene_198",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_198.png",
      "bytes": 2701977
    },
    {
      "scene_id": "scene_199",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_199.png",
      "bytes": 2713987
    },
    {
      "scene_id": "scene_200",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_200.png",
      "bytes": 2937968
    },
    {
      "scene_id": "scene_201",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_201.png",
      "bytes": 2781039
    },
    {
      "scene_id": "scene_202",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_202.png",
      "bytes": 2816699
    },
    {
      "scene_id": "scene_203",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_203.png",
      "bytes": 2821909
    },
    {
      "scene_id": "scene_204",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_204.png",
      "bytes": 2758251
    },
    {
      "scene_id": "scene_205",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_205.png",
      "bytes": 2839607
    },
    {
      "scene_id": "scene_206",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_206.png",
      "bytes": 2766750
    },
    {
      "scene_id": "scene_207",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_207.png",
      "bytes": 2566036
    },
    {
      "scene_id": "scene_208",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_208.png",
      "bytes": 2807516
    },
    {
      "scene_id": "scene_209",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_209.png",
      "bytes": 2873951
    },
    {
      "scene_id": "scene_210",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_210.png",
      "bytes": 2924183
    },
    {
      "scene_id": "scene_211",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_211.png",
      "bytes": 2658100
    },
    {
      "scene_id": "scene_212",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_212.png",
      "bytes": 2961399
    },
    {
      "scene_id": "scene_213",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_213.png",
      "bytes": 2645659
    },
    {
      "scene_id": "scene_214",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_214.png",
      "bytes": 2763634
    },
    {
      "scene_id": "scene_215",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_215.png",
      "bytes": 2895387
    },
    {
      "scene_id": "scene_216",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_216.png",
      "bytes": 2769133
    },
    {
      "scene_id": "scene_217",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_217.png",
      "bytes": 2708279
    },
    {
      "scene_id": "scene_218",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_218.png",
      "bytes": 2923830
    },
    {
      "scene_id": "scene_219",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_219.png",
      "bytes": 2844606
    },
    {
      "scene_id": "scene_220",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_220.png",
      "bytes": 2747277
    },
    {
      "scene_id": "scene_221",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_221.png",
      "bytes": 2726603
    },
    {
      "scene_id": "scene_222",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_222.png",
      "bytes": 2631073
    },
    {
      "scene_id": "scene_223",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_223.png",
      "bytes": 2926297
    },
    {
      "scene_id": "scene_224",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_224.png",
      "bytes": 2718598
    },
    {
      "scene_id": "scene_225",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_225.png",
      "bytes": 3031597
    },
    {
      "scene_id": "scene_226",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_226.png",
      "bytes": 2741439
    },
    {
      "scene_id": "scene_227",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_227.png",
      "bytes": 2992566
    },
    {
      "scene_id": "scene_228",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_228.png",
      "bytes": 2593842
    },
    {
      "scene_id": "scene_229",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_229.png",
      "bytes": 2786862
    },
    {
      "scene_id": "scene_230",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_230.png",
      "bytes": 2502639
    },
    {
      "scene_id": "scene_231",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_231.png",
      "bytes": 2727124
    },
    {
      "scene_id": "scene_232",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_232.png",
      "bytes": 2727510
    },
    {
      "scene_id": "scene_233",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_233.png",
      "bytes": 2796968
    },
    {
      "scene_id": "scene_234",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_234.png",
      "bytes": 3012267
    },
    {
      "scene_id": "scene_235",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_235.png",
      "bytes": 2976413
    },
    {
      "scene_id": "scene_236",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_236.png",
      "bytes": 2898376
    },
    {
      "scene_id": "scene_237",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_237.png",
      "bytes": 2951390
    },
    {
      "scene_id": "scene_238",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_238.png",
      "bytes": 2775864
    },
    {
      "scene_id": "scene_239",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_239.png",
      "bytes": 2849995
    },
    {
      "scene_id": "scene_240",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_240.png",
      "bytes": 2888933
    },
    {
      "scene_id": "scene_241",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_241.png",
      "bytes": 2950338
    },
    {
      "scene_id": "scene_242",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_242.png",
      "bytes": 2866059
    },
    {
      "scene_id": "scene_243",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_243.png",
      "bytes": 2837185
    },
    {
      "scene_id": "scene_244",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_244.png",
      "bytes": 2873917
    },
    {
      "scene_id": "scene_245",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_245.png",
      "bytes": 2685370
    },
    {
      "scene_id": "scene_246",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_246.png",
      "bytes": 2726679
    },
    {
      "scene_id": "scene_247",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_247.png",
      "bytes": 2762984
    },
    {
      "scene_id": "scene_248",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_248.png",
      "bytes": 2868258
    },
    {
      "scene_id": "scene_249",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_249.png",
      "bytes": 2944051
    },
    {
      "scene_id": "scene_250",
      "status": "skipped_exists",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_250.png",
      "bytes": 2840960
    },
    {
      "scene_id": "scene_196",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_196.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_251",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_251.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_253",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_253.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_252",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_252.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_254",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_254.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_255",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_255.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_256",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_256.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_257",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_257.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_258",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_258.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_259",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_259.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_260",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_260.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_262",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_262.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_261",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_261.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_264",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_264.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_263",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_263.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_265",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_265.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 31s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_266",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_266.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_267",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_267.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_268",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_268.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_269",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_269.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_271",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_271.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_270",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_270.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_272",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_272.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_273",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_273.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_274",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_274.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_275",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_275.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_276",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_276.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_277",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_277.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_278",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_278.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_279",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_279.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_280",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_280.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_179",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_179.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_283",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_283.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_281",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_281.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 30s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_282",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_282.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_284",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_284.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_285",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_285.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_286",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_286.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_287",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_287.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_288",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_288.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_289",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_289.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_290",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_290.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_291",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_291.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_292",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_292.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_294",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_294.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_293",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_293.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_296",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_296.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_295",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_295.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_297",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_297.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_298",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_298.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_299",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_299.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_300",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_300.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_302",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_302.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 29s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_301",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_301.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_303",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_303.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_304",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_304.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_305",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_305.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_306",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_306.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_307",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_307.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_308",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_308.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_310",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_310.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_309",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_309.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_311",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_311.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_312",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_312.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_313",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_313.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_314",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_314.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_315",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_315.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_316",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_316.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_317",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_317.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_318",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_318.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 28s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_319",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_319.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_320",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_320.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_321",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_321.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_322",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_322.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_323",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_323.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_325",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_325.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_324",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_324.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_326",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_326.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_327",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_327.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_328",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_328.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_330",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_330.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_329",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_329.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_331",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_331.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_334",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_334.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_332",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_332.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_333",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_333.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_336",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_336.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 27s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_335",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_335.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 26s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_337",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_337.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 26s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_338",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_338.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 26s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_339",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_339.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 26s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_340",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_340.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 26s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    },
    {
      "scene_id": "scene_341",
      "status": "failed",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/images/scenes/scene_341.png",
      "error": "{\"error\":{\"message\":\"[codex/gpt-5.5-image] [429]: The usage limit has been reached (reset after 26s)\"}}\nTraceback (most recent call last):\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 132, in <module>\n    main()\n  File \"/home/hermes/.hermes/skills/media/gen-img-gpt/scripts/gen_img_gpt.py\", line 123, in main\n    with urllib.request.urlopen(req, timeout=300) as response:\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 216, in urlopen\n    return opener.open(url, data, timeout)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 525, in open\n    response = meth(req, response)\n               ^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 634, in http_response\n    response = self.parent.error(\n               ^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 563, in error\n    return self._call_chain(*args)\n           ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 496, in _call_chain\n    result = func(*args)\n             ^^^^^^^^^^^\n  File \"/usr/lib/python3.11/urllib/request.py\", line 643, in http_error_default\n    raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 429: Too Many Requests\n"
    }
  ],
  "thumbnail_results": [
    {
      "kind": "16x9",
      "status": "ok",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/output/thumbnails/thumb_16x9_final.png"
    },
    {
      "kind": "9x16",
      "status": "ok",
      "output": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/output/thumbnails/thumb_9x16_final.png"
    }
  ],
  "missing_after_retry": [],
  "retry_manifest": "/data/video-pipeline/Youtube-Video-Maker/Project/01072026-001-Nha-Tay-Son/logs/step06_remaining_slow_manifest.json"
}