{
  "report": {
    "id": 109,
    "period": "[All] Jun 30 - Jul 14, 2026 (Part 11 of 18)",
    "created_at": "2026-07-14T21:40:14.450716+00:00",
    "workflow_note": ""
  },
  "generation_diagnostics": {
    "available": true,
    "generated_at": "2026-07-14T21:41:02.318028Z",
    "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": 11,
      "chunk_count": 18,
      "max_posts_per_chunk": 200,
      "max_media_per_chunk": 500,
      "chunk_post_count": 200,
      "chunk_media_count": 357,
      "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": 357,
    "analyzed_post_count": 200,
    "analyzed_post_ids": [
      158334,
      161586,
      155387,
      155344,
      160869,
      155536,
      161252,
      158389,
      151325,
      155386,
      160569,
      151327,
      150982,
      160064,
      155354,
      151611,
      151109,
      155287,
      160672,
      151580,
      158473,
      151016,
      150790,
      151378,
      161158,
      155272,
      155512,
      151306,
      155308,
      151402,
      151110,
      161522,
      151199,
      155351,
      155416,
      150934,
      151250,
      160456,
      150826,
      151349,
      155296,
      150800,
      151469,
      155453,
      151514,
      161304,
      151078,
      160751,
      151603,
      160609,
      155341,
      151244,
      151160,
      161012,
      161036,
      151307,
      161013,
      151202,
      149833,
      151326,
      149845,
      150972,
      151403,
      151359,
      151561,
      160936,
      151473,
      161108,
      149840,
      151491,
      151598,
      150833,
      150965,
      161291,
      151207,
      151022,
      151230,
      151397,
      160758,
      151332,
      151304,
      149841,
      151517,
      151034,
      151148,
      150027,
      149977,
      151233,
      150810,
      149759,
      149789,
      150954,
      149956,
      150912,
      151081,
      151437,
      150798,
      151370,
      151404,
      149916,
      149739,
      149973,
      151354,
      151086,
      150929,
      150846,
      151365,
      151033,
      151504,
      151458,
      151238,
      149958,
      151188,
      151335,
      151340,
      150850,
      150049,
      150986,
      149846,
      150998,
      151073,
      151172,
      150999,
      151000,
      149887,
      151023,
      151294,
      151511,
      151581,
      150710,
      151315,
      149917,
      149847,
      151465,
      149776,
      160989,
      151652,
      151275,
      151316,
      149935,
      150920,
      151515,
      151405,
      151398,
      150942,
      151091,
      149918,
      151429,
      151261,
      160777,
      151481,
      149848,
      149826,
      151479,
      158390,
      149857,
      151024,
      151432,
      150763,
      151007,
      151051,
      151217,
      161806,
      150771,
      150009,
      151487,
      150975,
      151288,
      149959,
      149868,
      150734,
      151604,
      151156,
      160187,
      151179,
      149952,
      151096,
      151111,
      150758,
      150050,
      161230,
      150801,
      149919,
      149978,
      149849,
      150057,
      150896,
      151189,
      150695,
      151341,
      151620,
      149748,
      149797,
      150028,
      149682,
      158220,
      149756,
      150686,
      151592,
      149987
    ],
    "analyzed_media_count": 357,
    "analyzed_media_refs": [
      "158334:1",
      "161586:1",
      "155387:1",
      "155387:2",
      "155387:3",
      "155344:1",
      "155344:2",
      "160869:1",
      "155536:1",
      "161252:1",
      "158389:1",
      "151325:1",
      "151325:2",
      "151325:3",
      "151325:4",
      "151325:5",
      "155386:1",
      "155386:2",
      "155386:3",
      "155386:4",
      "155386:5",
      "155386:6",
      "160569:1",
      "151327:1",
      "150982:1",
      "160064:1",
      "155354:1",
      "151611:1",
      "151109:1",
      "155287:1",
      "155287:2",
      "160672:1",
      "151580:1",
      "158473:1",
      "151016:1",
      "150790:1",
      "151378:1",
      "151378:2",
      "151378:3",
      "151378:4",
      "151378:5",
      "151378:6",
      "151378:7",
      "151378:8",
      "161158:1",
      "155272:1",
      "155512:1",
      "155512:2",
      "155512:3",
      "155512:4",
      "155512:5",
      "151306:1",
      "155308:1",
      "155308:2",
      "151402:1",
      "151110:1",
      "161522:1",
      "151199:1",
      "155351:1",
      "155351:2",
      "155416:1",
      "155416:2",
      "155416:3",
      "155416:4",
      "155416:5",
      "150934:1",
      "151250:1",
      "151250:2",
      "151250:3",
      "151250:4",
      "151250:5",
      "160456:1",
      "150826:1",
      "151349:1",
      "155296:1",
      "150800:1",
      "151469:1",
      "155453:1",
      "151514:1",
      "161304:1",
      "151078:1",
      "151078:2",
      "151078:3",
      "151078:4",
      "151078:5",
      "151078:6",
      "151078:7",
      "151078:8",
      "151078:9",
      "151078:10",
      "160751:1",
      "151603:1",
      "160609:1",
      "155341:1",
      "155341:2",
      "155341:3",
      "155341:4",
      "155341:5",
      "155341:6",
      "155341:7",
      "155341:8",
      "155341:9",
      "151244:1",
      "151160:1",
      "161012:1",
      "161036:1",
      "151307:1",
      "161013:1",
      "151202:1",
      "149833:1",
      "149833:2",
      "149833:3",
      "149833:4",
      "149833:5",
      "151326:1",
      "149845:1",
      "150972:1",
      "151403:1",
      "151359:1",
      "151561:1",
      "160936:1",
      "160936:2",
      "160936:3",
      "160936:4",
      "160936:5",
      "160936:6",
      "151473:1",
      "161108:1",
      "149840:1",
      "149840:2",
      "151491:1",
      "151491:2",
      "151598:1",
      "150833:1",
      "150965:1",
      "161291:1",
      "151207:1",
      "151207:2",
      "151207:3",
      "151207:4",
      "151022:1",
      "151230:1",
      "151397:1",
      "160758:1",
      "151332:1",
      "151304:1",
      "149841:1",
      "149841:2",
      "151517:1",
      "151517:2",
      "151517:3",
      "151517:4",
      "151517:5",
      "151517:6",
      "151517:7",
      "151517:8",
      "151034:1",
      "151148:1",
      "150027:1",
      "149977:1",
      "149977:2",
      "149977:3",
      "149977:4",
      "149977:5",
      "151233:1",
      "151233:2",
      "151233:3",
      "151233:4",
      "150810:1",
      "150810:2",
      "150810:3",
      "149759:1",
      "149789:1",
      "150954:1",
      "149956:1",
      "150912:1",
      "151081:1",
      "151437:1",
      "150798:1",
      "150798:2",
      "150798:3",
      "150798:4",
      "150798:5",
      "151370:1",
      "151404:1",
      "149916:1",
      "149739:1",
      "149739:2",
      "149739:3",
      "149739:4",
      "149739:5",
      "149739:6",
      "149739:7",
      "149973:1",
      "149973:2",
      "149973:3",
      "149973:4",
      "149973:5",
      "151354:1",
      "151086:1",
      "150929:1",
      "150846:1",
      "151365:1",
      "151365:2",
      "151365:3",
      "151365:4",
      "151033:1",
      "151033:2",
      "151504:1",
      "151458:1",
      "151238:1",
      "149958:1",
      "151188:1",
      "151188:2",
      "151188:3",
      "151188:4",
      "151335:1",
      "151340:1",
      "150850:1",
      "150049:1",
      "150049:2",
      "150049:3",
      "150049:4",
      "150049:5",
      "150986:1",
      "149846:2",
      "149846:3",
      "149846:4",
      "150998:1",
      "151073:1",
      "151172:1",
      "150999:1",
      "151000:1",
      "149887:1",
      "149887:2",
      "149887:3",
      "151023:1",
      "151294:1",
      "151511:1",
      "151581:1",
      "150710:1",
      "151315:1",
      "151315:2",
      "149917:1",
      "149917:2",
      "149917:3",
      "149917:4",
      "149917:5",
      "149917:6",
      "149917:7",
      "149847:1",
      "149847:2",
      "149847:3",
      "149847:4",
      "149847:5",
      "149847:6",
      "151465:1",
      "151465:2",
      "149776:1",
      "160989:1",
      "151652:1",
      "151275:1",
      "151316:1",
      "149935:1",
      "150920:1",
      "151515:1",
      "151405:1",
      "151398:1",
      "150942:1",
      "151091:1",
      "149918:1",
      "151429:1",
      "151261:1",
      "160777:1",
      "151481:1",
      "149848:1",
      "149826:1",
      "149826:2",
      "149826:3",
      "149826:4",
      "149826:6",
      "151479:1",
      "158390:1",
      "149857:1",
      "151024:1",
      "151432:1",
      "151432:2",
      "151432:3",
      "151432:4",
      "151432:5",
      "151432:6",
      "150763:1",
      "151007:1",
      "151007:3",
      "151051:1",
      "151217:1",
      "161806:1",
      "150771:1",
      "150009:1",
      "150009:2",
      "150009:3",
      "151487:1",
      "150975:1",
      "151288:1",
      "149959:1",
      "149868:1",
      "149868:2",
      "150734:1",
      "151604:1",
      "151156:1",
      "160187:1",
      "151179:1",
      "149952:1",
      "151096:1",
      "151111:1",
      "150758:1",
      "150758:2",
      "150758:3",
      "150758:4",
      "150758:5",
      "150758:6",
      "150758:7",
      "150050:1",
      "161230:1",
      "150801:1",
      "150801:2",
      "150801:3",
      "150801:4",
      "149919:1",
      "149978:1",
      "149978:2",
      "149978:3",
      "149849:1",
      "150057:1",
      "150896:1",
      "151189:1",
      "150695:1",
      "151341:1",
      "151620:1",
      "149748:1",
      "149797:1",
      "149797:2",
      "149797:3",
      "149797:4",
      "150028:1",
      "149682:1",
      "149682:2",
      "149682:3",
      "149682:4",
      "149682:5",
      "158220:1",
      "149756:1",
      "149756:2",
      "150686:1",
      "150686:2",
      "151592:1",
      "149987:1"
    ],
    "full_source_prompt_character_count": 180249,
    "source_prompt_character_count": 180249,
    "prompt_character_count": 180249,
    "prompt_character_limit": 300000,
    "prompt_was_truncated": false,
    "candidate_prompt_character_count": 184408,
    "validation_prompt_character_count": 192566,
    "candidate_reasoning_scratchpad": "We are tracking a strong convergence of athletic elements with high-fashion and romantic aesthetics, driven by balletcore-inspired gym sets, matching coordinates, and resort-ready transitional garments. The neutral color spectrum is anchored in grounding chocolate and deep berry tones, offset by whimsical pastel pinks and blues. Meanwhile, textures like crochet, ribbed knits, and delicate contrast lining dominate both summer vacation and fitness-to-street styling.",
    "validation_reasoning_scratchpad": "We have validated several fresh athleisure, beach-resort, and color-focused trends emerging strongly over the last 14 days. Monochromatic styling, retro athletic piping, and chocolate-brown colorways are moving from activewear to everyday street-style coordinates. Balletcore elements and delicate textured crochets are also proving highly consistent transition styles.",
    "ai_discovered_candidate_count": 10,
    "candidate_trends": [
      {
        "candidate_name": "Contrast Piping and Trim Activewear",
        "trend_type": "styling_formula",
        "visual_axis": "styling_formula",
        "historical_relationship": "net_new",
        "seed_media_count": 11,
        "seed_media_refs": [
          "151325:1",
          "151325:2",
          "151325:3",
          "151325:4",
          "151325:5",
          "151517:4",
          "151517:6",
          "151233:1",
          "151233:4",
          "151437:1",
          "150896:1"
        ],
        "visual_cues": [
          "white contrast trim",
          "contrast piping detail",
          "two-tone activewear outline"
        ]
      },
      {
        "candidate_name": "Chocolate Brown Matching Sets",
        "trend_type": "color",
        "visual_axis": "color",
        "historical_relationship": "net_new",
        "seed_media_count": 10,
        "seed_media_refs": [
          "150846:1",
          "150763:1",
          "151479:1",
          "151238:1",
          "151511:1",
          "150758:1",
          "150758:2",
          "150758:4",
          "160936:2",
          "151370:1"
        ],
        "visual_cues": [
          "chocolate brown activewear",
          "dark brown matching set",
          "espresso knitwear"
        ]
      },
      {
        "candidate_name": "Flared Yoga Pants and Leggings",
        "trend_type": "outfit",
        "visual_axis": "silhouette",
        "historical_relationship": "net_new",
        "seed_media_count": 7,
        "seed_media_refs": [
          "151378:2",
          "151022:1",
          "151023:1",
          "151024:1",
          "151033:1",
          "151233:1",
          "151233:3"
        ],
        "visual_cues": [
          "flare leggings",
          "flared yoga pants",
          "sculpted flared silhouette"
        ]
      },
      {
        "candidate_name": "Balletcore Fitness and Lounge Dressing",
        "trend_type": "styling_formula",
        "visual_axis": "styling_formula",
        "historical_relationship": "net_new",
        "seed_media_count": 8,
        "seed_media_refs": [
          "151327:1",
          "150934:1",
          "151517:8",
          "151432:1",
          "151432:2",
          "151432:4",
          "151432:6",
          "150850:1"
        ],
        "visual_cues": [
          "ballet slippers",
          "leg warmers",
          "wrap ballet top",
          "mini ruffle skirt"
        ]
      },
      {
        "candidate_name": "Deep Burgundy and Berry Tones",
        "trend_type": "color",
        "visual_axis": "color",
        "historical_relationship": "net_new",
        "seed_media_count": 12,
        "seed_media_refs": [
          "151491:1",
          "151340:1",
          "150998:1",
          "150999:1",
          "151000:1",
          "151073:1",
          "151652:1",
          "150009:1",
          "150009:2",
          "150009:3",
          "155287:1",
          "155287:2"
        ],
        "visual_cues": [
          "burgundy activewear",
          "burgundy dress",
          "maroon polka dot skirt",
          "deep plum",
          "berry palette"
        ]
      },
      {
        "candidate_name": "Textured Crochet and Open-Knit Cover-Ups",
        "trend_type": "texture",
        "visual_axis": "texture",
        "historical_relationship": "net_new",
        "seed_media_count": 12,
        "seed_media_refs": [
          "155386:1",
          "155386:2",
          "155386:3",
          "155386:4",
          "155386:5",
          "155386:6",
          "149918:1",
          "149826:1",
          "149826:2",
          "149826:3",
          "149826:4",
          "149826:6"
        ],
        "visual_cues": [
          "crochet dress",
          "crochet top",
          "fringe hem detail",
          "open knit fabric"
        ]
      },
      {
        "candidate_name": "Dopamine-Dressed Rainbow and Multicolor Gemstones",
        "trend_type": "accessory",
        "visual_axis": "accessory",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "160064:1",
          "150790:1",
          "151603:1"
        ],
        "visual_cues": [
          "rainbow crystal necklace",
          "multi-colored gemstone bracelets",
          "vibrant gemstone colors",
          "multicolor gemstones"
        ]
      },
      {
        "candidate_name": "Pleated White Coordinate Sets",
        "trend_type": "outfit",
        "visual_axis": "silhouette",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "155387:1",
          "155387:2",
          "155387:3"
        ],
        "visual_cues": [
          "white pleated set",
          "crop top",
          "flared sleeve blouse",
          "ruffle hem mini skirt",
          "white co-ord set"
        ]
      },
      {
        "candidate_name": "Squeezable Beauty and Spf Tube Packaging",
        "trend_type": "beauty",
        "visual_axis": "beauty",
        "historical_relationship": "net_new",
        "seed_media_count": 3,
        "seed_media_refs": [
          "158334:1",
          "158389:1",
          "158473:1"
        ],
        "visual_cues": [
          "squeeze tube",
          "matte squeezable tube packaging",
          "tinted moisturizer tube"
        ]
      },
      {
        "candidate_name": "Striped Baby Tees and Sporty Ringer Shirts",
        "trend_type": "styling_formula",
        "visual_axis": "garment_type",
        "historical_relationship": "net_new",
        "seed_media_count": 9,
        "seed_media_refs": [
          "160672:1",
          "149847:1",
          "149847:2",
          "149847:3",
          "149847:4",
          "149847:5",
          "149847:6",
          "149973:1",
          "149973:4"
        ],
        "visual_cues": [
          "striped baby tee",
          "striped polo",
          "striped ringer tee",
          "colored stripes"
        ]
      }
    ],
    "ai_candidate_trend_count": 8,
    "ai_validated_trend_count_before_filter": 8,
    "accepted_trend_count": 7,
    "rejected_trend_count": 1,
    "rejected_trends": [
      {
        "trend_name": "Squeezable Beauty and Spf Tube Packaging",
        "confidence_score": 0.8,
        "valid_matching_image_count": 3,
        "matching_parent_post_count": 3,
        "matching_author_count": 3,
        "invalid_or_out_of_scope_media_refs": [],
        "unparseable_media_refs": [],
        "excluded_same_post_media_refs": [],
        "reasons": [
          "Only 3 valid matching images; minimum is 4."
        ]
      }
    ]
  },
  "accepted_trend_audit": [
    {
      "trend_number": 1,
      "trend_name": "Contrast Piping and Trim Activewear",
      "blog_title": "The Retro Edge: Contrast Piping & Linear Activewear Trim",
      "trend_type": "styling_formula",
      "signal_strength": "strong",
      "confidence_percent": 95.0,
      "matching_image_count": 9,
      "matching_parent_post_count": 5,
      "visual_similarity_reason": "Repeated use of solid black, deep red, or muted blue base fabrics framed beautifully with clean, linear white contrast piping on rompers and matching coordinates.",
      "description": "Athletic rompers, sports bras, and jumpsuits featuring high-contrast linear piping and trims that outline and sculpt the athletic silhouette.",
      "keywords": [
        "contrast trim",
        "athletic romper",
        "contrast piping",
        "retro gym wear",
        "sculpted athleisure"
      ],
      "post_ids": [
        151325,
        151517,
        151233,
        151437,
        150801
      ],
      "media_refs": [
        "151325:1",
        "151325:2",
        "151517:4",
        "151517:6",
        "151233:1",
        "151233:4",
        "151437:1",
        "150801:1",
        "150801:2"
      ],
      "qualification_reason": "Accepted with 9 matching images across 5 parent posts at 95.0% confidence. Repeated use of solid black, deep red, or muted blue base fabrics framed beautifully with clean, linear white contrast piping on rompers and matching coordinates."
    },
    {
      "trend_number": 2,
      "trend_name": "Chocolate Brown Matching Sets",
      "blog_title": "Rich Decadence: Espresso & Chocolate Brown Matching Sets",
      "trend_type": "color",
      "signal_strength": "strong",
      "confidence_percent": 92.0,
      "matching_image_count": 7,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "Visual consistency of highly saturated, solid deep brown fabrics across lifestyle flat-lays, ribbed crop matching sets, and beach swimwear styling.",
      "description": "Deep chocolate, espresso, and warm mocha brown coordinates spanning matching activewear sets, minimalist knit separates, and string bikinis.",
      "keywords": [
        "chocolate brown activewear",
        "espresso co-ord",
        "warm neutrals",
        "brown monochrome sets",
        "minimalist knitwear"
      ],
      "post_ids": [
        150846,
        151238,
        151479,
        160936,
        150758,
        150798
      ],
      "media_refs": [
        "150846:1",
        "151238:1",
        "151479:1",
        "160936:2",
        "150758:1",
        "150758:2",
        "150798:2"
      ],
      "qualification_reason": "Accepted with 7 matching images across 6 parent posts at 92.0% confidence. Visual consistency of highly saturated, solid deep brown fabrics across lifestyle flat-lays, ribbed crop matching sets, and beach swimwear styling."
    },
    {
      "trend_number": 3,
      "trend_name": "Flared Yoga Pants and Leggings",
      "blog_title": "The Y2K Flare: Flared Joggers & Yoga Pants",
      "trend_type": "outfit",
      "signal_strength": "medium",
      "confidence_percent": 88.0,
      "matching_image_count": 7,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "Visual alignment of dynamic flared leg silhouettes styled casually with slides, sneakers, and modern over-ear headphones.",
      "description": "High-waisted, performance-fabric leggings and unitards that taper at the knee and dynamically flare outward at the hem.",
      "keywords": [
        "flare leggings",
        "yoga pants",
        "flared silhouette",
        "gym style",
        "athleisure"
      ],
      "post_ids": [
        151378,
        151022,
        151023,
        151024,
        151033,
        151233
      ],
      "media_refs": [
        "151378:2",
        "151022:1",
        "151023:1",
        "151024:1",
        "151033:1",
        "151233:1",
        "151233:3"
      ],
      "qualification_reason": "Accepted with 7 matching images across 6 parent posts at 88.0% confidence. Visual alignment of dynamic flared leg silhouettes styled casually with slides, sneakers, and modern over-ear headphones."
    },
    {
      "trend_number": 4,
      "trend_name": "Balletcore Fitness and Lounge Dressing",
      "blog_title": "Studio to Street: Balletcore Fitness and Loungewear",
      "trend_type": "styling_formula",
      "signal_strength": "strong",
      "confidence_percent": 90.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 5,
      "visual_similarity_reason": "Consistent use of soft pastel wrap tops, ballet slippers, and plush knee-high leg warmers styled over athletic shorts and sports bras.",
      "description": "Feminine, movement-focused gym styling incorporating wrap cardigans, pastel pink active coordinates, mock wrap mini-skirts, and knit leg warmers.",
      "keywords": [
        "balletcore aesthetic",
        "wrap ballet top",
        "leg warmers",
        "pilates princess",
        "coquette workout"
      ],
      "post_ids": [
        151327,
        150934,
        151517,
        150850,
        151432
      ],
      "media_refs": [
        "151327:1",
        "150934:1",
        "151517:8",
        "150850:1",
        "151432:1",
        "151432:2"
      ],
      "qualification_reason": "Accepted with 6 matching images across 5 parent posts at 90.0% confidence. Consistent use of soft pastel wrap tops, ballet slippers, and plush knee-high leg warmers styled over athletic shorts and sports bras."
    },
    {
      "trend_number": 5,
      "trend_name": "Deep Burgundy and Berry Tones",
      "blog_title": "Rich Red Infusion: Moody Burgundy and Deep Berry Tones",
      "trend_type": "color",
      "signal_strength": "strong",
      "confidence_percent": 94.0,
      "matching_image_count": 11,
      "matching_parent_post_count": 9,
      "visual_similarity_reason": "Visual matching of deep red-wine and purple-plum hues across pleated evening wear, activewear sets, and luxury travel apparel.",
      "description": "Saturated shades of rich burgundy, plum, and deep berry gracing shimmering evening maxis, activewear coordinates, and polka-dot print skirts.",
      "keywords": [
        "burgundy activewear",
        "deep berry palette",
        "plum dress",
        "maroon coordinates",
        "rich neutrals"
      ],
      "post_ids": [
        151491,
        151340,
        150998,
        150999,
        151000,
        151073,
        151652,
        155287,
        150009
      ],
      "media_refs": [
        "151491:1",
        "151340:1",
        "150998:1",
        "150999:1",
        "151000:1",
        "151073:1",
        "151652:1",
        "155287:1",
        "155287:2",
        "150009:1",
        "150009:2"
      ],
      "qualification_reason": "Accepted with 11 matching images across 9 parent posts at 94.0% confidence. Visual matching of deep red-wine and purple-plum hues across pleated evening wear, activewear sets, and luxury travel apparel."
    },
    {
      "trend_number": 6,
      "trend_name": "Textured Crochet and Open-Knit Cover-Ups",
      "blog_title": "Tactile Romance: Textured Crochet & Open-Stitch Knits",
      "trend_type": "texture",
      "signal_strength": "strong",
      "confidence_percent": 96.0,
      "matching_image_count": 5,
      "matching_parent_post_count": 3,
      "visual_similarity_reason": "Cohesive style language of open-knit, mesh-fringe details, and handmade textures layered over resort-wear swimwear or styled with casual summer accessories.",
      "description": "Bohemian-inspired open-stitch garments, crochet dresses, and mesh tops featuring fringe hems and tactile organic details.",
      "keywords": [
        "crochet dress",
        "mesh beachwear",
        "fringe hem",
        "open stitch knit",
        "boho resort style"
      ],
      "post_ids": [
        155386,
        149918,
        149826
      ],
      "media_refs": [
        "155386:1",
        "155386:2",
        "149918:1",
        "149826:1",
        "149826:2"
      ],
      "qualification_reason": "Accepted with 5 matching images across 3 parent posts at 96.0% confidence. Cohesive style language of open-knit, mesh-fringe details, and handmade textures layered over resort-wear swimwear or styled with casual summer accessories."
    },
    {
      "trend_number": 7,
      "trend_name": "Striped Baby Tees and Sporty Ringer Shirts",
      "blog_title": "Playful Stripes: Baby Tees & Collegiate Polo Shirts",
      "trend_type": "styling_formula",
      "signal_strength": "medium",
      "confidence_percent": 85.0,
      "matching_image_count": 5,
      "matching_parent_post_count": 3,
      "visual_similarity_reason": "High matching rate of preppy horizontal multi-toned stripes on knit polo shirts, ringer tees, and soft ribbed casual tops.",
      "description": "Short-sleeve baby tee crews and collars adorned with striking horizontal stripes ranging from retro multi-colored hues to classic forest stripes.",
      "keywords": [
        "striped baby tee",
        "striped polo shirt",
        "ringer tee",
        "preppy street style",
        "y2k casual top"
      ],
      "post_ids": [
        160672,
        149847,
        149973
      ],
      "media_refs": [
        "160672:1",
        "149847:1",
        "149847:2",
        "149973:1",
        "149973:4"
      ],
      "qualification_reason": "Accepted with 5 matching images across 3 parent posts at 85.0% confidence. High matching rate of preppy horizontal multi-toned stripes on knit polo shirts, ringer tees, and soft ribbed casual tops."
    }
  ],
  "report_payload": {
    "reasoning_scratchpad": "We have validated several fresh athleisure, beach-resort, and color-focused trends emerging strongly over the last 14 days. Monochromatic styling, retro athletic piping, and chocolate-brown colorways are moving from activewear to everyday street-style coordinates. Balletcore elements and delicate textured crochets are also proving highly consistent transition styles.",
    "content_ideas": [
      {
        "blog_title": "The Retro Edge: Contrast Piping & Linear Activewear Trim",
        "trend_name": "Contrast Piping and Trim Activewear",
        "trend_type": "styling_formula",
        "trend_trajectory": "net_new",
        "historical_note": "First time observed as a distinct micro-styling formula in activewear sets and unitards.",
        "description": "Athletic rompers, sports bras, and jumpsuits featuring high-contrast linear piping and trims that outline and sculpt the athletic silhouette.",
        "visual_similarity_reason": "Repeated use of solid black, deep red, or muted blue base fabrics framed beautifully with clean, linear white contrast piping on rompers and matching coordinates.",
        "instagram_caption": "It\u2019s all in the details. \ud83d\udda4 Retro-inspired contrast piping that sculpts, frames, and elevates your daily workout set into a street-ready look. Which silhouette are you wearing?",
        "trend_signal_strength": "strong",
        "confidence_score": 0.95,
        "keywords": [
          "contrast trim",
          "athletic romper",
          "contrast piping",
          "retro gym wear",
          "sculpted athleisure"
        ],
        "example_media_refs": [
          "151325:1",
          "151325:2",
          "151517:4",
          "151517:6",
          "151233:1",
          "151233:4",
          "151437:1",
          "150801:1",
          "150801:2"
        ],
        "example_post_ids": [
          151325,
          151517,
          151233,
          151437,
          150801
        ],
        "matching_image_count": 9,
        "matching_parent_post_count": 5,
        "matching_author_count": 5
      },
      {
        "blog_title": "Rich Decadence: Espresso & Chocolate Brown Matching Sets",
        "trend_name": "Chocolate Brown Matching Sets",
        "trend_type": "color",
        "trend_trajectory": "net_new",
        "historical_note": "A fresh neutral palette shift, transitioning warm summer resort wear toward early autumn-ready separates.",
        "description": "Deep chocolate, espresso, and warm mocha brown coordinates spanning matching activewear sets, minimalist knit separates, and string bikinis.",
        "visual_similarity_reason": "Visual consistency of highly saturated, solid deep brown fabrics across lifestyle flat-lays, ribbed crop matching sets, and beach swimwear styling.",
        "instagram_caption": "Chocolate is the new black. \ud83e\udd0e Cozy, luxurious, and ultra-flattering matching sets in rich espresso tones for when you want to look effortlessly put together.",
        "trend_signal_strength": "strong",
        "confidence_score": 0.92,
        "keywords": [
          "chocolate brown activewear",
          "espresso co-ord",
          "warm neutrals",
          "brown monochrome sets",
          "minimalist knitwear"
        ],
        "example_media_refs": [
          "150846:1",
          "151238:1",
          "151479:1",
          "160936:2",
          "150758:1",
          "150758:2",
          "150798:2"
        ],
        "example_post_ids": [
          150846,
          151238,
          151479,
          160936,
          150758,
          150798
        ],
        "matching_image_count": 7,
        "matching_parent_post_count": 6,
        "matching_author_count": 6
      },
      {
        "blog_title": "The Y2K Flare: Flared Joggers & Yoga Pants",
        "trend_name": "Flared Yoga Pants and Leggings",
        "trend_type": "outfit",
        "trend_trajectory": "net_new",
        "historical_note": "An emerging performance-meets-lifestyle silhouette replacing the classic tight ankle crop.",
        "description": "High-waisted, performance-fabric leggings and unitards that taper at the knee and dynamically flare outward at the hem.",
        "visual_similarity_reason": "Visual alignment of dynamic flared leg silhouettes styled casually with slides, sneakers, and modern over-ear headphones.",
        "instagram_caption": "The daily uniform update: flared leggings. \u2728 Transitioning flawlessly from yoga class to your favorite coffee shop with pure Y2K street style energy.",
        "trend_signal_strength": "medium",
        "confidence_score": 0.88,
        "keywords": [
          "flare leggings",
          "yoga pants",
          "flared silhouette",
          "gym style",
          "athleisure"
        ],
        "example_media_refs": [
          "151378:2",
          "151022:1",
          "151023:1",
          "151024:1",
          "151033:1",
          "151233:1",
          "151233:3"
        ],
        "example_post_ids": [
          151378,
          151022,
          151023,
          151024,
          151033,
          151233
        ],
        "matching_image_count": 7,
        "matching_parent_post_count": 6,
        "matching_author_count": 4
      },
      {
        "blog_title": "Studio to Street: Balletcore Fitness and Loungewear",
        "trend_name": "Balletcore Fitness and Lounge Dressing",
        "trend_type": "styling_formula",
        "trend_trajectory": "net_new",
        "historical_note": "Introduced as a fresh coquette-adjacent movement fusion style.",
        "description": "Feminine, movement-focused gym styling incorporating wrap cardigans, pastel pink active coordinates, mock wrap mini-skirts, and knit leg warmers.",
        "visual_similarity_reason": "Consistent use of soft pastel wrap tops, ballet slippers, and plush knee-high leg warmers styled over athletic shorts and sports bras.",
        "instagram_caption": "Channeling our inner ballerina today. \ud83e\ude70 Soft pastels, cozy leg warmers, and elegant wrap tops that bring romantic studio movement to your daily routine.",
        "trend_signal_strength": "strong",
        "confidence_score": 0.9,
        "keywords": [
          "balletcore aesthetic",
          "wrap ballet top",
          "leg warmers",
          "pilates princess",
          "coquette workout"
        ],
        "example_media_refs": [
          "151327:1",
          "150934:1",
          "151517:8",
          "150850:1",
          "151432:1",
          "151432:2"
        ],
        "example_post_ids": [
          151327,
          150934,
          151517,
          150850,
          151432
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 5,
        "matching_author_count": 5
      },
      {
        "blog_title": "Rich Red Infusion: Moody Burgundy and Deep Berry Tones",
        "trend_name": "Deep Burgundy and Berry Tones",
        "trend_type": "color",
        "trend_trajectory": "net_new",
        "historical_note": "A rich, saturated alternative to classic summer brights, signaling high-end evening and studio styling.",
        "description": "Saturated shades of rich burgundy, plum, and deep berry gracing shimmering evening maxis, activewear coordinates, and polka-dot print skirts.",
        "visual_similarity_reason": "Visual matching of deep red-wine and purple-plum hues across pleated evening wear, activewear sets, and luxury travel apparel.",
        "instagram_caption": "Sipping on some deep berry inspiration. \ud83c\udf77 Saturated, rich burgundy is the ultimate elegant color to wear right now. Which moody shade are you grabbing?",
        "trend_signal_strength": "strong",
        "confidence_score": 0.94,
        "keywords": [
          "burgundy activewear",
          "deep berry palette",
          "plum dress",
          "maroon coordinates",
          "rich neutrals"
        ],
        "example_media_refs": [
          "151491:1",
          "151340:1",
          "150998:1",
          "150999:1",
          "151000:1",
          "151073:1",
          "151652:1",
          "155287:1",
          "155287:2",
          "150009:1",
          "150009:2"
        ],
        "example_post_ids": [
          151491,
          151340,
          150998,
          150999,
          151000,
          151073,
          151652,
          155287,
          150009
        ],
        "matching_image_count": 11,
        "matching_parent_post_count": 9,
        "matching_author_count": 7
      },
      {
        "blog_title": "Tactile Romance: Textured Crochet & Open-Stitch Knits",
        "trend_name": "Textured Crochet and Open-Knit Cover-Ups",
        "trend_type": "texture",
        "trend_trajectory": "net_new",
        "historical_note": "New visual focus on highly tactile open-knit, net-like, and handmade crochet structures styled for summer getaways.",
        "description": "Bohemian-inspired open-stitch garments, crochet dresses, and mesh tops featuring fringe hems and tactile organic details.",
        "visual_similarity_reason": "Cohesive style language of open-knit, mesh-fringe details, and handmade textures layered over resort-wear swimwear or styled with casual summer accessories.",
        "instagram_caption": "Breezy open stitch, always. \ud83d\udc1a Welcoming the easy warmth of summer getaways with handmade crochet textures, fringe hems, and effortless layers.",
        "trend_signal_strength": "strong",
        "confidence_score": 0.96,
        "keywords": [
          "crochet dress",
          "mesh beachwear",
          "fringe hem",
          "open stitch knit",
          "boho resort style"
        ],
        "example_media_refs": [
          "155386:1",
          "155386:2",
          "149918:1",
          "149826:1",
          "149826:2"
        ],
        "example_post_ids": [
          155386,
          149918,
          149826
        ],
        "matching_image_count": 5,
        "matching_parent_post_count": 3,
        "matching_author_count": 3
      },
      {
        "blog_title": "Playful Stripes: Baby Tees & Collegiate Polo Shirts",
        "trend_name": "Striped Baby Tees and Sporty Ringer Shirts",
        "trend_type": "styling_formula",
        "trend_trajectory": "net_new",
        "historical_note": "Leads the preppy, everyday casual transition aesthetic for summer-to-autumn layering.",
        "description": "Short-sleeve baby tee crews and collars adorned with striking horizontal stripes ranging from retro multi-colored hues to classic forest stripes.",
        "visual_similarity_reason": "High matching rate of preppy horizontal multi-toned stripes on knit polo shirts, ringer tees, and soft ribbed casual tops.",
        "instagram_caption": "Serving retro schoolyard preppy realness. \ud83c\udf92 Striped baby tees and sporty collar rings are officially back on our weekly casual wear rotation.",
        "trend_signal_strength": "medium",
        "confidence_score": 0.85,
        "keywords": [
          "striped baby tee",
          "striped polo shirt",
          "ringer tee",
          "preppy street style",
          "y2k casual top"
        ],
        "example_media_refs": [
          "160672:1",
          "149847:1",
          "149847:2",
          "149973:1",
          "149973:4"
        ],
        "example_post_ids": [
          160672,
          149847,
          149973
        ],
        "matching_image_count": 5,
        "matching_parent_post_count": 3,
        "matching_author_count": 3
      }
    ],
    "overview_title": "Latest Trends",
    "overview_description": "This week, athletic silhouettes are defined by high-contrast piping from labels like @nactive.wear and @saber.apparel alongside retro-inspired flared yoga pants, while the gym-to-street transition embraces the soft layering of Balletcore fitness\u2014championed by @macherie.activewear\u2014and the casual ease of @lioness_official\u2019s striped baby tees. Rich, grounding hues dominate the palette, with deep espresso matching sets from @thegc.active and saturated berry tones from @berlookactive offering a moody alternative to traditional activewear. For post-workout styling, the look shifts to tactile, bohemian textures, featuring fringe-trimmed open-knit cover-ups from elevated contemporary labels like @ensaisonstudios and @cleobella.",
    "generation_diagnostics": {
      "available": true,
      "generated_at": "2026-07-14T21:41:02.318028Z",
      "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": 11,
        "chunk_count": 18,
        "max_posts_per_chunk": 200,
        "max_media_per_chunk": 500,
        "chunk_post_count": 200,
        "chunk_media_count": 357,
        "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": 357,
      "analyzed_post_count": 200,
      "analyzed_post_ids": [
        158334,
        161586,
        155387,
        155344,
        160869,
        155536,
        161252,
        158389,
        151325,
        155386,
        160569,
        151327,
        150982,
        160064,
        155354,
        151611,
        151109,
        155287,
        160672,
        151580,
        158473,
        151016,
        150790,
        151378,
        161158,
        155272,
        155512,
        151306,
        155308,
        151402,
        151110,
        161522,
        151199,
        155351,
        155416,
        150934,
        151250,
        160456,
        150826,
        151349,
        155296,
        150800,
        151469,
        155453,
        151514,
        161304,
        151078,
        160751,
        151603,
        160609,
        155341,
        151244,
        151160,
        161012,
        161036,
        151307,
        161013,
        151202,
        149833,
        151326,
        149845,
        150972,
        151403,
        151359,
        151561,
        160936,
        151473,
        161108,
        149840,
        151491,
        151598,
        150833,
        150965,
        161291,
        151207,
        151022,
        151230,
        151397,
        160758,
        151332,
        151304,
        149841,
        151517,
        151034,
        151148,
        150027,
        149977,
        151233,
        150810,
        149759,
        149789,
        150954,
        149956,
        150912,
        151081,
        151437,
        150798,
        151370,
        151404,
        149916,
        149739,
        149973,
        151354,
        151086,
        150929,
        150846,
        151365,
        151033,
        151504,
        151458,
        151238,
        149958,
        151188,
        151335,
        151340,
        150850,
        150049,
        150986,
        149846,
        150998,
        151073,
        151172,
        150999,
        151000,
        149887,
        151023,
        151294,
        151511,
        151581,
        150710,
        151315,
        149917,
        149847,
        151465,
        149776,
        160989,
        151652,
        151275,
        151316,
        149935,
        150920,
        151515,
        151405,
        151398,
        150942,
        151091,
        149918,
        151429,
        151261,
        160777,
        151481,
        149848,
        149826,
        151479,
        158390,
        149857,
        151024,
        151432,
        150763,
        151007,
        151051,
        151217,
        161806,
        150771,
        150009,
        151487,
        150975,
        151288,
        149959,
        149868,
        150734,
        151604,
        151156,
        160187,
        151179,
        149952,
        151096,
        151111,
        150758,
        150050,
        161230,
        150801,
        149919,
        149978,
        149849,
        150057,
        150896,
        151189,
        150695,
        151341,
        151620,
        149748,
        149797,
        150028,
        149682,
        158220,
        149756,
        150686,
        151592,
        149987
      ],
      "analyzed_media_count": 357,
      "analyzed_media_refs": [
        "158334:1",
        "161586:1",
        "155387:1",
        "155387:2",
        "155387:3",
        "155344:1",
        "155344:2",
        "160869:1",
        "155536:1",
        "161252:1",
        "158389:1",
        "151325:1",
        "151325:2",
        "151325:3",
        "151325:4",
        "151325:5",
        "155386:1",
        "155386:2",
        "155386:3",
        "155386:4",
        "155386:5",
        "155386:6",
        "160569:1",
        "151327:1",
        "150982:1",
        "160064:1",
        "155354:1",
        "151611:1",
        "151109:1",
        "155287:1",
        "155287:2",
        "160672:1",
        "151580:1",
        "158473:1",
        "151016:1",
        "150790:1",
        "151378:1",
        "151378:2",
        "151378:3",
        "151378:4",
        "151378:5",
        "151378:6",
        "151378:7",
        "151378:8",
        "161158:1",
        "155272:1",
        "155512:1",
        "155512:2",
        "155512:3",
        "155512:4",
        "155512:5",
        "151306:1",
        "155308:1",
        "155308:2",
        "151402:1",
        "151110:1",
        "161522:1",
        "151199:1",
        "155351:1",
        "155351:2",
        "155416:1",
        "155416:2",
        "155416:3",
        "155416:4",
        "155416:5",
        "150934:1",
        "151250:1",
        "151250:2",
        "151250:3",
        "151250:4",
        "151250:5",
        "160456:1",
        "150826:1",
        "151349:1",
        "155296:1",
        "150800:1",
        "151469:1",
        "155453:1",
        "151514:1",
        "161304:1",
        "151078:1",
        "151078:2",
        "151078:3",
        "151078:4",
        "151078:5",
        "151078:6",
        "151078:7",
        "151078:8",
        "151078:9",
        "151078:10",
        "160751:1",
        "151603:1",
        "160609:1",
        "155341:1",
        "155341:2",
        "155341:3",
        "155341:4",
        "155341:5",
        "155341:6",
        "155341:7",
        "155341:8",
        "155341:9",
        "151244:1",
        "151160:1",
        "161012:1",
        "161036:1",
        "151307:1",
        "161013:1",
        "151202:1",
        "149833:1",
        "149833:2",
        "149833:3",
        "149833:4",
        "149833:5",
        "151326:1",
        "149845:1",
        "150972:1",
        "151403:1",
        "151359:1",
        "151561:1",
        "160936:1",
        "160936:2",
        "160936:3",
        "160936:4",
        "160936:5",
        "160936:6",
        "151473:1",
        "161108:1",
        "149840:1",
        "149840:2",
        "151491:1",
        "151491:2",
        "151598:1",
        "150833:1",
        "150965:1",
        "161291:1",
        "151207:1",
        "151207:2",
        "151207:3",
        "151207:4",
        "151022:1",
        "151230:1",
        "151397:1",
        "160758:1",
        "151332:1",
        "151304:1",
        "149841:1",
        "149841:2",
        "151517:1",
        "151517:2",
        "151517:3",
        "151517:4",
        "151517:5",
        "151517:6",
        "151517:7",
        "151517:8",
        "151034:1",
        "151148:1",
        "150027:1",
        "149977:1",
        "149977:2",
        "149977:3",
        "149977:4",
        "149977:5",
        "151233:1",
        "151233:2",
        "151233:3",
        "151233:4",
        "150810:1",
        "150810:2",
        "150810:3",
        "149759:1",
        "149789:1",
        "150954:1",
        "149956:1",
        "150912:1",
        "151081:1",
        "151437:1",
        "150798:1",
        "150798:2",
        "150798:3",
        "150798:4",
        "150798:5",
        "151370:1",
        "151404:1",
        "149916:1",
        "149739:1",
        "149739:2",
        "149739:3",
        "149739:4",
        "149739:5",
        "149739:6",
        "149739:7",
        "149973:1",
        "149973:2",
        "149973:3",
        "149973:4",
        "149973:5",
        "151354:1",
        "151086:1",
        "150929:1",
        "150846:1",
        "151365:1",
        "151365:2",
        "151365:3",
        "151365:4",
        "151033:1",
        "151033:2",
        "151504:1",
        "151458:1",
        "151238:1",
        "149958:1",
        "151188:1",
        "151188:2",
        "151188:3",
        "151188:4",
        "151335:1",
        "151340:1",
        "150850:1",
        "150049:1",
        "150049:2",
        "150049:3",
        "150049:4",
        "150049:5",
        "150986:1",
        "149846:2",
        "149846:3",
        "149846:4",
        "150998:1",
        "151073:1",
        "151172:1",
        "150999:1",
        "151000:1",
        "149887:1",
        "149887:2",
        "149887:3",
        "151023:1",
        "151294:1",
        "151511:1",
        "151581:1",
        "150710:1",
        "151315:1",
        "151315:2",
        "149917:1",
        "149917:2",
        "149917:3",
        "149917:4",
        "149917:5",
        "149917:6",
        "149917:7",
        "149847:1",
        "149847:2",
        "149847:3",
        "149847:4",
        "149847:5",
        "149847:6",
        "151465:1",
        "151465:2",
        "149776:1",
        "160989:1",
        "151652:1",
        "151275:1",
        "151316:1",
        "149935:1",
        "150920:1",
        "151515:1",
        "151405:1",
        "151398:1",
        "150942:1",
        "151091:1",
        "149918:1",
        "151429:1",
        "151261:1",
        "160777:1",
        "151481:1",
        "149848:1",
        "149826:1",
        "149826:2",
        "149826:3",
        "149826:4",
        "149826:6",
        "151479:1",
        "158390:1",
        "149857:1",
        "151024:1",
        "151432:1",
        "151432:2",
        "151432:3",
        "151432:4",
        "151432:5",
        "151432:6",
        "150763:1",
        "151007:1",
        "151007:3",
        "151051:1",
        "151217:1",
        "161806:1",
        "150771:1",
        "150009:1",
        "150009:2",
        "150009:3",
        "151487:1",
        "150975:1",
        "151288:1",
        "149959:1",
        "149868:1",
        "149868:2",
        "150734:1",
        "151604:1",
        "151156:1",
        "160187:1",
        "151179:1",
        "149952:1",
        "151096:1",
        "151111:1",
        "150758:1",
        "150758:2",
        "150758:3",
        "150758:4",
        "150758:5",
        "150758:6",
        "150758:7",
        "150050:1",
        "161230:1",
        "150801:1",
        "150801:2",
        "150801:3",
        "150801:4",
        "149919:1",
        "149978:1",
        "149978:2",
        "149978:3",
        "149849:1",
        "150057:1",
        "150896:1",
        "151189:1",
        "150695:1",
        "151341:1",
        "151620:1",
        "149748:1",
        "149797:1",
        "149797:2",
        "149797:3",
        "149797:4",
        "150028:1",
        "149682:1",
        "149682:2",
        "149682:3",
        "149682:4",
        "149682:5",
        "158220:1",
        "149756:1",
        "149756:2",
        "150686:1",
        "150686:2",
        "151592:1",
        "149987:1"
      ],
      "full_source_prompt_character_count": 180249,
      "source_prompt_character_count": 180249,
      "prompt_character_count": 180249,
      "prompt_character_limit": 300000,
      "prompt_was_truncated": false,
      "candidate_prompt_character_count": 184408,
      "validation_prompt_character_count": 192566,
      "candidate_reasoning_scratchpad": "We are tracking a strong convergence of athletic elements with high-fashion and romantic aesthetics, driven by balletcore-inspired gym sets, matching coordinates, and resort-ready transitional garments. The neutral color spectrum is anchored in grounding chocolate and deep berry tones, offset by whimsical pastel pinks and blues. Meanwhile, textures like crochet, ribbed knits, and delicate contrast lining dominate both summer vacation and fitness-to-street styling.",
      "validation_reasoning_scratchpad": "We have validated several fresh athleisure, beach-resort, and color-focused trends emerging strongly over the last 14 days. Monochromatic styling, retro athletic piping, and chocolate-brown colorways are moving from activewear to everyday street-style coordinates. Balletcore elements and delicate textured crochets are also proving highly consistent transition styles.",
      "ai_discovered_candidate_count": 10,
      "candidate_trends": [
        {
          "candidate_name": "Contrast Piping and Trim Activewear",
          "trend_type": "styling_formula",
          "visual_axis": "styling_formula",
          "historical_relationship": "net_new",
          "seed_media_count": 11,
          "seed_media_refs": [
            "151325:1",
            "151325:2",
            "151325:3",
            "151325:4",
            "151325:5",
            "151517:4",
            "151517:6",
            "151233:1",
            "151233:4",
            "151437:1",
            "150896:1"
          ],
          "visual_cues": [
            "white contrast trim",
            "contrast piping detail",
            "two-tone activewear outline"
          ]
        },
        {
          "candidate_name": "Chocolate Brown Matching Sets",
          "trend_type": "color",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 10,
          "seed_media_refs": [
            "150846:1",
            "150763:1",
            "151479:1",
            "151238:1",
            "151511:1",
            "150758:1",
            "150758:2",
            "150758:4",
            "160936:2",
            "151370:1"
          ],
          "visual_cues": [
            "chocolate brown activewear",
            "dark brown matching set",
            "espresso knitwear"
          ]
        },
        {
          "candidate_name": "Flared Yoga Pants and Leggings",
          "trend_type": "outfit",
          "visual_axis": "silhouette",
          "historical_relationship": "net_new",
          "seed_media_count": 7,
          "seed_media_refs": [
            "151378:2",
            "151022:1",
            "151023:1",
            "151024:1",
            "151033:1",
            "151233:1",
            "151233:3"
          ],
          "visual_cues": [
            "flare leggings",
            "flared yoga pants",
            "sculpted flared silhouette"
          ]
        },
        {
          "candidate_name": "Balletcore Fitness and Lounge Dressing",
          "trend_type": "styling_formula",
          "visual_axis": "styling_formula",
          "historical_relationship": "net_new",
          "seed_media_count": 8,
          "seed_media_refs": [
            "151327:1",
            "150934:1",
            "151517:8",
            "151432:1",
            "151432:2",
            "151432:4",
            "151432:6",
            "150850:1"
          ],
          "visual_cues": [
            "ballet slippers",
            "leg warmers",
            "wrap ballet top",
            "mini ruffle skirt"
          ]
        },
        {
          "candidate_name": "Deep Burgundy and Berry Tones",
          "trend_type": "color",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 12,
          "seed_media_refs": [
            "151491:1",
            "151340:1",
            "150998:1",
            "150999:1",
            "151000:1",
            "151073:1",
            "151652:1",
            "150009:1",
            "150009:2",
            "150009:3",
            "155287:1",
            "155287:2"
          ],
          "visual_cues": [
            "burgundy activewear",
            "burgundy dress",
            "maroon polka dot skirt",
            "deep plum",
            "berry palette"
          ]
        },
        {
          "candidate_name": "Textured Crochet and Open-Knit Cover-Ups",
          "trend_type": "texture",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 12,
          "seed_media_refs": [
            "155386:1",
            "155386:2",
            "155386:3",
            "155386:4",
            "155386:5",
            "155386:6",
            "149918:1",
            "149826:1",
            "149826:2",
            "149826:3",
            "149826:4",
            "149826:6"
          ],
          "visual_cues": [
            "crochet dress",
            "crochet top",
            "fringe hem detail",
            "open knit fabric"
          ]
        },
        {
          "candidate_name": "Dopamine-Dressed Rainbow and Multicolor Gemstones",
          "trend_type": "accessory",
          "visual_axis": "accessory",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "160064:1",
            "150790:1",
            "151603:1"
          ],
          "visual_cues": [
            "rainbow crystal necklace",
            "multi-colored gemstone bracelets",
            "vibrant gemstone colors",
            "multicolor gemstones"
          ]
        },
        {
          "candidate_name": "Pleated White Coordinate Sets",
          "trend_type": "outfit",
          "visual_axis": "silhouette",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "155387:1",
            "155387:2",
            "155387:3"
          ],
          "visual_cues": [
            "white pleated set",
            "crop top",
            "flared sleeve blouse",
            "ruffle hem mini skirt",
            "white co-ord set"
          ]
        },
        {
          "candidate_name": "Squeezable Beauty and Spf Tube Packaging",
          "trend_type": "beauty",
          "visual_axis": "beauty",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "158334:1",
            "158389:1",
            "158473:1"
          ],
          "visual_cues": [
            "squeeze tube",
            "matte squeezable tube packaging",
            "tinted moisturizer tube"
          ]
        },
        {
          "candidate_name": "Striped Baby Tees and Sporty Ringer Shirts",
          "trend_type": "styling_formula",
          "visual_axis": "garment_type",
          "historical_relationship": "net_new",
          "seed_media_count": 9,
          "seed_media_refs": [
            "160672:1",
            "149847:1",
            "149847:2",
            "149847:3",
            "149847:4",
            "149847:5",
            "149847:6",
            "149973:1",
            "149973:4"
          ],
          "visual_cues": [
            "striped baby tee",
            "striped polo",
            "striped ringer tee",
            "colored stripes"
          ]
        }
      ],
      "ai_candidate_trend_count": 8,
      "ai_validated_trend_count_before_filter": 8,
      "accepted_trend_count": 7,
      "rejected_trend_count": 1,
      "rejected_trends": [
        {
          "trend_name": "Squeezable Beauty and Spf Tube Packaging",
          "confidence_score": 0.8,
          "valid_matching_image_count": 3,
          "matching_parent_post_count": 3,
          "matching_author_count": 3,
          "invalid_or_out_of_scope_media_refs": [],
          "unparseable_media_refs": [],
          "excluded_same_post_media_refs": [],
          "reasons": [
            "Only 3 valid matching images; minimum is 4."
          ]
        }
      ]
    }
  }
}