{
  "report": {
    "id": 87,
    "period": "[skincare] Jun 26 - Jul 10, 2026 (Part 2 of 3)",
    "created_at": "2026-07-10T12:26:06.766923+00:00",
    "workflow_note": ""
  },
  "generation_diagnostics": {
    "available": true,
    "generated_at": "2026-07-10T12:26:29.176565Z",
    "tag": "skincare",
    "media_scope": "all_media",
    "generation_strategy": "deep_chunked_two_pass_candidate_discovery_and_validation",
    "report_profile": "deep",
    "model": "~google/gemini-flash-latest",
    "previous_report_context": null,
    "vision_preflight": {
      "enabled": true,
      "since": "2026-06-26T12:25:39.264855Z",
      "media_scope": "all_media",
      "scoped_post_count": 0,
      "batch_size": 500,
      "max_batches": 20,
      "batch_count": 1,
      "images_requested": 0,
      "images_analyzed": 0,
      "posts_touched": 0,
      "reached_batch_cap": false,
      "batches": [
        {
          "batch_number": 1,
          "images_requested": 0,
          "images_analyzed": 0,
          "posts_touched": 0,
          "completion_reconciled": false
        }
      ]
    },
    "chunking": {
      "enabled": true,
      "chunk_number": 2,
      "chunk_count": 3,
      "max_posts_per_chunk": 200,
      "max_media_per_chunk": 500,
      "chunk_post_count": 200,
      "chunk_media_count": 200,
      "full_source_post_count": 1629,
      "full_eligible_post_count": 432,
      "full_source_media_count": 545
    },
    "criteria": {
      "time_window_days": 14,
      "window_start": "2026-06-26T12:25:39.264855Z",
      "minimum_confidence": 0.7,
      "minimum_matching_images": 4,
      "minimum_parent_posts": 3,
      "maximum_images_per_parent_post": 2,
      "preferred_matching_images": "6-12 when available; 4+ accepted for emerging micro-trends",
      "visual_similarity_is_primary": true,
      "caption_required": false,
      "captionless_posts_included": true,
      "engagement_included_in_prompt": true,
      "single_campaign_trends_excluded": true,
      "media_refs_can_support_multiple_trends": true,
      "deep_report_max_posts": 200,
      "deep_report_max_media": 500,
      "prompt_character_limit": 300000,
      "caption_character_limit": 600,
      "media_tag_limit": 14,
      "media_tag_character_limit": 0
    },
    "source_post_count": 1629,
    "source_media_count": 545,
    "eligible_post_count": 432,
    "chunk_post_count": 200,
    "chunk_media_count": 200,
    "analyzed_post_count": 200,
    "analyzed_post_ids": [
      157943,
      158976,
      158262,
      157587,
      157351,
      157755,
      157910,
      157531,
      157099,
      157280,
      157979,
      158032,
      157440,
      158184,
      157835,
      157008,
      157646,
      157555,
      158326,
      158318,
      157253,
      158977,
      158133,
      157825,
      158062,
      158555,
      158100,
      157229,
      157366,
      158900,
      157157,
      157963,
      159031,
      157198,
      157218,
      157719,
      158176,
      157640,
      156958,
      157501,
      158978,
      158752,
      157384,
      159050,
      159015,
      158198,
      157917,
      157432,
      158302,
      158042,
      158013,
      157238,
      157674,
      158084,
      158728,
      157626,
      156969,
      158166,
      157729,
      158559,
      158502,
      157739,
      158666,
      159107,
      158716,
      156983,
      157598,
      156959,
      158794,
      158072,
      157169,
      157336,
      157441,
      158571,
      158879,
      159089,
      157980,
      158142,
      159066,
      158799,
      158746,
      158935,
      158503,
      157508,
      157532,
      158374,
      157836,
      157556,
      158177,
      157492,
      157398,
      157254,
      158443,
      157709,
      157133,
      157951,
      159090,
      158273,
      158327,
      157852,
      156948,
      157054,
      157337,
      157619,
      158918,
      157599,
      159091,
      159092,
      157627,
      158729,
      157710,
      158987,
      158073,
      158033,
      158254,
      158771,
      157100,
      158047,
      157848,
      158760,
      157291,
      157452,
      158747,
      157899,
      157481,
      158284,
      158936,
      157533,
      157502,
      157327,
      158101,
      158178,
      157557,
      157545,
      158375,
      158185,
      158352,
      157292,
      157837,
      158667,
      156987,
      157399,
      158493,
      158859,
      158274,
      157377,
      157731,
      157055,
      158186,
      157878,
      158919,
      157122,
      159093,
      158926,
      157491,
      158459,
      157188,
      158834,
      158244,
      157019,
      157690,
      157419,
      158444,
      158880,
      158285,
      158212,
      156970,
      157442,
      158034,
      159108,
      157756,
      158842,
      158601,
      156978,
      157420,
      157609,
      158085,
      158730,
      157810,
      159024,
      157628,
      158204,
      158988,
      157900,
      158255,
      158002,
      157981,
      158937,
      157239,
      158445,
      158113,
      158894,
      158328,
      157473,
      158979,
      157740,
      157662,
      158365,
      158140,
      158319
    ],
    "analyzed_media_count": 200,
    "analyzed_media_refs": [
      "157943:1",
      "158976:1",
      "158262:1",
      "157587:1",
      "157351:1",
      "157755:1",
      "157910:1",
      "157531:1",
      "157099:1",
      "157280:1",
      "157979:1",
      "158032:1",
      "157440:1",
      "158184:1",
      "157835:1",
      "157008:1",
      "157646:1",
      "157555:1",
      "158326:1",
      "158318:1",
      "157253:1",
      "158977:1",
      "158133:1",
      "157825:1",
      "158062:1",
      "158555:1",
      "158100:1",
      "157229:1",
      "157366:1",
      "158900:1",
      "157157:1",
      "157963:1",
      "159031:1",
      "157198:1",
      "157218:1",
      "157719:1",
      "158176:1",
      "157640:1",
      "156958:1",
      "157501:1",
      "158978:1",
      "158752:1",
      "157384:1",
      "159050:1",
      "159015:1",
      "158198:1",
      "157917:1",
      "157432:1",
      "158302:1",
      "158042:1",
      "158013:1",
      "157238:1",
      "157674:1",
      "158084:1",
      "158728:1",
      "157626:1",
      "156969:1",
      "158166:1",
      "157729:1",
      "158559:1",
      "158502:1",
      "157739:1",
      "158666:1",
      "159107:1",
      "158716:1",
      "156983:1",
      "157598:1",
      "156959:1",
      "158794:1",
      "158072:1",
      "157169:1",
      "157336:1",
      "157441:1",
      "158571:1",
      "158879:1",
      "159089:1",
      "157980:1",
      "158142:1",
      "159066:1",
      "158799:1",
      "158746:1",
      "158935:1",
      "158503:1",
      "157508:1",
      "157532:1",
      "158374:1",
      "157836:1",
      "157556:1",
      "158177:1",
      "157492:1",
      "157398:1",
      "157254:1",
      "158443:1",
      "157709:1",
      "157133:1",
      "157951:1",
      "159090:1",
      "158273:1",
      "158327:1",
      "157852:1",
      "156948:1",
      "157054:1",
      "157337:1",
      "157619:1",
      "158918:1",
      "157599:1",
      "159091:1",
      "159092:1",
      "157627:1",
      "158729:1",
      "157710:1",
      "158987:1",
      "158073:1",
      "158033:1",
      "158254:1",
      "158771:1",
      "157100:1",
      "158047:1",
      "157848:1",
      "158760:1",
      "157291:1",
      "157452:1",
      "158747:1",
      "157899:1",
      "157481:1",
      "158284:1",
      "158936:1",
      "157533:1",
      "157502:1",
      "157327:1",
      "158101:1",
      "158178:1",
      "157557:1",
      "157545:1",
      "158375:1",
      "158185:1",
      "158352:1",
      "157292:1",
      "157837:1",
      "158667:1",
      "156987:1",
      "157399:1",
      "158493:1",
      "158859:1",
      "158274:1",
      "157377:1",
      "157731:1",
      "157055:1",
      "158186:1",
      "157878:1",
      "158919:1",
      "157122:1",
      "159093:1",
      "158926:1",
      "157491:1",
      "158459:1",
      "157188:1",
      "158834:1",
      "158244:1",
      "157019:1",
      "157690:1",
      "157419:1",
      "158444:1",
      "158880:1",
      "158285:1",
      "158212:1",
      "156970:1",
      "157442:1",
      "158034:1",
      "159108:1",
      "157756:1",
      "158842:1",
      "158601:1",
      "156978:1",
      "157420:1",
      "157609:1",
      "158085:1",
      "158730:1",
      "157810:1",
      "159024:1",
      "157628:1",
      "158204:1",
      "158988:1",
      "157900:1",
      "158255:1",
      "158002:1",
      "157981:1",
      "158937:1",
      "157239:1",
      "158445:1",
      "158113:1",
      "158894:1",
      "158328:1",
      "157473:1",
      "158979:1",
      "157740:1",
      "157662:1",
      "158365:1",
      "158140:1",
      "158319:1"
    ],
    "full_source_prompt_character_count": 140861,
    "source_prompt_character_count": 140861,
    "prompt_character_count": 140861,
    "prompt_character_limit": 300000,
    "prompt_was_truncated": false,
    "candidate_prompt_character_count": 145020,
    "validation_prompt_character_count": 150193,
    "candidate_reasoning_scratchpad": "The current landscape has shifted heavily toward hydration and clinical barrier-protection. We see a strong emphasis on tactical, on-the-go sun care application, refreshing gel-to-foam textures, and a return to skin-first nourishment like prebiotics and restorative neck treatments.",
    "validation_reasoning_scratchpad": "We have validated several key beauty micro-trends by identifying recurring visual alignments across independent brands and creators. Key observations show that targeted neck and decollet\u00e9 tools are rapidly gaining traction alongside highly stylized, aesthetic color-blocked packaging and on-the-go cushion formats. Additionally, texture stories like gel-to-foam transitions provide highly engageable visual content suitable for social feeds.",
    "ai_discovered_candidate_count": 6,
    "candidate_trends": [
      {
        "candidate_name": "Cushion Sunscreen & Portable Glow Touch-Ups",
        "trend_type": "beauty",
        "visual_axis": "beauty",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "157835:1",
          "157836:1",
          "157917:1"
        ],
        "visual_cues": [
          "cushion compact case",
          "powder puff applicator",
          "outdoor application or sunlit lighting",
          "mirrored packaging finish"
        ]
      },
      {
        "candidate_name": "Targeted Neck & D\u00e9collet\u00e9 Device Rituals",
        "trend_type": "beauty",
        "visual_axis": "application",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "157587:1",
          "157910:1",
          "158859:1"
        ],
        "visual_cues": [
          "silicone beauty tool",
          "red or infrared light technology",
          "throat and decolletage care",
          "at-home spa or vanity setting"
        ]
      },
      {
        "candidate_name": "Gourmand & Nostalgic Squeezable Lip Balms",
        "trend_type": "beauty",
        "visual_axis": "beauty",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "157532:1",
          "157377:1",
          "158445:1"
        ],
        "visual_cues": [
          "squeezable tube packaging",
          "tinted lip serum",
          "gourmand or fruit-scented lip balm",
          "bold graphic typography or Y2K keychains"
        ]
      },
      {
        "candidate_name": "Microbiome Balancing & Prebiotic Skincare",
        "trend_type": "beauty",
        "visual_axis": "beauty",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "158184:1",
          "158185:1",
          "158186:1"
        ],
        "visual_cues": [
          "prebiotic or probiotic claims",
          "milky or diluted fluid formulations",
          "educational science graphics or skin-barrier imagery"
        ]
      },
      {
        "candidate_name": "Gel-to-Foam Cleansing Swatches",
        "trend_type": "beauty",
        "visual_axis": "texture",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "157646:1",
          "159107:1",
          "158443:1"
        ],
        "visual_cues": [
          "white clay or clear gel base",
          "frothy soap foam bubbles",
          "squeeze tube dispenser",
          "hand swatch demonstration"
        ]
      },
      {
        "candidate_name": "High-Contrast Pastel Color Blocking",
        "trend_type": "beauty",
        "visual_axis": "color",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "158072:1",
          "158073:1",
          "159093:1"
        ],
        "visual_cues": [
          "pastel packaging",
          "color-coordinated jars and boxes",
          "minimalist branding",
          "multiple pastel colors stacked"
        ]
      }
    ],
    "ai_candidate_trend_count": 5,
    "ai_validated_trend_count_before_filter": 5,
    "accepted_trend_count": 5,
    "rejected_trend_count": 0,
    "rejected_trends": []
  },
  "accepted_trend_audit": [
    {
      "trend_number": 1,
      "trend_name": "Cushion Sunscreen & Portable Glow Touch-Ups",
      "blog_title": "The On-the-Go Glow: Cushion Sunscreens and Portable Touch-Ups",
      "trend_type": "beauty",
      "signal_strength": "medium",
      "confidence_percent": 85.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "Repeated use of the cushion compact container, circular powder puffs, metallic/reflective packaging, and hand-held application styles in bright outdoor lighting.",
      "description": "Premium portable compact cases, cushion puffs, and sleek on-the-go makeup packaging presented in bright, sunlit outdoor environments.",
      "keywords": [
        "sun cushion",
        "cushion compact",
        "portable SPF",
        "glow touch up"
      ],
      "post_ids": [
        157835,
        157836,
        157917,
        157055
      ],
      "media_refs": [
        "157835:1",
        "157836:1",
        "157917:1",
        "157055:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 85.0% confidence. Repeated use of the cushion compact container, circular powder puffs, metallic/reflective packaging, and hand-held application styles in bright outdoor lighting."
    },
    {
      "trend_number": 2,
      "trend_name": "Targeted Neck & D\u00e9collet\u00e9 Device Rituals",
      "blog_title": "Below the Jawline: The At-Home Neck & D\u00e9collet\u00e9 Protocol",
      "trend_type": "beauty",
      "signal_strength": "medium",
      "confidence_percent": 80.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "Visible inclusion of neck-contouring LED masks, specialized active throat lotions, and clinical spa tools styled on neutral vanities.",
      "description": "Ergonomic beauty devices, hands-free LED neck masks, and rich specialized cremes targeted exclusively below the chin.",
      "keywords": [
        "LED neck mask",
        "decolletage care",
        "at home spa",
        "throat cream"
      ],
      "post_ids": [
        157587,
        157910,
        158859,
        157253
      ],
      "media_refs": [
        "157587:1",
        "157910:1",
        "158859:1",
        "157253:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 80.0% confidence. Visible inclusion of neck-contouring LED masks, specialized active throat lotions, and clinical spa tools styled on neutral vanities."
    },
    {
      "trend_number": 3,
      "trend_name": "Gourmand & Nostalgic Squeezable Lip Balms",
      "blog_title": "Y2K Nostalgia: Gourmand Squeezable Lip Balms",
      "trend_type": "beauty",
      "signal_strength": "strong",
      "confidence_percent": 90.0,
      "matching_image_count": 7,
      "matching_parent_post_count": 7,
      "visual_similarity_reason": "Squeezable glossy tubes, precise tip applicators, and visual textures of thick, tinted lip serums with sweet or gourmand scents.",
      "description": "Playful, squeezable tube packaging containing tinted high-shine lip glosses, often decorated with graphic typography or matching lifestyle accessories.",
      "keywords": [
        "gourmand lip balm",
        "lip serum",
        "squeezable tube",
        "glossy lips"
      ],
      "post_ids": [
        157532,
        157377,
        158445,
        158918,
        158919,
        157432,
        158255
      ],
      "media_refs": [
        "157532:1",
        "157377:1",
        "158445:1",
        "158918:1",
        "158919:1",
        "157432:1",
        "158255:1"
      ],
      "qualification_reason": "Accepted with 7 matching images across 7 parent posts at 90.0% confidence. Squeezable glossy tubes, precise tip applicators, and visual textures of thick, tinted lip serums with sweet or gourmand scents."
    },
    {
      "trend_number": 4,
      "trend_name": "High-Contrast Pastel Color Blocking",
      "blog_title": "Pastel Paradise: Shelf-Worthy Clinical Gradients",
      "trend_type": "color",
      "signal_strength": "medium",
      "confidence_percent": 88.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "Coordination of pastel pink, blue, green, and yellow cosmetic jars, tubes, and bottles stacked or nested together.",
      "description": "Skincare packaging colored in contrasting pastel gradients of soft melon, baby pink, cool blue, and mint green styled in clean vanity setups.",
      "keywords": [
        "pastel packaging",
        "aesthetic vanity",
        "skincare shelfie",
        "color block"
      ],
      "post_ids": [
        158072,
        158073,
        159093,
        158177
      ],
      "media_refs": [
        "158072:1",
        "158073:1",
        "159093:1",
        "158177:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 88.0% confidence. Coordination of pastel pink, blue, green, and yellow cosmetic jars, tubes, and bottles stacked or nested together."
    },
    {
      "trend_number": 5,
      "trend_name": "Gel-to-Foam Cleansing Swatches",
      "blog_title": "The Ultimate Cleanse: Transforming Gel-to-Foam Swatches",
      "trend_type": "texture",
      "signal_strength": "medium",
      "confidence_percent": 82.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "Visual focus on soap bubbles, dense white clay bases, foaming textures, and action-oriented facial washing.",
      "description": "Tactile close-ups demonstrating thick gel, clay, or cream formulations transforming into rich, frothy bubbles in water.",
      "keywords": [
        "foaming cleanser",
        "soap bubbles",
        "skincare texture",
        "cleansing wash"
      ],
      "post_ids": [
        157646,
        159107,
        158443,
        157556
      ],
      "media_refs": [
        "157646:1",
        "159107:1",
        "158443:1",
        "157556:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 82.0% confidence. Visual focus on soap bubbles, dense white clay bases, foaming textures, and action-oriented facial washing."
    }
  ],
  "report_payload": {
    "reasoning_scratchpad": "We have validated several key beauty micro-trends by identifying recurring visual alignments across independent brands and creators. Key observations show that targeted neck and decollet\u00e9 tools are rapidly gaining traction alongside highly stylized, aesthetic color-blocked packaging and on-the-go cushion formats. Additionally, texture stories like gel-to-foam transitions provide highly engageable visual content suitable for social feeds.",
    "content_ideas": [
      {
        "blog_title": "The On-the-Go Glow: Cushion Sunscreens and Portable Touch-Ups",
        "trend_name": "Cushion Sunscreen & Portable Glow Touch-Ups",
        "trend_type": "beauty",
        "trend_trajectory": "net_new",
        "historical_note": "This is a net-new validated trend focusing on portable, mess-free hydration and UV protection.",
        "description": "Premium portable compact cases, cushion puffs, and sleek on-the-go makeup packaging presented in bright, sunlit outdoor environments.",
        "visual_similarity_reason": "Repeated use of the cushion compact container, circular powder puffs, metallic/reflective packaging, and hand-held application styles in bright outdoor lighting.",
        "instagram_caption": "SPF reapplies just got a serious upgrade. \u2600\ufe0f\u2728 Keep your barrier protected and your glow intact wherever the day takes you. Click our link in bio to shop our favorite portable cushion picks! #SunCare #KBeauty #GlazedSkin #OnTheGoMakeup",
        "trend_signal_strength": "medium",
        "confidence_score": 0.85,
        "keywords": [
          "sun cushion",
          "cushion compact",
          "portable SPF",
          "glow touch up"
        ],
        "example_media_refs": [
          "157835:1",
          "157836:1",
          "157917:1",
          "157055:1"
        ],
        "example_post_ids": [
          157835,
          157836,
          157917,
          157055
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 3
      },
      {
        "blog_title": "Below the Jawline: The At-Home Neck & D\u00e9collet\u00e9 Protocol",
        "trend_name": "Targeted Neck & D\u00e9collet\u00e9 Device Rituals",
        "trend_type": "beauty",
        "trend_trajectory": "net_new",
        "historical_note": "A net-new trend speaking to the physical expansion of skincare routines downwards to address cellular health on the throat and chest.",
        "description": "Ergonomic beauty devices, hands-free LED neck masks, and rich specialized cremes targeted exclusively below the chin.",
        "visual_similarity_reason": "Visible inclusion of neck-contouring LED masks, specialized active throat lotions, and clinical spa tools styled on neutral vanities.",
        "instagram_caption": "Because your skincare shouldn\u2019t stop at your chin. \ud83d\udd4a\ufe0f Give your neck and d\u00e9collet\u00e9 the same clinical love you give your face with red-light therapy and ultra-firming peptides. #SkincareRoutine #SelfCareSunday #BeautyDevice #NeckCare",
        "trend_signal_strength": "medium",
        "confidence_score": 0.8,
        "keywords": [
          "LED neck mask",
          "decolletage care",
          "at home spa",
          "throat cream"
        ],
        "example_media_refs": [
          "157587:1",
          "157910:1",
          "158859:1",
          "157253:1"
        ],
        "example_post_ids": [
          157587,
          157910,
          158859,
          157253
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      },
      {
        "blog_title": "Y2K Nostalgia: Gourmand Squeezable Lip Balms",
        "trend_name": "Gourmand & Nostalgic Squeezable Lip Balms",
        "trend_type": "beauty",
        "trend_trajectory": "net_new",
        "historical_note": "A net-new trend heavily influenced by Gen Z aesthetic nostalgia and dessert-scented hydrators.",
        "description": "Playful, squeezable tube packaging containing tinted high-shine lip glosses, often decorated with graphic typography or matching lifestyle accessories.",
        "visual_similarity_reason": "Squeezable glossy tubes, precise tip applicators, and visual textures of thick, tinted lip serums with sweet or gourmand scents.",
        "instagram_caption": "Your lips, but sweeter. \ud83c\udf69\u2728 Dip into delicious, high-shine hydration with the ultimate dessert-scented Balms. What's your flavor profile today? #LipBalm #GourmandBeauty #Y2KStyle #GlossyLips",
        "trend_signal_strength": "strong",
        "confidence_score": 0.9,
        "keywords": [
          "gourmand lip balm",
          "lip serum",
          "squeezable tube",
          "glossy lips"
        ],
        "example_media_refs": [
          "157532:1",
          "157377:1",
          "158445:1",
          "158918:1",
          "158919:1",
          "157432:1",
          "158255:1"
        ],
        "example_post_ids": [
          157532,
          157377,
          158445,
          158918,
          158919,
          157432,
          158255
        ],
        "matching_image_count": 7,
        "matching_parent_post_count": 7,
        "matching_author_count": 6
      },
      {
        "blog_title": "Pastel Paradise: Shelf-Worthy Clinical Gradients",
        "trend_name": "High-Contrast Pastel Color Blocking",
        "trend_type": "color",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new clinical beauty packaging trend trading stark white apothecary bottles for satisfying pastel shelfies.",
        "description": "Skincare packaging colored in contrasting pastel gradients of soft melon, baby pink, cool blue, and mint green styled in clean vanity setups.",
        "visual_similarity_reason": "Coordination of pastel pink, blue, green, and yellow cosmetic jars, tubes, and bottles stacked or nested together.",
        "instagram_caption": "Minimalist, meet color theory. \ud83c\udfa8 Bring your bathroom vanity to life with high-contrast pastel gradients that work hard and look gorgeous on your shelf. #AestheticShelfie #ClinicalSkincare #PastelAesthetic #VanityGoals",
        "trend_signal_strength": "medium",
        "confidence_score": 0.88,
        "keywords": [
          "pastel packaging",
          "aesthetic vanity",
          "skincare shelfie",
          "color block"
        ],
        "example_media_refs": [
          "158072:1",
          "158073:1",
          "159093:1",
          "158177:1"
        ],
        "example_post_ids": [
          158072,
          158073,
          159093,
          158177
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 3
      },
      {
        "blog_title": "The Ultimate Cleanse: Transforming Gel-to-Foam Swatches",
        "trend_name": "Gel-to-Foam Cleansing Swatches",
        "trend_type": "texture",
        "trend_trajectory": "net_new",
        "historical_note": "A net-new texture focus highlighting tactile transformations to capture consumer attention during cleansing rituals.",
        "description": "Tactile close-ups demonstrating thick gel, clay, or cream formulations transforming into rich, frothy bubbles in water.",
        "visual_similarity_reason": "Visual focus on soap bubbles, dense white clay bases, foaming textures, and action-oriented facial washing.",
        "instagram_caption": "Watch your daily debris wash down the drain. \ud83e\uddfc\ud83d\udca6 Experience the satisfying ritual of watch-it-transform clay-to-foam cleansers. #SkincareTexture #CleanseDaily #LatherUp #SatisfyingSkincare",
        "trend_signal_strength": "medium",
        "confidence_score": 0.82,
        "keywords": [
          "foaming cleanser",
          "soap bubbles",
          "skincare texture",
          "cleansing wash"
        ],
        "example_media_refs": [
          "157646:1",
          "159107:1",
          "158443:1",
          "157556:1"
        ],
        "example_post_ids": [
          157646,
          159107,
          158443,
          157556
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      }
    ],
    "overview_title": "Latest Trends",
    "overview_description": "Beauty routines are pivoting toward tactile evolution and specialized care, defined by the rise of sensory gel-to-foam cleansers from Dr. Kaplan and Skinfix alongside sophisticated, below-the-chin device rituals popularized by @jtavclinicalskincare and PRAI Beauty. On-the-go aesthetics are taking a playful, highly visual turn, contrasting the nostalgic, high-shine squeeze tubes of @dionisskincare with the sun-drenched, portable cushion compacts of Sulwhasoo and Laneige. Tieing the weekly forecast together is a visual shift toward high-contrast pastel color blocking, with brands like Sofie Pavitt Face bringing curated, pastel-gradient art direction straight to the vanity.",
    "generation_diagnostics": {
      "available": true,
      "generated_at": "2026-07-10T12:26:29.176565Z",
      "tag": "skincare",
      "media_scope": "all_media",
      "generation_strategy": "deep_chunked_two_pass_candidate_discovery_and_validation",
      "report_profile": "deep",
      "model": "~google/gemini-flash-latest",
      "previous_report_context": null,
      "vision_preflight": {
        "enabled": true,
        "since": "2026-06-26T12:25:39.264855Z",
        "media_scope": "all_media",
        "scoped_post_count": 0,
        "batch_size": 500,
        "max_batches": 20,
        "batch_count": 1,
        "images_requested": 0,
        "images_analyzed": 0,
        "posts_touched": 0,
        "reached_batch_cap": false,
        "batches": [
          {
            "batch_number": 1,
            "images_requested": 0,
            "images_analyzed": 0,
            "posts_touched": 0,
            "completion_reconciled": false
          }
        ]
      },
      "chunking": {
        "enabled": true,
        "chunk_number": 2,
        "chunk_count": 3,
        "max_posts_per_chunk": 200,
        "max_media_per_chunk": 500,
        "chunk_post_count": 200,
        "chunk_media_count": 200,
        "full_source_post_count": 1629,
        "full_eligible_post_count": 432,
        "full_source_media_count": 545
      },
      "criteria": {
        "time_window_days": 14,
        "window_start": "2026-06-26T12:25:39.264855Z",
        "minimum_confidence": 0.7,
        "minimum_matching_images": 4,
        "minimum_parent_posts": 3,
        "maximum_images_per_parent_post": 2,
        "preferred_matching_images": "6-12 when available; 4+ accepted for emerging micro-trends",
        "visual_similarity_is_primary": true,
        "caption_required": false,
        "captionless_posts_included": true,
        "engagement_included_in_prompt": true,
        "single_campaign_trends_excluded": true,
        "media_refs_can_support_multiple_trends": true,
        "deep_report_max_posts": 200,
        "deep_report_max_media": 500,
        "prompt_character_limit": 300000,
        "caption_character_limit": 600,
        "media_tag_limit": 14,
        "media_tag_character_limit": 0
      },
      "source_post_count": 1629,
      "source_media_count": 545,
      "eligible_post_count": 432,
      "chunk_post_count": 200,
      "chunk_media_count": 200,
      "analyzed_post_count": 200,
      "analyzed_post_ids": [
        157943,
        158976,
        158262,
        157587,
        157351,
        157755,
        157910,
        157531,
        157099,
        157280,
        157979,
        158032,
        157440,
        158184,
        157835,
        157008,
        157646,
        157555,
        158326,
        158318,
        157253,
        158977,
        158133,
        157825,
        158062,
        158555,
        158100,
        157229,
        157366,
        158900,
        157157,
        157963,
        159031,
        157198,
        157218,
        157719,
        158176,
        157640,
        156958,
        157501,
        158978,
        158752,
        157384,
        159050,
        159015,
        158198,
        157917,
        157432,
        158302,
        158042,
        158013,
        157238,
        157674,
        158084,
        158728,
        157626,
        156969,
        158166,
        157729,
        158559,
        158502,
        157739,
        158666,
        159107,
        158716,
        156983,
        157598,
        156959,
        158794,
        158072,
        157169,
        157336,
        157441,
        158571,
        158879,
        159089,
        157980,
        158142,
        159066,
        158799,
        158746,
        158935,
        158503,
        157508,
        157532,
        158374,
        157836,
        157556,
        158177,
        157492,
        157398,
        157254,
        158443,
        157709,
        157133,
        157951,
        159090,
        158273,
        158327,
        157852,
        156948,
        157054,
        157337,
        157619,
        158918,
        157599,
        159091,
        159092,
        157627,
        158729,
        157710,
        158987,
        158073,
        158033,
        158254,
        158771,
        157100,
        158047,
        157848,
        158760,
        157291,
        157452,
        158747,
        157899,
        157481,
        158284,
        158936,
        157533,
        157502,
        157327,
        158101,
        158178,
        157557,
        157545,
        158375,
        158185,
        158352,
        157292,
        157837,
        158667,
        156987,
        157399,
        158493,
        158859,
        158274,
        157377,
        157731,
        157055,
        158186,
        157878,
        158919,
        157122,
        159093,
        158926,
        157491,
        158459,
        157188,
        158834,
        158244,
        157019,
        157690,
        157419,
        158444,
        158880,
        158285,
        158212,
        156970,
        157442,
        158034,
        159108,
        157756,
        158842,
        158601,
        156978,
        157420,
        157609,
        158085,
        158730,
        157810,
        159024,
        157628,
        158204,
        158988,
        157900,
        158255,
        158002,
        157981,
        158937,
        157239,
        158445,
        158113,
        158894,
        158328,
        157473,
        158979,
        157740,
        157662,
        158365,
        158140,
        158319
      ],
      "analyzed_media_count": 200,
      "analyzed_media_refs": [
        "157943:1",
        "158976:1",
        "158262:1",
        "157587:1",
        "157351:1",
        "157755:1",
        "157910:1",
        "157531:1",
        "157099:1",
        "157280:1",
        "157979:1",
        "158032:1",
        "157440:1",
        "158184:1",
        "157835:1",
        "157008:1",
        "157646:1",
        "157555:1",
        "158326:1",
        "158318:1",
        "157253:1",
        "158977:1",
        "158133:1",
        "157825:1",
        "158062:1",
        "158555:1",
        "158100:1",
        "157229:1",
        "157366:1",
        "158900:1",
        "157157:1",
        "157963:1",
        "159031:1",
        "157198:1",
        "157218:1",
        "157719:1",
        "158176:1",
        "157640:1",
        "156958:1",
        "157501:1",
        "158978:1",
        "158752:1",
        "157384:1",
        "159050:1",
        "159015:1",
        "158198:1",
        "157917:1",
        "157432:1",
        "158302:1",
        "158042:1",
        "158013:1",
        "157238:1",
        "157674:1",
        "158084:1",
        "158728:1",
        "157626:1",
        "156969:1",
        "158166:1",
        "157729:1",
        "158559:1",
        "158502:1",
        "157739:1",
        "158666:1",
        "159107:1",
        "158716:1",
        "156983:1",
        "157598:1",
        "156959:1",
        "158794:1",
        "158072:1",
        "157169:1",
        "157336:1",
        "157441:1",
        "158571:1",
        "158879:1",
        "159089:1",
        "157980:1",
        "158142:1",
        "159066:1",
        "158799:1",
        "158746:1",
        "158935:1",
        "158503:1",
        "157508:1",
        "157532:1",
        "158374:1",
        "157836:1",
        "157556:1",
        "158177:1",
        "157492:1",
        "157398:1",
        "157254:1",
        "158443:1",
        "157709:1",
        "157133:1",
        "157951:1",
        "159090:1",
        "158273:1",
        "158327:1",
        "157852:1",
        "156948:1",
        "157054:1",
        "157337:1",
        "157619:1",
        "158918:1",
        "157599:1",
        "159091:1",
        "159092:1",
        "157627:1",
        "158729:1",
        "157710:1",
        "158987:1",
        "158073:1",
        "158033:1",
        "158254:1",
        "158771:1",
        "157100:1",
        "158047:1",
        "157848:1",
        "158760:1",
        "157291:1",
        "157452:1",
        "158747:1",
        "157899:1",
        "157481:1",
        "158284:1",
        "158936:1",
        "157533:1",
        "157502:1",
        "157327:1",
        "158101:1",
        "158178:1",
        "157557:1",
        "157545:1",
        "158375:1",
        "158185:1",
        "158352:1",
        "157292:1",
        "157837:1",
        "158667:1",
        "156987:1",
        "157399:1",
        "158493:1",
        "158859:1",
        "158274:1",
        "157377:1",
        "157731:1",
        "157055:1",
        "158186:1",
        "157878:1",
        "158919:1",
        "157122:1",
        "159093:1",
        "158926:1",
        "157491:1",
        "158459:1",
        "157188:1",
        "158834:1",
        "158244:1",
        "157019:1",
        "157690:1",
        "157419:1",
        "158444:1",
        "158880:1",
        "158285:1",
        "158212:1",
        "156970:1",
        "157442:1",
        "158034:1",
        "159108:1",
        "157756:1",
        "158842:1",
        "158601:1",
        "156978:1",
        "157420:1",
        "157609:1",
        "158085:1",
        "158730:1",
        "157810:1",
        "159024:1",
        "157628:1",
        "158204:1",
        "158988:1",
        "157900:1",
        "158255:1",
        "158002:1",
        "157981:1",
        "158937:1",
        "157239:1",
        "158445:1",
        "158113:1",
        "158894:1",
        "158328:1",
        "157473:1",
        "158979:1",
        "157740:1",
        "157662:1",
        "158365:1",
        "158140:1",
        "158319:1"
      ],
      "full_source_prompt_character_count": 140861,
      "source_prompt_character_count": 140861,
      "prompt_character_count": 140861,
      "prompt_character_limit": 300000,
      "prompt_was_truncated": false,
      "candidate_prompt_character_count": 145020,
      "validation_prompt_character_count": 150193,
      "candidate_reasoning_scratchpad": "The current landscape has shifted heavily toward hydration and clinical barrier-protection. We see a strong emphasis on tactical, on-the-go sun care application, refreshing gel-to-foam textures, and a return to skin-first nourishment like prebiotics and restorative neck treatments.",
      "validation_reasoning_scratchpad": "We have validated several key beauty micro-trends by identifying recurring visual alignments across independent brands and creators. Key observations show that targeted neck and decollet\u00e9 tools are rapidly gaining traction alongside highly stylized, aesthetic color-blocked packaging and on-the-go cushion formats. Additionally, texture stories like gel-to-foam transitions provide highly engageable visual content suitable for social feeds.",
      "ai_discovered_candidate_count": 6,
      "candidate_trends": [
        {
          "candidate_name": "Cushion Sunscreen & Portable Glow Touch-Ups",
          "trend_type": "beauty",
          "visual_axis": "beauty",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "157835:1",
            "157836:1",
            "157917:1"
          ],
          "visual_cues": [
            "cushion compact case",
            "powder puff applicator",
            "outdoor application or sunlit lighting",
            "mirrored packaging finish"
          ]
        },
        {
          "candidate_name": "Targeted Neck & D\u00e9collet\u00e9 Device Rituals",
          "trend_type": "beauty",
          "visual_axis": "application",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "157587:1",
            "157910:1",
            "158859:1"
          ],
          "visual_cues": [
            "silicone beauty tool",
            "red or infrared light technology",
            "throat and decolletage care",
            "at-home spa or vanity setting"
          ]
        },
        {
          "candidate_name": "Gourmand & Nostalgic Squeezable Lip Balms",
          "trend_type": "beauty",
          "visual_axis": "beauty",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "157532:1",
            "157377:1",
            "158445:1"
          ],
          "visual_cues": [
            "squeezable tube packaging",
            "tinted lip serum",
            "gourmand or fruit-scented lip balm",
            "bold graphic typography or Y2K keychains"
          ]
        },
        {
          "candidate_name": "Microbiome Balancing & Prebiotic Skincare",
          "trend_type": "beauty",
          "visual_axis": "beauty",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "158184:1",
            "158185:1",
            "158186:1"
          ],
          "visual_cues": [
            "prebiotic or probiotic claims",
            "milky or diluted fluid formulations",
            "educational science graphics or skin-barrier imagery"
          ]
        },
        {
          "candidate_name": "Gel-to-Foam Cleansing Swatches",
          "trend_type": "beauty",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "157646:1",
            "159107:1",
            "158443:1"
          ],
          "visual_cues": [
            "white clay or clear gel base",
            "frothy soap foam bubbles",
            "squeeze tube dispenser",
            "hand swatch demonstration"
          ]
        },
        {
          "candidate_name": "High-Contrast Pastel Color Blocking",
          "trend_type": "beauty",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "158072:1",
            "158073:1",
            "159093:1"
          ],
          "visual_cues": [
            "pastel packaging",
            "color-coordinated jars and boxes",
            "minimalist branding",
            "multiple pastel colors stacked"
          ]
        }
      ],
      "ai_candidate_trend_count": 5,
      "ai_validated_trend_count_before_filter": 5,
      "accepted_trend_count": 5,
      "rejected_trend_count": 0,
      "rejected_trends": []
    }
  }
}