{
  "schemaVersion": 1,
  "batchId": "pseo-batch2-20261014",
  "blueprintId": "blueprint-38",
  "kind": "workflow",
  "slug": "three-product-launch-with-end-card",
  "locale": "en",
  "evidenceClass": "local-post-production-fixture-model-not-executed",
  "sourcePath": "content/pseo/batch2-20261014/workflows/three-product-launch-with-end-card.json",
  "sourceHash": "18b99d562765f6a2049f9468e2588c67ab891b6284e216140fa9f43dd0a13f25",
  "contentHash": "d2bd52c68613872c7ae98ab2ae1719ea16f465856d898cc1ba9ad084eeefa85a",
  "contentVersion": "authored-d2bd52c68613872c7ae98ab2",
  "rendererHash": "727572c29f88632162b30bf97d95dc1be416eb61ca002023ad1c1b1410d29fbd",
  "copy": {
    "title": "MiniMax H3 three-product launch: separate shots and an exact editable end card",
    "description": "Prepare three products separately, review each shot, then hand off exact copy through an editing layer. Includes original fictional product art, shot data, reproducible FFmpeg assembly, an actual local MP4 and execution receipt.",
    "goal": "Deliver three different shot roles—overview, detail and context—followed by an editable end card. The actual evidence in this package is a local still-frame editing fixture. Model generation has not been executed; the illustrations are not product photographs, and the fixture proves neither H3 quality nor product performance.",
    "preparation": [
      "Three self-authored fictional ARC collection practice inputs: a desk-lamp overview, bottle detail, and canvas-pouch context. Each includes SVG source and PNG. They teach handoffs and are not a real product catalogue.",
      "English and Chinese editable end-card SVGs and PNGs, a persistent demonstration overlay, shot-list.csv and manifest.json. Exact wording belongs to the end-card file rather than model generation.",
      "Local reproduction requires Python 3 and an FFmpeg build supporting libx264. The included PNGs are ready to use; no website dependency installation or model call is needed.",
      "For a real launch, obtain authorized material and approved wording for each actual product. When changing an illustration to a photograph, rewrite the prompt style and product details to match that source."
    ],
    "prompt": "Use this original fictional desk-lamp illustration as the first frame. Preserve the illustrated style, shade outline, visible stem and base. The lamp stays still. The camera makes a very small slow push-in while keeping the entire shade and base visible, then settles. Keep lighting steady. Do not add a person, product claims, a label, or new parts.",
    "steps": [
      {
        "title": "01.1 Assign different purposes to the three shots",
        "body": "The lamp shows the full outline; the bottle checks the cap and shoulder connection; the pouch explains the tabletop context. Avoid three identical premium-ad briefs. Retain the three shot IDs so a failed clip can be replaced individually. Deliver: shot-list.csv and three first frames."
      },
      {
        "title": "01.2 Separate product sources from exact copy",
        "body": "Record visible structure, permitted source material and approved wording separately. ARC is an invented practice brand. Before an actual launch, verify the real brand, dates and claims; do not infer dimensions, capacity or performance from art or a model result. Deliver: manifest.json and editable end cards."
      },
      {
        "title": "02.1 Prepare a separate image-to-video task for each product",
        "body": "If model motion is needed, upload only the matching first frame in each task, use that shot's bilingual brief in manifest.json, and check current controls and cost. These three model tasks have not been run here, and the local fixture cannot replace their review. Deliver later: reviewed 01/02/03-accepted.mp4 files with actual task IDs."
      },
      {
        "title": "02.2 Review each shot before the next handoff",
        "body": "Keep the lamp shade and base visible; inspect the bottle cap-to-neck connection; compare the pouch zipper and notebook placement. Replace a clip that contaminates another product, changes shape or adds a mark. An end card must not hide that defect. Deliver: a per-shot review record or remake decision."
      },
      {
        "title": "03.1 Reproduce the supplied local edit first",
        "body": "Download the package and run assemble-demo.py with the FFmpeg path and language. It holds three still images and an end card for three seconds each, joins them with hard cuts, and composites the demonstration label throughout, without audio. This 12-second fixture contains neither simulated camera motion nor model outputs. Deliver: assembled-demo.mp4, four keyframes and execution-receipt.json."
      },
      {
        "title": "03.2 Hand reviewed clips into the real edit",
        "body": "For an actual project, replace the stills with your three reviewed clips, set timing and transitions from the brief, and add the edited, approved end card. The fixture's three-second segments and 1280×720 at 24 fps are reproduction settings, not model parameters or universal release requirements. Deliver: the real edit project and export version."
      },
      {
        "title": "04.1 Read the card and check sequence and sound",
        "body": "Play the actual export from start to end. Check overview, detail, context and end-card order against the shot list. Read every word at normal viewing size; inspect missing glyphs, clipping and margins. If delivery should be silent, inspect tracks and listen to the exported file. Deliver: completed export-checklist.csv."
      },
      {
        "title": "04.2 Hand off facts and the scope of the evidence",
        "body": "Provide source files, approved copy, accepted clip IDs, editing settings and final files. The fixture receipt proves that this local still edit decodes fully, lasts 12 seconds and has 288 frames; it does not prove model quality or actual product information. Deliver: material inventory, final export and the actual execution receipt."
      }
    ],
    "acceptance": [
      "The three shot purposes match their own source IDs; one product does not morph into another as a transition.",
      "Practice artwork, actual product sources and model results are labelled separately; no illustration is described as real footage or a tested model result.",
      "Any actual model clips have their own task records and reviews. The supplied fixture explicitly records that the model stage was not executed.",
      "The end-card wording comes from editable SVG and is verified in the actual export, rather than trusted to generated typography.",
      "The local fixture follows overview, detail, context and end card: four three-second segments, 12 seconds and 288 frames.",
      "The local fixture is 1280×720, 24 fps, H.264, fully decodable and without audio; a real release is checked against its own format brief.",
      "The demonstration disclosure is visible throughout; static assembly is not presented as model-generated video.",
      "Real product shape errors return to shot review; accurate text cannot substitute for a product-authenticity check."
    ],
    "troubleshooting": [
      {
        "symptom": "The second shot contains the first product.",
        "change": "Separate the three generation tasks, uploaded source lists and filenames. Supply only the matching first frame and check output ownership before editing. Do not use morphing to hide contamination."
      },
      {
        "symptom": "Overview, detail and context all communicate the same thing.",
        "change": "Return to the shot purposes: complete shape, visible structure, then a setting. Similar framing does not automatically require regeneration; first check whether each shot conveys different information."
      },
      {
        "symptom": "Chinese characters are missing or end-card wording is clipped.",
        "change": "Use a font containing the required glyphs, adjust the SVG layout and export a new PNG. Inspect the ending keyframe and then the full video. A wording change requires a new card export."
      },
      {
        "symptom": "The generated product changes shape although the end card is accurate.",
        "change": "Review structure and wording separately. Replace the incorrect shot and retain approved copy; correct wording is not evidence of correct product geometry."
      },
      {
        "symptom": "assemble-demo.py cannot find FFmpeg or a PNG.",
        "change": "Pass the actual executable with --ffmpeg and keep the extracted package intact. After SVG edits, export same-named PNGs again. The script does not install tools or contact a paid service."
      },
      {
        "symptom": "The exported MP4 does not decode or has the wrong duration.",
        "change": "Read the real execution error and stream-and-decode-report.txt, then compare the four PNGs with the manifest. Retry in a new output folder; do not rename a failed file or manually invent a passing receipt."
      }
    ],
    "ending": "This delivery is a reproducible still-frame editing fixture. A real launch still needs authorized product material, independent shot reviews and correct commercial copy. Keep shot naming and copy sources so only the failing part has to be replaced.",
    "assetCaption": "Self-authored fictional-brand product illustrations and editing cards. The MP4 is an actually executed local still-frame assembly with a persistent model-not-executed notice; it is neither real product footage nor an H3-generated result.",
    "chapters": [
      {
        "number": 1,
        "id": "inputs",
        "title": "01. Inventory the inputs and exact copy",
        "steps": [
          {
            "title": "01.1 Assign different purposes to the three shots",
            "body": "The lamp shows the full outline; the bottle checks the cap and shoulder connection; the pouch explains the tabletop context. Avoid three identical premium-ad briefs. Retain the three shot IDs so a failed clip can be replaced individually. Deliver: shot-list.csv and three first frames."
          },
          {
            "title": "01.2 Separate product sources from exact copy",
            "body": "Record visible structure, permitted source material and approved wording separately. ARC is an invented practice brand. Before an actual launch, verify the real brand, dates and claims; do not infer dimensions, capacity or performance from art or a model result. Deliver: manifest.json and editable end cards."
          }
        ]
      },
      {
        "number": 2,
        "id": "shots",
        "title": "02. Prepare and review each separate shot",
        "steps": [
          {
            "title": "02.1 Prepare a separate image-to-video task for each product",
            "body": "If model motion is needed, upload only the matching first frame in each task, use that shot's bilingual brief in manifest.json, and check current controls and cost. These three model tasks have not been run here, and the local fixture cannot replace their review. Deliver later: reviewed 01/02/03-accepted.mp4 files with actual task IDs."
          },
          {
            "title": "02.2 Review each shot before the next handoff",
            "body": "Keep the lamp shade and base visible; inspect the bottle cap-to-neck connection; compare the pouch zipper and notebook placement. Replace a clip that contaminates another product, changes shape or adds a mark. An end card must not hide that defect. Deliver: a per-shot review record or remake decision."
          }
        ]
      },
      {
        "number": 3,
        "id": "assembly",
        "title": "03. Assemble the edit and add the ending card",
        "steps": [
          {
            "title": "03.1 Reproduce the supplied local edit first",
            "body": "Download the package and run assemble-demo.py with the FFmpeg path and language. It holds three still images and an end card for three seconds each, joins them with hard cuts, and composites the demonstration label throughout, without audio. This 12-second fixture contains neither simulated camera motion nor model outputs. Deliver: assembled-demo.mp4, four keyframes and execution-receipt.json."
          },
          {
            "title": "03.2 Hand reviewed clips into the real edit",
            "body": "For an actual project, replace the stills with your three reviewed clips, set timing and transitions from the brief, and add the edited, approved end card. The fixture's three-second segments and 1280×720 at 24 fps are reproduction settings, not model parameters or universal release requirements. Deliver: the real edit project and export version."
          }
        ]
      },
      {
        "number": 4,
        "id": "delivery",
        "title": "04. Inspect the final export and hand it off",
        "steps": [
          {
            "title": "04.1 Read the card and check sequence and sound",
            "body": "Play the actual export from start to end. Check overview, detail, context and end-card order against the shot list. Read every word at normal viewing size; inspect missing glyphs, clipping and margins. If delivery should be silent, inspect tracks and listen to the exported file. Deliver: completed export-checklist.csv."
          },
          {
            "title": "04.2 Hand off facts and the scope of the evidence",
            "body": "Provide source files, approved copy, accepted clip IDs, editing settings and final files. The fixture receipt proves that this local still edit decodes fully, lasts 12 seconds and has 288 frames; it does not prove model quality or actual product information. Deliver: material inventory, final export and the actual execution receipt."
          }
        ]
      }
    ]
  },
  "assets": [
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/01-lamp-overview.png",
      "sourcePath": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/01-lamp-overview.svg",
      "role": "first_frame",
      "shotId": "01-lamp-overview",
      "label": {
        "en": "01 · Original fictional lamp overview",
        "zh": "01 · 原创虚构台灯整体"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/02-bottle-detail.png",
      "sourcePath": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/02-bottle-detail.svg",
      "role": "first_frame",
      "shotId": "02-bottle-detail",
      "label": {
        "en": "02 · Original fictional bottle detail",
        "zh": "02 · 原创虚构水瓶细节"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/03-pouch-context.png",
      "sourcePath": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/03-pouch-context.svg",
      "role": "first_frame",
      "shotId": "03-pouch-context",
      "label": {
        "en": "03 · Original fictional pouch context",
        "zh": "03 · 原创虚构收纳包场景"
      }
    }
  ],
  "artifacts": [
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/manifest.json",
      "label": {
        "en": "Complete bilingual shot/source manifest",
        "zh": "完整双语镜头与来源清单"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/shot-list.csv",
      "label": {
        "en": "Three-shot handoff list",
        "zh": "三镜头命名交接表"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/export-checklist.csv",
      "label": {
        "en": "Final export checklist",
        "zh": "最终导出检查表"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/end-card.en.svg",
      "label": {
        "en": "Editable English end card",
        "zh": "可编辑英文字卡"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/end-card.zh.svg",
      "label": {
        "en": "Editable Chinese end card",
        "zh": "可编辑中文字卡"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/end-card.en.png",
      "label": {
        "en": "English card raster export",
        "zh": "英文字卡 PNG"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/end-card.zh.png",
      "label": {
        "en": "Chinese card raster export",
        "zh": "中文字卡 PNG"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/demo-disclosure-overlay.svg",
      "label": {
        "en": "Persistent fixture disclosure source",
        "zh": "全片示范说明源图层"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/assemble-demo.py",
      "label": {
        "en": "Reproducible Python + FFmpeg assembly",
        "zh": "可复现 Python + FFmpeg 拼装脚本"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/render-assets.mjs",
      "label": {
        "en": "Optional existing-Sharp SVG rasterizer",
        "zh": "可选现有 Sharp SVG 栅格化脚本"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/README.en.md",
      "label": {
        "en": "English reproduction and handoff instructions",
        "zh": "英文复现与交接说明"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/README.zh.md",
      "label": {
        "en": "Chinese reproduction and handoff instructions",
        "zh": "中文复现与交接说明"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/assembled-demo.mp4",
      "label": {
        "en": "Actual local assembly demonstration, not model output",
        "zh": "真实本地拼装示范，非模型输出"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/execution-receipt.json",
      "label": {
        "en": "Actual local execution and hash receipt",
        "zh": "真实本地执行与哈希回执"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/stream-and-decode-report.txt",
      "label": {
        "en": "Actual full-decode stream report",
        "zh": "实际完整解码报告"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/01-overview.png",
      "label": {
        "en": "Keyframe 1: overview",
        "zh": "关键帧 1：整体"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/02-detail.png",
      "label": {
        "en": "Keyframe 2: detail",
        "zh": "关键帧 2：细节"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/03-context.png",
      "label": {
        "en": "Keyframe 3: context",
        "zh": "关键帧 3：场景"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/04-end-card.png",
      "label": {
        "en": "Keyframe 4: end card",
        "zh": "关键帧 4：结束卡"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/three-product-launch-practice-package.zip",
      "label": {
        "en": "Complete editable reproduction package",
        "zh": "完整可编辑复现素材包"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo-en/assembled-demo.mp4",
      "label": {
        "en": "Actual English-end-card local edit, not model output",
        "zh": "真实英文字卡本地剪辑，非模型输出"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo-en/execution-receipt.json",
      "label": {
        "en": "Actual English local execution receipt",
        "zh": "真实英文本地执行回执"
      }
    },
    {
      "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/workflow-brief.json",
      "label": {
        "en": "Complete editable bilingual workflow brief",
        "zh": "完整可编辑双语工作流简报"
      }
    }
  ],
  "execution": {
    "passedScenarios": [
      "fullDecodePassed",
      "expectedFrameCount",
      "expectedDuration",
      "expectedResolution",
      "expectedFrameRate",
      "h264Video",
      "noAudioStream",
      "persistentDisclosureWasComposited",
      "modelGenerationWasNotCalled",
      "sourceFramesAreOriginalIllustrations"
    ],
    "productionTaskRun": false,
    "modelGenerationStage": "not-executed",
    "localEditingStage": "passed",
    "receiptPath": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/execution-receipt.json",
    "localLanguageRuns": [
      "en",
      "zh"
    ],
    "receiptsByLocale": {
      "en": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo-en/execution-receipt.json",
      "zh": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/execution-receipt.json"
    }
  },
  "hero": null,
  "sources": [],
  "shots": [
    {
      "shotId": "01-lamp-overview",
      "sourceSvg": "01-lamp-overview.svg",
      "sourcePng": "01-lamp-overview.png",
      "demoSeconds": 3,
      "demoTimelineStart": 0,
      "demoTimelineEnd": 3,
      "sourceClass": "original-fictional-product-vector",
      "plannedModelStage": "not-executed",
      "purpose": {
        "en": "Show the complete desk-lamp silhouette.",
        "zh": "展示台灯整体轮廓。"
      },
      "plannedPrompt": {
        "en": "Use this original fictional desk-lamp illustration as the first frame. Preserve the illustrated style, shade outline, visible stem and base. The lamp stays still. The camera makes a very small slow push-in while keeping the entire shade and base visible, then settles. Keep lighting steady. Do not add a person, product claims, a label, or new parts.",
        "zh": "用这张原创虚构台灯插画作为首帧，保留插画风格、灯罩轮廓、可见支柱和底座。台灯静止，摄影机缓慢小幅推进，始终完整露出灯罩与底座，再停稳。照明稳定，不增加人物、商品功能宣称、标签或新部件。"
      }
    },
    {
      "shotId": "02-bottle-detail",
      "sourceSvg": "02-bottle-detail.svg",
      "sourcePng": "02-bottle-detail.png",
      "demoSeconds": 3,
      "demoTimelineStart": 3,
      "demoTimelineEnd": 6,
      "sourceClass": "original-fictional-product-vector",
      "plannedModelStage": "not-executed",
      "purpose": {
        "en": "Inspect the bottle-cap connection and visible shoulder.",
        "zh": "检查瓶盖连接与可见瓶肩。"
      },
      "plannedPrompt": {
        "en": "Use this original fictional bottle illustration as the first frame. Keep the illustrated bottle, cap, camera and base stationary. Only a soft narrow reflection on the bottle changes slightly and then settles. Preserve the visible cap-to-neck connection and shoulder outline. Do not open the cap, infer hidden parts, add a logo or invent product performance.",
        "zh": "用这张原创虚构水瓶插画作为首帧。插画瓶身、瓶盖、机位和底部静止，只有瓶身上一条柔和窄反光轻微变化后停稳。保留可见瓶盖与瓶颈的连接、瓶肩轮廓。不打开瓶盖，不推测隐藏部件，不加标志，不编造商品性能。"
      }
    },
    {
      "shotId": "03-pouch-context",
      "sourceSvg": "03-pouch-context.svg",
      "sourcePng": "03-pouch-context.png",
      "demoSeconds": 3,
      "demoTimelineStart": 6,
      "demoTimelineEnd": 9,
      "sourceClass": "original-fictional-product-vector",
      "plannedModelStage": "not-executed",
      "purpose": {
        "en": "Show the pouch beside a notebook without implying size or capacity measurements.",
        "zh": "展示收纳包与笔记本的场景关系，不暗示尺寸或容量实测。"
      },
      "plannedPrompt": {
        "en": "Use this original fictional canvas-pouch illustration as the first frame. Hold the same quiet tabletop composition with the pouch and blank notebook still. Preserve the pouch outline, visible zipper and notebook placement. Keep the camera fixed and lighting steady, with a calm held ending. Do not unzip the pouch, add hands, add wording, or claim dimensions, capacity or material performance.",
        "zh": "用这张原创虚构帆布收纳包插画作为首帧，保持安静的桌面构图，收纳包和空白笔记本都静止。保留包的轮廓、可见拉链和笔记本位置。固定机位，照明稳定，以安静停留结束。不打开拉链，不加手、不加文字，不宣称尺寸、容量或材料性能。"
      }
    }
  ],
  "demonstration": {
    "path": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/assembled-demo.mp4",
    "type": "local-static-frame-editing-assembly",
    "notModelGeneratedVideo": true,
    "notRealProductFootage": true,
    "width": 1280,
    "height": 720,
    "fps": 24,
    "seconds": 12,
    "language": "zh",
    "keyframes": [
      "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/01-overview.png",
      "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/02-detail.png",
      "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/03-context.png",
      "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/04-end-card.png"
    ],
    "pathsByLocale": {
      "en": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo-en/assembled-demo.mp4",
      "zh": "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/assembled-demo.mp4"
    },
    "keyframesByLocale": {
      "en": [
        "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo-en/01-overview.png",
        "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo-en/02-detail.png",
        "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo-en/03-context.png",
        "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo-en/04-end-card.png"
      ],
      "zh": [
        "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/01-overview.png",
        "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/02-detail.png",
        "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/03-context.png",
        "/learning-assets/pseo-batch2-20261014/three-product-launch-with-end-card/verified-demo/04-end-card.png"
      ]
    }
  }
}
