{
  "report": {
    "id": 110,
    "period": "[All] Jun 30 - Jul 14, 2026 (Part 12 of 18)",
    "created_at": "2026-07-14T21:41:08.751880+00:00",
    "workflow_note": ""
  },
  "generation_diagnostics": {
    "available": true,
    "generated_at": "2026-07-14T21:41:47.360485Z",
    "tag": "All",
    "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-30T21:32:03.501534Z",
      "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": 12,
      "chunk_count": 18,
      "max_posts_per_chunk": 200,
      "max_media_per_chunk": 500,
      "chunk_post_count": 200,
      "chunk_media_count": 352,
      "full_source_post_count": 6642,
      "full_eligible_post_count": 3446,
      "full_source_media_count": 5401
    },
    "criteria": {
      "time_window_days": 14,
      "window_start": "2026-06-30T21:32:03.501534Z",
      "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": 6642,
    "source_media_count": 5401,
    "eligible_post_count": 3446,
    "chunk_post_count": 200,
    "chunk_media_count": 352,
    "analyzed_post_count": 200,
    "analyzed_post_ids": [
      151112,
      151113,
      149704,
      150902,
      151567,
      151568,
      161320,
      149974,
      150687,
      151138,
      150903,
      150715,
      150696,
      149781,
      151046,
      160594,
      151114,
      161267,
      161545,
      150864,
      160011,
      151025,
      149920,
      150728,
      150035,
      149764,
      160690,
      149930,
      150012,
      160903,
      150785,
      151643,
      151554,
      151225,
      150744,
      161724,
      160728,
      149734,
      160188,
      151142,
      149796,
      149842,
      149830,
      151411,
      150832,
      150841,
      161446,
      150857,
      150697,
      149674,
      161181,
      161275,
      150917,
      149905,
      149706,
      151636,
      149928,
      151055,
      149921,
      150743,
      149897,
      150036,
      149988,
      150932,
      149779,
      160402,
      151287,
      149873,
      160314,
      151374,
      149837,
      161617,
      161208,
      149969,
      149878,
      149993,
      149808,
      150745,
      150821,
      149798,
      151218,
      150937,
      150044,
      151625,
      161349,
      150886,
      150908,
      151163,
      149720,
      161418,
      160673,
      150943,
      149864,
      161436,
      149913,
      149997,
      149787,
      158474,
      150960,
      149850,
      149922,
      150040,
      150759,
      160683,
      151245,
      161117,
      151582,
      150976,
      149960,
      150802,
      149953,
      151472,
      161305,
      151516,
      149765,
      160999,
      151366,
      151308,
      149766,
      160382,
      161037,
      149923,
      151605,
      161706,
      160508,
      150014,
      151392,
      149767,
      149851,
      150808,
      160635,
      151385,
      151336,
      150966,
      149768,
      151157,
      149957,
      151506,
      151427,
      151039,
      151342,
      151438,
      150711,
      151239,
      150951,
      151082,
      150029,
      151350,
      151026,
      151227,
      150913,
      150811,
      149903,
      149924,
      150862,
      151526,
      149740,
      151355,
      149979,
      149760,
      150987,
      151459,
      151064,
      161161,
      151399,
      151190,
      149895,
      149743,
      151087,
      150739,
      149761,
      149852,
      150751,
      150712,
      151442,
      149888,
      151448,
      151001,
      151389,
      151002,
      151583,
      151097,
      151578,
      150713,
      149744,
      149961,
      149980,
      149853,
      151262,
      151317,
      151265,
      151276,
      149925,
      151194,
      151430,
      151008,
      151092,
      151536,
      149854,
      149827
    ],
    "analyzed_media_count": 352,
    "analyzed_media_refs": [
      "151112:1",
      "151113:1",
      "149704:1",
      "150902:1",
      "151567:1",
      "151568:1",
      "161320:1",
      "161320:2",
      "161320:3",
      "149974:1",
      "149974:2",
      "149974:3",
      "149974:4",
      "149974:5",
      "149974:6",
      "149974:7",
      "149974:8",
      "150687:1",
      "151138:1",
      "150903:1",
      "150903:2",
      "150903:3",
      "150903:4",
      "150903:5",
      "150903:6",
      "150903:7",
      "150903:8",
      "150903:9",
      "150903:10",
      "150715:1",
      "150696:1",
      "149781:1",
      "151046:1",
      "160594:1",
      "151114:1",
      "161267:1",
      "161545:1",
      "150864:1",
      "160011:1",
      "151025:1",
      "149920:1",
      "150728:1",
      "150035:1",
      "149764:1",
      "160690:1",
      "149930:1",
      "150012:1",
      "160903:1",
      "150785:1",
      "151643:1",
      "151554:1",
      "151225:1",
      "151225:2",
      "151225:3",
      "151225:5",
      "150744:1",
      "161724:1",
      "160728:1",
      "149734:1",
      "160188:1",
      "151142:1",
      "149796:1",
      "149796:2",
      "149796:3",
      "149796:4",
      "149796:5",
      "149796:6",
      "149796:7",
      "149796:8",
      "149796:9",
      "149842:1",
      "149842:2",
      "149842:3",
      "149830:1",
      "149830:2",
      "151411:1",
      "150832:1",
      "150841:1",
      "161446:1",
      "150857:1",
      "150857:2",
      "150857:3",
      "150857:4",
      "150857:5",
      "150857:6",
      "150857:7",
      "150857:8",
      "150857:9",
      "150857:10",
      "150697:1",
      "149674:1",
      "149674:2",
      "149674:3",
      "149674:4",
      "161181:1",
      "161275:1",
      "150917:1",
      "150917:2",
      "150917:3",
      "150917:4",
      "150917:5",
      "149905:1",
      "149706:1",
      "151636:1",
      "149928:1",
      "149928:2",
      "149928:3",
      "151055:1",
      "149921:1",
      "150743:1",
      "149897:1",
      "149897:2",
      "149897:3",
      "149897:4",
      "150036:1",
      "149988:1",
      "149988:2",
      "149988:3",
      "149988:4",
      "149988:5",
      "149988:6",
      "149988:7",
      "150932:1",
      "149779:1",
      "160402:1",
      "151287:1",
      "149873:1",
      "160314:1",
      "151374:1",
      "151374:2",
      "151374:3",
      "149837:1",
      "149837:3",
      "149837:4",
      "149837:7",
      "161617:1",
      "161208:1",
      "149969:1",
      "149878:1",
      "149993:1",
      "149993:2",
      "149993:3",
      "149993:4",
      "149993:5",
      "149993:6",
      "149808:1",
      "150745:1",
      "150821:1",
      "149798:1",
      "151218:1",
      "150937:1",
      "150044:1",
      "150044:2",
      "150044:3",
      "150044:4",
      "150044:5",
      "150044:6",
      "150044:7",
      "151625:1",
      "151625:2",
      "161349:1",
      "150886:1",
      "150908:1",
      "151163:1",
      "149720:1",
      "149720:2",
      "149720:3",
      "161418:1",
      "160673:1",
      "150943:1",
      "149864:1",
      "161436:1",
      "149913:1",
      "149997:1",
      "149997:2",
      "149997:3",
      "149997:4",
      "149787:1",
      "149787:2",
      "158474:1",
      "150960:1",
      "150960:2",
      "149850:1",
      "149922:1",
      "150040:1",
      "150759:1",
      "160683:1",
      "151245:1",
      "151245:2",
      "161117:1",
      "151582:1",
      "150976:1",
      "149960:1",
      "150802:1",
      "149953:1",
      "151472:1",
      "161305:1",
      "151516:1",
      "151516:2",
      "151516:3",
      "149765:1",
      "149765:2",
      "149765:3",
      "149765:5",
      "149765:6",
      "149765:7",
      "149765:9",
      "149765:10",
      "160999:1",
      "151366:1",
      "151366:2",
      "151308:1",
      "149766:2",
      "149766:3",
      "149766:4",
      "149766:5",
      "149766:6",
      "149766:7",
      "160382:1",
      "160382:2",
      "161037:1",
      "149923:1",
      "151605:1",
      "161706:1",
      "160508:1",
      "160508:2",
      "150014:1",
      "151392:1",
      "151392:2",
      "149767:1",
      "149851:1",
      "150808:1",
      "150808:2",
      "150808:3",
      "150808:4",
      "160635:1",
      "151385:1",
      "151336:1",
      "150966:1",
      "149768:1",
      "151157:1",
      "149957:1",
      "149957:2",
      "151506:1",
      "151427:1",
      "151039:1",
      "151342:1",
      "151438:1",
      "150711:1",
      "151239:1",
      "150951:1",
      "151082:1",
      "150029:1",
      "151350:1",
      "151026:1",
      "151227:1",
      "151227:2",
      "150913:1",
      "150811:1",
      "149903:1",
      "149903:2",
      "149903:3",
      "149903:4",
      "149903:5",
      "149903:6",
      "149903:7",
      "149903:8",
      "149903:9",
      "149903:10",
      "149924:1",
      "150862:1",
      "150862:2",
      "150862:3",
      "150862:4",
      "150862:5",
      "150862:6",
      "151526:1",
      "149740:1",
      "149740:2",
      "151355:1",
      "149979:1",
      "149979:3",
      "149979:5",
      "149760:1",
      "149760:2",
      "149760:3",
      "149760:4",
      "149760:5",
      "149760:6",
      "150987:1",
      "151459:1",
      "151459:2",
      "151459:3",
      "151459:4",
      "151064:1",
      "161161:1",
      "151399:1",
      "151190:1",
      "149895:1",
      "149895:2",
      "149895:3",
      "149743:1",
      "151087:1",
      "150739:1",
      "149761:1",
      "149852:1",
      "150751:1",
      "150712:1",
      "151442:1",
      "149888:1",
      "151448:1",
      "151001:1",
      "151389:1",
      "151002:1",
      "151583:1",
      "151097:1",
      "151578:1",
      "151578:2",
      "151578:3",
      "151578:4",
      "151578:5",
      "151578:6",
      "151578:7",
      "151578:8",
      "151578:9",
      "151578:10",
      "150713:1",
      "149744:1",
      "149744:2",
      "149744:3",
      "149744:4",
      "149961:1",
      "149980:1",
      "149853:1",
      "151262:1",
      "151317:1",
      "151265:1",
      "151276:1",
      "149925:1",
      "151194:1",
      "151194:2",
      "151194:3",
      "151194:4",
      "151430:1",
      "151008:1",
      "151008:2",
      "151008:3",
      "151092:1",
      "151536:1",
      "151536:2",
      "149854:1",
      "149827:1"
    ],
    "full_source_prompt_character_count": 174071,
    "source_prompt_character_count": 174071,
    "prompt_character_count": 174071,
    "prompt_character_limit": 300000,
    "prompt_was_truncated": false,
    "candidate_prompt_character_count": 178230,
    "validation_prompt_character_count": 185634,
    "candidate_reasoning_scratchpad": "We are observing a massive convergence of summer athleisure with hyper-specific styling formulas, particularly through chocolate/espresso matching sets and the incorporation of y2k outdoor accessories. Simultaneously, feminine resort wear is embracing romantic cottagecore textures including delicate white eyelet lace, crochet, and coquette-inspired pastel styling.",
    "validation_reasoning_scratchpad": "We have validated and expanded the candidate clusters by cross-referencing visual cues like raw textures, specific color matching, and design details across the raw Instagram posts. Trends like Espresso & Chocolate Brown sets, White Summer Eyelet, and Satin Lingerie-Swim hybrids show strong multi-author presence, confirming their active status as dominant or emerging seasonal directions.",
    "ai_discovered_candidate_count": 10,
    "candidate_trends": [
      {
        "candidate_name": "Espresso & Chocolate Brown Matching Sets",
        "trend_type": "color",
        "visual_axis": "color",
        "historical_relationship": "net_new",
        "seed_media_count": 6,
        "seed_media_refs": [
          "151112:1",
          "151643:1",
          "150864:1",
          "151342:1",
          "150712:1",
          "151064:1"
        ],
        "visual_cues": [
          "chocolate brown activewear",
          "espresso brown matching set",
          "dark brown activewear",
          "seamless brown fabric"
        ]
      },
      {
        "candidate_name": "Boho Crochet & Lace Headscarves",
        "trend_type": "accessory",
        "visual_axis": "accessory",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "149974:7",
          "149974:8",
          "161275:1",
          "160635:1"
        ],
        "visual_cues": [
          "lace headscarf",
          "boho hair accessory",
          "white eyelet bandana",
          "triangular headscarf"
        ]
      },
      {
        "candidate_name": "White Summer Eyelet & Picnic Cottagecore",
        "trend_type": "outfit",
        "visual_axis": "texture",
        "historical_relationship": "net_new",
        "seed_media_count": 7,
        "seed_media_refs": [
          "150696:1",
          "149674:1",
          "149674:2",
          "149674:3",
          "149674:4",
          "149837:1",
          "149837:3"
        ],
        "visual_cues": [
          "white eyelet set",
          "white eyelet mini dress",
          "eyelet fabric",
          "eyelet trim",
          "white eyelet shorts"
        ]
      },
      {
        "candidate_name": "Coquette Pink & Stationery Flat Lays",
        "trend_type": "other",
        "visual_axis": "mood",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "149765:3",
          "149766:3",
          "149766:5",
          "149766:6"
        ],
        "visual_cues": [
          "pink monochromatic palette",
          "coquette aesthetic",
          "floral print stationery",
          "girly desk accessories"
        ]
      },
      {
        "candidate_name": "Contrast Piping & Trim Activewear",
        "trend_type": "activewear",
        "visual_axis": "styling_formula",
        "historical_relationship": "net_new",
        "seed_media_count": 5,
        "seed_media_refs": [
          "151366:1",
          "151366:2",
          "151442:1",
          "151355:1",
          "151342:1"
        ],
        "visual_cues": [
          "white piping detail",
          "white contrast piping",
          "contrasting piping",
          "contrast trim set"
        ]
      },
      {
        "candidate_name": "Gorpcore & Trail Sneakers in Athleisure",
        "trend_type": "accessory",
        "visual_axis": "accessory",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "150917:3",
          "150917:4",
          "150917:5"
        ],
        "visual_cues": [
          "Salomon trail running shoes",
          "gorpcore aesthetic",
          "trail running shoes",
          "crew socks"
        ]
      },
      {
        "candidate_name": "Satin Bikini & Lingerie Beachwear Hybrid",
        "trend_type": "swimwear",
        "visual_axis": "texture",
        "historical_relationship": "net_new",
        "seed_media_count": 5,
        "seed_media_refs": [
          "149796:1",
          "149796:3",
          "149796:6",
          "149796:7",
          "149796:9"
        ],
        "visual_cues": [
          "satin bikini set",
          "satin fabric",
          "thong bikini bottom",
          "lingerie-inspired"
        ]
      },
      {
        "candidate_name": "Wrap Ballet Tops",
        "trend_type": "activewear",
        "visual_axis": "silhouette",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "161161:1",
          "151227:1",
          "151227:2",
          "151430:1"
        ],
        "visual_cues": [
          "wrap ballet top",
          "wrap top",
          "v-neck long sleeve",
          "cream wrap top"
        ]
      },
      {
        "candidate_name": "Sea Shell Embellished Vacationwear",
        "trend_type": "accessory",
        "visual_axis": "accessory",
        "historical_relationship": "net_new",
        "seed_media_count": 5,
        "seed_media_refs": [
          "149842:1",
          "149842:2",
          "149842:3",
          "149706:1",
          "150044:6"
        ],
        "visual_cues": [
          "shell embellishment",
          "beaded waist chain",
          "sea shell jewelry",
          "shell beauty",
          "shell statement necklace"
        ]
      },
      {
        "candidate_name": "All-Black Athletic Bodysuit & Rompers",
        "trend_type": "activewear",
        "visual_axis": "silhouette",
        "historical_relationship": "sustained",
        "seed_media_count": 3,
        "seed_media_refs": [
          "150802:1",
          "151308:1",
          "151265:1"
        ],
        "visual_cues": [
          "cutout bodysuit",
          "black athletic romper",
          "black sports bra",
          "full length leggings"
        ]
      }
    ],
    "ai_candidate_trend_count": 6,
    "ai_validated_trend_count_before_filter": 6,
    "accepted_trend_count": 4,
    "rejected_trend_count": 2,
    "rejected_trends": [
      {
        "trend_name": "Coquette Pink Desk & Locker Aesthetic",
        "confidence_score": 0.9,
        "valid_matching_image_count": 3,
        "matching_parent_post_count": 2,
        "matching_author_count": 1,
        "invalid_or_out_of_scope_media_refs": [],
        "unparseable_media_refs": [],
        "excluded_same_post_media_refs": [
          "149766:6"
        ],
        "reasons": [
          "Only 3 valid matching images; minimum is 4.",
          "Images came from only 2 parent posts; minimum is 3."
        ]
      },
      {
        "trend_name": "Satin Bikini & Lingerie Beachwear Hybrid",
        "confidence_score": 0.94,
        "valid_matching_image_count": 2,
        "matching_parent_post_count": 1,
        "matching_author_count": 1,
        "invalid_or_out_of_scope_media_refs": [],
        "unparseable_media_refs": [],
        "excluded_same_post_media_refs": [
          "149796:6",
          "149796:7",
          "149796:9"
        ],
        "reasons": [
          "Only 2 valid matching images; minimum is 4.",
          "Images came from only 1 parent posts; minimum is 3."
        ]
      }
    ]
  },
  "accepted_trend_audit": [
    {
      "trend_number": 1,
      "trend_name": "Espresso & Chocolate Brown Matching Sets",
      "blog_title": "Espresso Is the New Black: Dark Brown Activewear Takes Over",
      "trend_type": "color",
      "signal_strength": "strong",
      "confidence_percent": 95.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "Consistency in deep brown monocolor styling, matte performance fabrics, and active studio or mirror-selfie photography framing.",
      "description": "Rich espresso and deep chocolate brown ensembles, stretching from high-waisted leggings and halter sports bras to matching performance zip-ups.",
      "keywords": [
        "espresso activewear",
        "chocolate brown set",
        "monochromatic gym wear",
        "brown leggings"
      ],
      "post_ids": [
        151112,
        151643,
        150864,
        151342,
        151064,
        150712
      ],
      "media_refs": [
        "151112:1",
        "151643:1",
        "150864:1",
        "151342:1",
        "151064:1",
        "150712:1"
      ],
      "qualification_reason": "Accepted with 6 matching images across 6 parent posts at 95.0% confidence. Consistency in deep brown monocolor styling, matte performance fabrics, and active studio or mirror-selfie photography framing."
    },
    {
      "trend_number": 2,
      "trend_name": "White Summer Eyelet & Picnic Cottagecore",
      "blog_title": "The New Romance: White Summer Eyelet & Picnic Cottagecore",
      "trend_type": "texture",
      "signal_strength": "strong",
      "confidence_percent": 92.0,
      "matching_image_count": 5,
      "matching_parent_post_count": 3,
      "visual_similarity_reason": "Repeated use of white openwork eyelet, embroidered cotton fabrics, and romantic, structured ruffles styled in relaxed outdoor or garden settings.",
      "description": "Romantic garments in white or off-white featuring openwork embroidery, eyelet lace panelling, and soft cotton ruffled trims designed for sun-drenched afternoons.",
      "keywords": [
        "white eyelet dress",
        "cottagecore summer style",
        "eyelet lace",
        "boho resort wear"
      ],
      "post_ids": [
        150696,
        149674,
        149837
      ],
      "media_refs": [
        "150696:1",
        "149674:1",
        "149674:2",
        "149837:1",
        "149837:3"
      ],
      "qualification_reason": "Accepted with 5 matching images across 3 parent posts at 92.0% confidence. Repeated use of white openwork eyelet, embroidered cotton fabrics, and romantic, structured ruffles styled in relaxed outdoor or garden settings."
    },
    {
      "trend_number": 3,
      "trend_name": "Sea Shell Embellished Vacationwear",
      "blog_title": "Coastal Charms: Sea Shell Embellished Resortwear",
      "trend_type": "accessory",
      "signal_strength": "medium",
      "confidence_percent": 88.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 3,
      "visual_similarity_reason": "Visible seaside styling keys focusing on physical shell brooches, chunky shell necklaces, or metallic belly chains carrying heavy shell pendants.",
      "description": "Resort coordinate sets, statement necklaces, and bikinis incorporating physically integrated cowrie and structured white shells.",
      "keywords": [
        "shell jewelry",
        "sea shell bikini",
        "boho beach aesthetic",
        "resort details"
      ],
      "post_ids": [
        149842,
        149706,
        150044
      ],
      "media_refs": [
        "149842:1",
        "149842:2",
        "149706:1",
        "150044:6"
      ],
      "qualification_reason": "Accepted with 4 matching images across 3 parent posts at 88.0% confidence. Visible seaside styling keys focusing on physical shell brooches, chunky shell necklaces, or metallic belly chains carrying heavy shell pendants."
    },
    {
      "trend_number": 4,
      "trend_name": "Contrast Piping & Trim Activewear",
      "blog_title": "Contrast Is Key: Retro Piping on Activewear Sets",
      "trend_type": "styling_formula",
      "signal_strength": "medium",
      "confidence_percent": 85.0,
      "matching_image_count": 5,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "Visual alignment of high-contrast linear piping outlines (chiefly white lines on dark bases or retro red lines) defining the waist, collar, or bust seams.",
      "description": "Form-fitting activewear sets, rompers, and sports bras defined by stark, contrast-color thin piping outlines along structural seams.",
      "keywords": [
        "contrast piping",
        "piping activewear set",
        "retro gym look",
        "white trim"
      ],
      "post_ids": [
        151366,
        151442,
        151355,
        151342
      ],
      "media_refs": [
        "151366:1",
        "151366:2",
        "151442:1",
        "151355:1",
        "151342:1"
      ],
      "qualification_reason": "Accepted with 5 matching images across 4 parent posts at 85.0% confidence. Visual alignment of high-contrast linear piping outlines (chiefly white lines on dark bases or retro red lines) defining the waist, collar, or bust seams."
    }
  ],
  "report_payload": {
    "reasoning_scratchpad": "We have validated and expanded the candidate clusters by cross-referencing visual cues like raw textures, specific color matching, and design details across the raw Instagram posts. Trends like Espresso & Chocolate Brown sets, White Summer Eyelet, and Satin Lingerie-Swim hybrids show strong multi-author presence, confirming their active status as dominant or emerging seasonal directions.",
    "content_ideas": [
      {
        "blog_title": "Espresso Is the New Black: Dark Brown Activewear Takes Over",
        "trend_name": "Espresso & Chocolate Brown Matching Sets",
        "trend_type": "color",
        "trend_trajectory": "net_new",
        "historical_note": "This is a net-new color trend characterized by deep, rich chocolate tones replacing classic black in athletic wear.",
        "description": "Rich espresso and deep chocolate brown ensembles, stretching from high-waisted leggings and halter sports bras to matching performance zip-ups.",
        "visual_similarity_reason": "Consistency in deep brown monocolor styling, matte performance fabrics, and active studio or mirror-selfie photography framing.",
        "instagram_caption": "Officially swapping our basic blacks for rich espresso \u2615\ufe0f\ud83e\udd0e Grounded, sleek, and perfect from pilates to post-class coffee runs. Tap to shop our favorite chocolate sets.",
        "trend_signal_strength": "strong",
        "confidence_score": 0.95,
        "keywords": [
          "espresso activewear",
          "chocolate brown set",
          "monochromatic gym wear",
          "brown leggings"
        ],
        "example_media_refs": [
          "151112:1",
          "151643:1",
          "150864:1",
          "151342:1",
          "151064:1",
          "150712:1"
        ],
        "example_post_ids": [
          151112,
          151643,
          150864,
          151342,
          151064,
          150712
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 6,
        "matching_author_count": 6
      },
      {
        "blog_title": "The New Romance: White Summer Eyelet & Picnic Cottagecore",
        "trend_name": "White Summer Eyelet & Picnic Cottagecore",
        "trend_type": "texture",
        "trend_trajectory": "net_new",
        "historical_note": "A net-new texture trend centered on nostalgic, sun-drenched, openwork embroidery for resort styling.",
        "description": "Romantic garments in white or off-white featuring openwork embroidery, eyelet lace panelling, and soft cotton ruffled trims designed for sun-drenched afternoons.",
        "visual_similarity_reason": "Repeated use of white openwork eyelet, embroidered cotton fabrics, and romantic, structured ruffles styled in relaxed outdoor or garden settings.",
        "instagram_caption": "Leaning into lazy garden afternoons and sun-drenched picnics in romantic white eyelets \ud83d\udd4a\ufe0f\u2728 The ultimate summer daily uniform has officially arrived. Dress it up or dial it down.",
        "trend_signal_strength": "strong",
        "confidence_score": 0.92,
        "keywords": [
          "white eyelet dress",
          "cottagecore summer style",
          "eyelet lace",
          "boho resort wear"
        ],
        "example_media_refs": [
          "150696:1",
          "149674:1",
          "149674:2",
          "149837:1",
          "149837:3"
        ],
        "example_post_ids": [
          150696,
          149674,
          149837
        ],
        "matching_image_count": 5,
        "matching_parent_post_count": 3,
        "matching_author_count": 3
      },
      {
        "blog_title": "Coastal Charms: Sea Shell Embellished Resortwear",
        "trend_name": "Sea Shell Embellished Vacationwear",
        "trend_type": "accessory",
        "trend_trajectory": "net_new",
        "historical_note": "A net-new detail-driven trend where natural elements serve as physical garment fasteners and hardware.",
        "description": "Resort coordinate sets, statement necklaces, and bikinis incorporating physically integrated cowrie and structured white shells.",
        "visual_similarity_reason": "Visible seaside styling keys focusing on physical shell brooches, chunky shell necklaces, or metallic belly chains carrying heavy shell pendants.",
        "instagram_caption": "Salty hair, sunlit skin, and sea shells as jewelry \ud83d\udc1a Bring the ocean directly into your summer wardrobe with raw textures and organic charms.",
        "trend_signal_strength": "medium",
        "confidence_score": 0.88,
        "keywords": [
          "shell jewelry",
          "sea shell bikini",
          "boho beach aesthetic",
          "resort details"
        ],
        "example_media_refs": [
          "149842:1",
          "149842:2",
          "149706:1",
          "150044:6"
        ],
        "example_post_ids": [
          149842,
          149706,
          150044
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 3,
        "matching_author_count": 3
      },
      {
        "blog_title": "Contrast Is Key: Retro Piping on Activewear Sets",
        "trend_name": "Contrast Piping & Trim Activewear",
        "trend_type": "styling_formula",
        "trend_trajectory": "net_new",
        "historical_note": "This is an emerging net-new styling detail bringing graphic interest to monochromatic performance fabrics.",
        "description": "Form-fitting activewear sets, rompers, and sports bras defined by stark, contrast-color thin piping outlines along structural seams.",
        "visual_similarity_reason": "Visual alignment of high-contrast linear piping outlines (chiefly white lines on dark bases or retro red lines) defining the waist, collar, or bust seams.",
        "instagram_caption": "It\u2019s all in the outlines \u26a1\ufe0f Loving the graphic touch of high-contrast piping on our go-to workout rompers and sets. Retro feel, modern fit.",
        "trend_signal_strength": "medium",
        "confidence_score": 0.85,
        "keywords": [
          "contrast piping",
          "piping activewear set",
          "retro gym look",
          "white trim"
        ],
        "example_media_refs": [
          "151366:1",
          "151366:2",
          "151442:1",
          "151355:1",
          "151342:1"
        ],
        "example_post_ids": [
          151366,
          151442,
          151355,
          151342
        ],
        "matching_image_count": 5,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      }
    ],
    "overview_title": "Latest Trends",
    "overview_description": "This week, resort aesthetics and refined activewear share the spotlight as fashion shifts toward rich textures and graphic contrasts. We are seeing a distinct transition from gym to getaway, marked by @aoxjox and @sorraathleisure\u2019s monochromatic espresso matching sets alongside @411official\u2019s sharp, contrast-piped activewear silhouettes. Meanwhile, summer romance is defined by @forloveandlemons\u2019 delicate, picnic-ready white eyelet lace and @capittana\u2019s tactile, sea-shell-embellished vacationwear designed for sun-drenched afternoons.",
    "generation_diagnostics": {
      "available": true,
      "generated_at": "2026-07-14T21:41:47.360485Z",
      "tag": "All",
      "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-30T21:32:03.501534Z",
        "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": 12,
        "chunk_count": 18,
        "max_posts_per_chunk": 200,
        "max_media_per_chunk": 500,
        "chunk_post_count": 200,
        "chunk_media_count": 352,
        "full_source_post_count": 6642,
        "full_eligible_post_count": 3446,
        "full_source_media_count": 5401
      },
      "criteria": {
        "time_window_days": 14,
        "window_start": "2026-06-30T21:32:03.501534Z",
        "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": 6642,
      "source_media_count": 5401,
      "eligible_post_count": 3446,
      "chunk_post_count": 200,
      "chunk_media_count": 352,
      "analyzed_post_count": 200,
      "analyzed_post_ids": [
        151112,
        151113,
        149704,
        150902,
        151567,
        151568,
        161320,
        149974,
        150687,
        151138,
        150903,
        150715,
        150696,
        149781,
        151046,
        160594,
        151114,
        161267,
        161545,
        150864,
        160011,
        151025,
        149920,
        150728,
        150035,
        149764,
        160690,
        149930,
        150012,
        160903,
        150785,
        151643,
        151554,
        151225,
        150744,
        161724,
        160728,
        149734,
        160188,
        151142,
        149796,
        149842,
        149830,
        151411,
        150832,
        150841,
        161446,
        150857,
        150697,
        149674,
        161181,
        161275,
        150917,
        149905,
        149706,
        151636,
        149928,
        151055,
        149921,
        150743,
        149897,
        150036,
        149988,
        150932,
        149779,
        160402,
        151287,
        149873,
        160314,
        151374,
        149837,
        161617,
        161208,
        149969,
        149878,
        149993,
        149808,
        150745,
        150821,
        149798,
        151218,
        150937,
        150044,
        151625,
        161349,
        150886,
        150908,
        151163,
        149720,
        161418,
        160673,
        150943,
        149864,
        161436,
        149913,
        149997,
        149787,
        158474,
        150960,
        149850,
        149922,
        150040,
        150759,
        160683,
        151245,
        161117,
        151582,
        150976,
        149960,
        150802,
        149953,
        151472,
        161305,
        151516,
        149765,
        160999,
        151366,
        151308,
        149766,
        160382,
        161037,
        149923,
        151605,
        161706,
        160508,
        150014,
        151392,
        149767,
        149851,
        150808,
        160635,
        151385,
        151336,
        150966,
        149768,
        151157,
        149957,
        151506,
        151427,
        151039,
        151342,
        151438,
        150711,
        151239,
        150951,
        151082,
        150029,
        151350,
        151026,
        151227,
        150913,
        150811,
        149903,
        149924,
        150862,
        151526,
        149740,
        151355,
        149979,
        149760,
        150987,
        151459,
        151064,
        161161,
        151399,
        151190,
        149895,
        149743,
        151087,
        150739,
        149761,
        149852,
        150751,
        150712,
        151442,
        149888,
        151448,
        151001,
        151389,
        151002,
        151583,
        151097,
        151578,
        150713,
        149744,
        149961,
        149980,
        149853,
        151262,
        151317,
        151265,
        151276,
        149925,
        151194,
        151430,
        151008,
        151092,
        151536,
        149854,
        149827
      ],
      "analyzed_media_count": 352,
      "analyzed_media_refs": [
        "151112:1",
        "151113:1",
        "149704:1",
        "150902:1",
        "151567:1",
        "151568:1",
        "161320:1",
        "161320:2",
        "161320:3",
        "149974:1",
        "149974:2",
        "149974:3",
        "149974:4",
        "149974:5",
        "149974:6",
        "149974:7",
        "149974:8",
        "150687:1",
        "151138:1",
        "150903:1",
        "150903:2",
        "150903:3",
        "150903:4",
        "150903:5",
        "150903:6",
        "150903:7",
        "150903:8",
        "150903:9",
        "150903:10",
        "150715:1",
        "150696:1",
        "149781:1",
        "151046:1",
        "160594:1",
        "151114:1",
        "161267:1",
        "161545:1",
        "150864:1",
        "160011:1",
        "151025:1",
        "149920:1",
        "150728:1",
        "150035:1",
        "149764:1",
        "160690:1",
        "149930:1",
        "150012:1",
        "160903:1",
        "150785:1",
        "151643:1",
        "151554:1",
        "151225:1",
        "151225:2",
        "151225:3",
        "151225:5",
        "150744:1",
        "161724:1",
        "160728:1",
        "149734:1",
        "160188:1",
        "151142:1",
        "149796:1",
        "149796:2",
        "149796:3",
        "149796:4",
        "149796:5",
        "149796:6",
        "149796:7",
        "149796:8",
        "149796:9",
        "149842:1",
        "149842:2",
        "149842:3",
        "149830:1",
        "149830:2",
        "151411:1",
        "150832:1",
        "150841:1",
        "161446:1",
        "150857:1",
        "150857:2",
        "150857:3",
        "150857:4",
        "150857:5",
        "150857:6",
        "150857:7",
        "150857:8",
        "150857:9",
        "150857:10",
        "150697:1",
        "149674:1",
        "149674:2",
        "149674:3",
        "149674:4",
        "161181:1",
        "161275:1",
        "150917:1",
        "150917:2",
        "150917:3",
        "150917:4",
        "150917:5",
        "149905:1",
        "149706:1",
        "151636:1",
        "149928:1",
        "149928:2",
        "149928:3",
        "151055:1",
        "149921:1",
        "150743:1",
        "149897:1",
        "149897:2",
        "149897:3",
        "149897:4",
        "150036:1",
        "149988:1",
        "149988:2",
        "149988:3",
        "149988:4",
        "149988:5",
        "149988:6",
        "149988:7",
        "150932:1",
        "149779:1",
        "160402:1",
        "151287:1",
        "149873:1",
        "160314:1",
        "151374:1",
        "151374:2",
        "151374:3",
        "149837:1",
        "149837:3",
        "149837:4",
        "149837:7",
        "161617:1",
        "161208:1",
        "149969:1",
        "149878:1",
        "149993:1",
        "149993:2",
        "149993:3",
        "149993:4",
        "149993:5",
        "149993:6",
        "149808:1",
        "150745:1",
        "150821:1",
        "149798:1",
        "151218:1",
        "150937:1",
        "150044:1",
        "150044:2",
        "150044:3",
        "150044:4",
        "150044:5",
        "150044:6",
        "150044:7",
        "151625:1",
        "151625:2",
        "161349:1",
        "150886:1",
        "150908:1",
        "151163:1",
        "149720:1",
        "149720:2",
        "149720:3",
        "161418:1",
        "160673:1",
        "150943:1",
        "149864:1",
        "161436:1",
        "149913:1",
        "149997:1",
        "149997:2",
        "149997:3",
        "149997:4",
        "149787:1",
        "149787:2",
        "158474:1",
        "150960:1",
        "150960:2",
        "149850:1",
        "149922:1",
        "150040:1",
        "150759:1",
        "160683:1",
        "151245:1",
        "151245:2",
        "161117:1",
        "151582:1",
        "150976:1",
        "149960:1",
        "150802:1",
        "149953:1",
        "151472:1",
        "161305:1",
        "151516:1",
        "151516:2",
        "151516:3",
        "149765:1",
        "149765:2",
        "149765:3",
        "149765:5",
        "149765:6",
        "149765:7",
        "149765:9",
        "149765:10",
        "160999:1",
        "151366:1",
        "151366:2",
        "151308:1",
        "149766:2",
        "149766:3",
        "149766:4",
        "149766:5",
        "149766:6",
        "149766:7",
        "160382:1",
        "160382:2",
        "161037:1",
        "149923:1",
        "151605:1",
        "161706:1",
        "160508:1",
        "160508:2",
        "150014:1",
        "151392:1",
        "151392:2",
        "149767:1",
        "149851:1",
        "150808:1",
        "150808:2",
        "150808:3",
        "150808:4",
        "160635:1",
        "151385:1",
        "151336:1",
        "150966:1",
        "149768:1",
        "151157:1",
        "149957:1",
        "149957:2",
        "151506:1",
        "151427:1",
        "151039:1",
        "151342:1",
        "151438:1",
        "150711:1",
        "151239:1",
        "150951:1",
        "151082:1",
        "150029:1",
        "151350:1",
        "151026:1",
        "151227:1",
        "151227:2",
        "150913:1",
        "150811:1",
        "149903:1",
        "149903:2",
        "149903:3",
        "149903:4",
        "149903:5",
        "149903:6",
        "149903:7",
        "149903:8",
        "149903:9",
        "149903:10",
        "149924:1",
        "150862:1",
        "150862:2",
        "150862:3",
        "150862:4",
        "150862:5",
        "150862:6",
        "151526:1",
        "149740:1",
        "149740:2",
        "151355:1",
        "149979:1",
        "149979:3",
        "149979:5",
        "149760:1",
        "149760:2",
        "149760:3",
        "149760:4",
        "149760:5",
        "149760:6",
        "150987:1",
        "151459:1",
        "151459:2",
        "151459:3",
        "151459:4",
        "151064:1",
        "161161:1",
        "151399:1",
        "151190:1",
        "149895:1",
        "149895:2",
        "149895:3",
        "149743:1",
        "151087:1",
        "150739:1",
        "149761:1",
        "149852:1",
        "150751:1",
        "150712:1",
        "151442:1",
        "149888:1",
        "151448:1",
        "151001:1",
        "151389:1",
        "151002:1",
        "151583:1",
        "151097:1",
        "151578:1",
        "151578:2",
        "151578:3",
        "151578:4",
        "151578:5",
        "151578:6",
        "151578:7",
        "151578:8",
        "151578:9",
        "151578:10",
        "150713:1",
        "149744:1",
        "149744:2",
        "149744:3",
        "149744:4",
        "149961:1",
        "149980:1",
        "149853:1",
        "151262:1",
        "151317:1",
        "151265:1",
        "151276:1",
        "149925:1",
        "151194:1",
        "151194:2",
        "151194:3",
        "151194:4",
        "151430:1",
        "151008:1",
        "151008:2",
        "151008:3",
        "151092:1",
        "151536:1",
        "151536:2",
        "149854:1",
        "149827:1"
      ],
      "full_source_prompt_character_count": 174071,
      "source_prompt_character_count": 174071,
      "prompt_character_count": 174071,
      "prompt_character_limit": 300000,
      "prompt_was_truncated": false,
      "candidate_prompt_character_count": 178230,
      "validation_prompt_character_count": 185634,
      "candidate_reasoning_scratchpad": "We are observing a massive convergence of summer athleisure with hyper-specific styling formulas, particularly through chocolate/espresso matching sets and the incorporation of y2k outdoor accessories. Simultaneously, feminine resort wear is embracing romantic cottagecore textures including delicate white eyelet lace, crochet, and coquette-inspired pastel styling.",
      "validation_reasoning_scratchpad": "We have validated and expanded the candidate clusters by cross-referencing visual cues like raw textures, specific color matching, and design details across the raw Instagram posts. Trends like Espresso & Chocolate Brown sets, White Summer Eyelet, and Satin Lingerie-Swim hybrids show strong multi-author presence, confirming their active status as dominant or emerging seasonal directions.",
      "ai_discovered_candidate_count": 10,
      "candidate_trends": [
        {
          "candidate_name": "Espresso & Chocolate Brown Matching Sets",
          "trend_type": "color",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 6,
          "seed_media_refs": [
            "151112:1",
            "151643:1",
            "150864:1",
            "151342:1",
            "150712:1",
            "151064:1"
          ],
          "visual_cues": [
            "chocolate brown activewear",
            "espresso brown matching set",
            "dark brown activewear",
            "seamless brown fabric"
          ]
        },
        {
          "candidate_name": "Boho Crochet & Lace Headscarves",
          "trend_type": "accessory",
          "visual_axis": "accessory",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "149974:7",
            "149974:8",
            "161275:1",
            "160635:1"
          ],
          "visual_cues": [
            "lace headscarf",
            "boho hair accessory",
            "white eyelet bandana",
            "triangular headscarf"
          ]
        },
        {
          "candidate_name": "White Summer Eyelet & Picnic Cottagecore",
          "trend_type": "outfit",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 7,
          "seed_media_refs": [
            "150696:1",
            "149674:1",
            "149674:2",
            "149674:3",
            "149674:4",
            "149837:1",
            "149837:3"
          ],
          "visual_cues": [
            "white eyelet set",
            "white eyelet mini dress",
            "eyelet fabric",
            "eyelet trim",
            "white eyelet shorts"
          ]
        },
        {
          "candidate_name": "Coquette Pink & Stationery Flat Lays",
          "trend_type": "other",
          "visual_axis": "mood",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "149765:3",
            "149766:3",
            "149766:5",
            "149766:6"
          ],
          "visual_cues": [
            "pink monochromatic palette",
            "coquette aesthetic",
            "floral print stationery",
            "girly desk accessories"
          ]
        },
        {
          "candidate_name": "Contrast Piping & Trim Activewear",
          "trend_type": "activewear",
          "visual_axis": "styling_formula",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "151366:1",
            "151366:2",
            "151442:1",
            "151355:1",
            "151342:1"
          ],
          "visual_cues": [
            "white piping detail",
            "white contrast piping",
            "contrasting piping",
            "contrast trim set"
          ]
        },
        {
          "candidate_name": "Gorpcore & Trail Sneakers in Athleisure",
          "trend_type": "accessory",
          "visual_axis": "accessory",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "150917:3",
            "150917:4",
            "150917:5"
          ],
          "visual_cues": [
            "Salomon trail running shoes",
            "gorpcore aesthetic",
            "trail running shoes",
            "crew socks"
          ]
        },
        {
          "candidate_name": "Satin Bikini & Lingerie Beachwear Hybrid",
          "trend_type": "swimwear",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "149796:1",
            "149796:3",
            "149796:6",
            "149796:7",
            "149796:9"
          ],
          "visual_cues": [
            "satin bikini set",
            "satin fabric",
            "thong bikini bottom",
            "lingerie-inspired"
          ]
        },
        {
          "candidate_name": "Wrap Ballet Tops",
          "trend_type": "activewear",
          "visual_axis": "silhouette",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "161161:1",
            "151227:1",
            "151227:2",
            "151430:1"
          ],
          "visual_cues": [
            "wrap ballet top",
            "wrap top",
            "v-neck long sleeve",
            "cream wrap top"
          ]
        },
        {
          "candidate_name": "Sea Shell Embellished Vacationwear",
          "trend_type": "accessory",
          "visual_axis": "accessory",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "149842:1",
            "149842:2",
            "149842:3",
            "149706:1",
            "150044:6"
          ],
          "visual_cues": [
            "shell embellishment",
            "beaded waist chain",
            "sea shell jewelry",
            "shell beauty",
            "shell statement necklace"
          ]
        },
        {
          "candidate_name": "All-Black Athletic Bodysuit & Rompers",
          "trend_type": "activewear",
          "visual_axis": "silhouette",
          "historical_relationship": "sustained",
          "seed_media_count": 3,
          "seed_media_refs": [
            "150802:1",
            "151308:1",
            "151265:1"
          ],
          "visual_cues": [
            "cutout bodysuit",
            "black athletic romper",
            "black sports bra",
            "full length leggings"
          ]
        }
      ],
      "ai_candidate_trend_count": 6,
      "ai_validated_trend_count_before_filter": 6,
      "accepted_trend_count": 4,
      "rejected_trend_count": 2,
      "rejected_trends": [
        {
          "trend_name": "Coquette Pink Desk & Locker Aesthetic",
          "confidence_score": 0.9,
          "valid_matching_image_count": 3,
          "matching_parent_post_count": 2,
          "matching_author_count": 1,
          "invalid_or_out_of_scope_media_refs": [],
          "unparseable_media_refs": [],
          "excluded_same_post_media_refs": [
            "149766:6"
          ],
          "reasons": [
            "Only 3 valid matching images; minimum is 4.",
            "Images came from only 2 parent posts; minimum is 3."
          ]
        },
        {
          "trend_name": "Satin Bikini & Lingerie Beachwear Hybrid",
          "confidence_score": 0.94,
          "valid_matching_image_count": 2,
          "matching_parent_post_count": 1,
          "matching_author_count": 1,
          "invalid_or_out_of_scope_media_refs": [],
          "unparseable_media_refs": [],
          "excluded_same_post_media_refs": [
            "149796:6",
            "149796:7",
            "149796:9"
          ],
          "reasons": [
            "Only 2 valid matching images; minimum is 4.",
            "Images came from only 1 parent posts; minimum is 3."
          ]
        }
      ]
    }
  }
}