{
  "schema_version": "1.0",
  "package_id": "vidgenai-atlas-20260905",
  "project": "DanceClone",
  "brand": "VidGenAI",
  "created_at": "2026-09-05T23:07:05.644Z",
  "manifest_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/manifest.json",
  "review_url": "https://viralpatterns.tech/projects/danceclone/",
  "purpose": "Ad-ops handoff for uploading the listed video assets to a Facebook / Meta ad account.",
  "video_count": 10,
  "expected_video_count": 11,
  "batch_status": "10_confirmed_videos_ready_11th_unidentified",
  "inventory_note": "The console contains 10 finished ads. The requested 11th video is awaiting identification. Raw pink-dancer-generated.mp4 and superseded split-prezoom.mp4 are not included as additional finished creatives.",
  "upload_instructions": {
    "scope": "Upload only the entries in videos as video assets to the ad account supplied by ad ops. This manifest does not authorize campaign creation or publishing ads.",
    "download": "Fetch each video_url; verify bytes and sha256 before uploading.",
    "naming": "Use title for the uploaded asset name. Preserve id in the upload results.",
    "thumbnails": "thumbnail_url is an optional first-second still from the corresponding creative.",
    "required_from_ad_ops": [
      "destination_ad_account_id",
      "authorized_Meta_upload_access"
    ],
    "return_per_video": [
      "id",
      "facebook_video_id",
      "upload_status",
      "error_if_any"
    ],
    "deduplication": "Use package_id and id to avoid duplicate uploads when retrying."
  },
  "production_notes": [
    "All files preserve the original 360×640, 30 fps composition and source AAC audio. No resolution upscaling was applied.",
    "Each video ends with the exact approved 5-second VidGenAI Atlas-style end card. The end card is silent.",
    "The phone shows the approved branded listing mockup, not a captured live App Store listing.",
    "No Facebook uploads or ad-platform acceptance checks have been performed."
  ],
  "videos": [
    {
      "id": "grid",
      "title": "VidGenAI | DanceClone | 3-card grid | Atlas ending",
      "filename": "vidgenai-danceclone-grid.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-grid.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-grid.jpg",
      "mime_type": "video/mp4",
      "bytes": 1424204,
      "sha256": "ed4ed50c13539b2a93262fbfe3e4b00554008ea309fbf28f95d266c2201b4bb2",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 450,
      "duration_seconds": 15,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 9.904667,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 10,
        "duration_seconds": 5,
        "replaced_previous_end_card": false
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "strip",
      "title": "VidGenAI | DanceClone | Wife reaction strip | Atlas ending",
      "filename": "vidgenai-danceclone-strip.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-strip.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-strip.jpg",
      "mime_type": "video/mp4",
      "bytes": 1797698,
      "sha256": "7a011d57103015f15b0942b95cb227193e3573ba9564af6d796ef14dcfc92ac4",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 450,
      "duration_seconds": 15,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 9.904667,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 10,
        "duration_seconds": 5,
        "replaced_previous_end_card": false
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "split",
      "title": "VidGenAI | DanceClone | Before / after split | Atlas ending",
      "filename": "vidgenai-danceclone-split.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-split.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-split.jpg",
      "mime_type": "video/mp4",
      "bytes": 1656869,
      "sha256": "2f3f874b5cd1945cfca92a10765c70018e1fba8bb2af73eaa25860368e04f365",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 450,
      "duration_seconds": 15,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 10.005,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 10,
        "duration_seconds": 5,
        "replaced_previous_end_card": false
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "public",
      "title": "VidGenAI | DanceClone | Full-frame public place | Atlas ending",
      "filename": "vidgenai-danceclone-public.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-public.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-public.jpg",
      "mime_type": "video/mp4",
      "bytes": 3164848,
      "sha256": "37f5a079e98349d19a84b306d757073894c80502ede1fa74cf82a0701e56f7d3",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 582,
      "duration_seconds": 19.4,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 14.4,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 14.4,
        "duration_seconds": 5,
        "replaced_previous_end_card": false
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "variant",
      "title": "VidGenAI | DanceClone | 3-card, pink-afro dancer | Atlas ending",
      "filename": "vidgenai-danceclone-variant.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-variant.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-variant.jpg",
      "mime_type": "video/mp4",
      "bytes": 2969402,
      "sha256": "fe7b37bf3d80e7b04d07c6bd29995b8630bc2a2594f46b81ab1da18360257d24",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 862,
      "duration_seconds": 28.733008,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 23.736,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 23.733333,
        "duration_seconds": 5,
        "replaced_previous_end_card": false
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "beach_grid",
      "title": "VidGenAI | DanceClone | Candidate 6 · Beach 3-card grid | Atlas ending",
      "filename": "vidgenai-danceclone-beach_grid.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-beach_grid.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-beach_grid.jpg",
      "mime_type": "video/mp4",
      "bytes": 3163684,
      "sha256": "c75f355e8326089ae46361ac8e322547c13bfe2d2def94d6068e495bb7f84c38",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 930,
      "duration_seconds": 31,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 26.018,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 26,
        "duration_seconds": 5,
        "replaced_previous_end_card": true
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "beach_strip",
      "title": "VidGenAI | DanceClone | Candidate 7 · Beach reaction strip | Atlas ending",
      "filename": "vidgenai-danceclone-beach_strip.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-beach_strip.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-beach_strip.jpg",
      "mime_type": "video/mp4",
      "bytes": 3601546,
      "sha256": "9a44821224dd0212a0b4e457f64544987112018b95cf6a71af4fee9a1f910565",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 930,
      "duration_seconds": 31,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 26.018,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 26,
        "duration_seconds": 5,
        "replaced_previous_end_card": true
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "grid_pier_2",
      "title": "VidGenAI | DanceClone | Candidate 8 · Garden 3-card grid | Atlas ending",
      "filename": "vidgenai-danceclone-grid_pier_2.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-grid_pier_2.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-grid_pier_2.jpg",
      "mime_type": "video/mp4",
      "bytes": 3817989,
      "sha256": "2b1cf4dbc896920832269b73fcf2303f28f2e757170e1aee49bcc52dee3ce854",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 930,
      "duration_seconds": 31,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 26.018,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 26,
        "duration_seconds": 5,
        "replaced_previous_end_card": true
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "garden_strip",
      "title": "VidGenAI | DanceClone | Candidate 9 · Garden reaction strip | Atlas ending",
      "filename": "vidgenai-danceclone-garden_strip.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-garden_strip.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-garden_strip.jpg",
      "mime_type": "video/mp4",
      "bytes": 4382215,
      "sha256": "185600f830ba34aa225875c8433818f36683ad44ffe533b73984cb324bc10d7f",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 930,
      "duration_seconds": 31,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 26.018,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 26,
        "duration_seconds": 5,
        "replaced_previous_end_card": true
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    },
    {
      "id": "subway_split_2",
      "title": "VidGenAI | DanceClone | Candidate 10 · Subway split variant | Atlas ending",
      "filename": "vidgenai-danceclone-subway_split_2.mp4",
      "video_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-subway_split_2.mp4",
      "thumbnail_url": "https://viralpatterns.tech/projects/danceclone/vidgenai-atlas-20260905/vidgenai-danceclone-subway_split_2.jpg",
      "mime_type": "video/mp4",
      "bytes": 1993725,
      "sha256": "d3ffe36abe09cc47a6f21566c2071b284e59f27bb4d301e057c08e93d12ab842",
      "width": 360,
      "height": 640,
      "aspect_ratio": "9:16",
      "fps": 30,
      "frame_count": 598,
      "duration_seconds": 19.933008,
      "video_codec": "h264",
      "pixel_format": "yuv420p",
      "audio": {
        "codec": "aac",
        "sample_rate_hz": 96000,
        "channels": 2,
        "duration_seconds": 14.949,
        "original_stream_preserved": true
      },
      "branding": {
        "brand": "VidGenAI",
        "style": "Atlas-style app-install ending",
        "start_seconds": 14.933333,
        "duration_seconds": 5,
        "replaced_previous_end_card": true
      },
      "asset_upload_status": "ready",
      "validation": {
        "full_decode": "passed",
        "frame_count": "passed",
        "original_audio_bit_identical": true,
        "approved_ending_frame_comparison": "passed"
      }
    }
  ]
}
