{
  "report": {
    "id": 144,
    "period": "[swimwear] Jul 14 - Jul 28, 2026 (Part 6 of 11)",
    "created_at": "2026-07-28T20:15:58.230482+00:00",
    "workflow_note": ""
  },
  "generation_diagnostics": {
    "available": true,
    "generated_at": "2026-07-28T20:16:12.798326Z",
    "tag": "swimwear",
    "media_scope": "cover_only",
    "generation_strategy": "deep_chunked_two_pass_candidate_discovery_and_validation",
    "report_profile": "deep",
    "model": "google/gemini-3.5-flash-lite",
    "previous_report_context": null,
    "vision_preflight": {
      "enabled": true,
      "since": "2026-07-14T20:05:26.235773Z",
      "media_scope": "cover_only",
      "scoped_post_count": 0,
      "batch_size": 500,
      "max_batches": 20,
      "batch_count": 3,
      "images_requested": 918,
      "images_analyzed": 904,
      "posts_touched": 918,
      "reached_batch_cap": false,
      "batches": [
        {
          "batch_number": 1,
          "images_requested": 500,
          "images_analyzed": 495,
          "posts_touched": 500,
          "completion_reconciled": false
        },
        {
          "batch_number": 2,
          "images_requested": 418,
          "images_analyzed": 409,
          "posts_touched": 418,
          "completion_reconciled": false
        },
        {
          "batch_number": 3,
          "images_requested": 0,
          "images_analyzed": 0,
          "posts_touched": 0,
          "completion_reconciled": false
        }
      ]
    },
    "chunking": {
      "enabled": true,
      "chunk_number": 6,
      "chunk_count": 11,
      "max_posts_per_chunk": 200,
      "max_media_per_chunk": 500,
      "chunk_post_count": 200,
      "chunk_media_count": 200,
      "full_source_post_count": 2274,
      "full_eligible_post_count": 2026,
      "full_source_media_count": 2026
    },
    "criteria": {
      "time_window_days": 14,
      "window_start": "2026-07-14T20:05:26.235773Z",
      "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": 2274,
    "source_media_count": 2026,
    "eligible_post_count": 2026,
    "chunk_post_count": 200,
    "chunk_media_count": 200,
    "analyzed_post_count": 200,
    "analyzed_post_ids": [
      173723,
      175522,
      173211,
      173572,
      172272,
      172087,
      173762,
      173641,
      172003,
      172909,
      175746,
      172661,
      175837,
      173294,
      172961,
      171760,
      172586,
      173614,
      174508,
      172712,
      172391,
      174403,
      173886,
      172485,
      175054,
      172056,
      175623,
      173797,
      175402,
      174730,
      173787,
      176008,
      173521,
      172349,
      172596,
      174210,
      175881,
      171964,
      172889,
      173139,
      172691,
      172213,
      172971,
      171843,
      173513,
      174338,
      174211,
      172996,
      172910,
      171901,
      173849,
      174529,
      174024,
      171721,
      172065,
      172874,
      174987,
      175320,
      174635,
      173909,
      174069,
      174212,
      173197,
      173522,
      173454,
      173394,
      171850,
      175913,
      171742,
      171952,
      172020,
      172337,
      173692,
      173774,
      175355,
      173747,
      172864,
      173133,
      171695,
      172786,
      173284,
      173236,
      174296,
      173033,
      174008,
      173603,
      173163,
      175884,
      171770,
      173976,
      172764,
      171930,
      172827,
      171965,
      172536,
      173977,
      172405,
      173814,
      175085,
      174496,
      174471,
      172162,
      173530,
      175036,
      173104,
      174107,
      172561,
      174240,
      172619,
      172571,
      172494,
      173367,
      173117,
      175037,
      173925,
      173237,
      174674,
      172422,
      173072,
      174312,
      173080,
      173632,
      174415,
      172694,
      175575,
      172532,
      171943,
      172031,
      173711,
      172040,
      173654,
      173153,
      172438,
      173052,
      173258,
      174894,
      172804,
      172675,
      172676,
      172951,
      172439,
      172457,
      175123,
      174355,
      172314,
      175503,
      175948,
      174712,
      171808,
      173441,
      173682,
      172727,
      172531,
      171733,
      173310,
      171844,
      172549,
      172105,
      173501,
      172446,
      174607,
      172597,
      174436,
      174324,
      175021,
      174438,
      173788,
      173789,
      174424,
      171761,
      175403,
      175697,
      173273,
      174509,
      171953,
      174530,
      171743,
      175404,
      173763,
      172261,
      175590,
      173595,
      173395,
      174357,
      172189,
      172962,
      172982,
      172234,
      173826,
      173514,
      173240,
      173798,
      173324,
      172972,
      174404,
      174704,
      171979,
      175882,
      173212,
      172838
    ],
    "analyzed_media_count": 200,
    "analyzed_media_refs": [
      "173723:1",
      "175522:1",
      "173211:1",
      "173572:1",
      "172272:1",
      "172087:1",
      "173762:1",
      "173641:1",
      "172003:1",
      "172909:1",
      "175746:1",
      "172661:1",
      "175837:1",
      "173294:1",
      "172961:1",
      "171760:1",
      "172586:1",
      "173614:1",
      "174508:1",
      "172712:1",
      "172391:1",
      "174403:1",
      "173886:1",
      "172485:1",
      "175054:1",
      "172056:1",
      "175623:1",
      "173797:1",
      "175402:1",
      "174730:1",
      "173787:1",
      "176008:1",
      "173521:1",
      "172349:1",
      "172596:1",
      "174210:1",
      "175881:1",
      "171964:1",
      "172889:1",
      "173139:1",
      "172691:1",
      "172213:1",
      "172971:1",
      "171843:1",
      "173513:1",
      "174338:1",
      "174211:1",
      "172996:1",
      "172910:1",
      "171901:1",
      "173849:1",
      "174529:1",
      "174024:1",
      "171721:1",
      "172065:1",
      "172874:1",
      "174987:1",
      "175320:1",
      "174635:1",
      "173909:1",
      "174069:1",
      "174212:1",
      "173197:1",
      "173522:1",
      "173454:1",
      "173394:1",
      "171850:1",
      "175913:1",
      "171742:1",
      "171952:1",
      "172020:1",
      "172337:1",
      "173692:1",
      "173774:1",
      "175355:1",
      "173747:1",
      "172864:1",
      "173133:1",
      "171695:1",
      "172786:1",
      "173284:1",
      "173236:1",
      "174296:1",
      "173033:1",
      "174008:1",
      "173603:1",
      "173163:1",
      "175884:1",
      "171770:1",
      "173976:1",
      "172764:1",
      "171930:1",
      "172827:1",
      "171965:1",
      "172536:1",
      "173977:1",
      "172405:1",
      "173814:1",
      "175085:1",
      "174496:1",
      "174471:1",
      "172162:1",
      "173530:1",
      "175036:1",
      "173104:1",
      "174107:1",
      "172561:1",
      "174240:1",
      "172619:1",
      "172571:1",
      "172494:1",
      "173367:1",
      "173117:1",
      "175037:1",
      "173925:1",
      "173237:1",
      "174674:1",
      "172422:1",
      "173072:1",
      "174312:1",
      "173080:1",
      "173632:1",
      "174415:1",
      "172694:1",
      "175575:1",
      "172532:1",
      "171943:1",
      "172031:1",
      "173711:1",
      "172040:1",
      "173654:1",
      "173153:1",
      "172438:1",
      "173052:1",
      "173258:1",
      "174894:1",
      "172804:1",
      "172675:1",
      "172676:1",
      "172951:1",
      "172439:1",
      "172457:1",
      "175123:1",
      "174355:1",
      "172314:1",
      "175503:1",
      "175948:1",
      "174712:1",
      "171808:1",
      "173441:1",
      "173682:1",
      "172727:1",
      "172531:1",
      "171733:1",
      "173310:1",
      "171844:1",
      "172549:1",
      "172105:1",
      "173501:1",
      "172446:1",
      "174607:1",
      "172597:1",
      "174436:1",
      "174324:1",
      "175021:1",
      "174438:1",
      "173788:1",
      "173789:1",
      "174424:1",
      "171761:1",
      "175403:1",
      "175697:1",
      "173273:1",
      "174509:1",
      "171953:1",
      "174530:1",
      "171743:1",
      "175404:1",
      "173763:1",
      "172261:1",
      "175590:1",
      "173595:1",
      "173395:1",
      "174357:1",
      "172189:1",
      "172962:1",
      "172982:1",
      "172234:1",
      "173826:1",
      "173514:1",
      "173240:1",
      "173798:1",
      "173324:1",
      "172972:1",
      "174404:1",
      "174704:1",
      "171979:1",
      "175882:1",
      "173212:1",
      "172838:1"
    ],
    "full_source_prompt_character_count": 112389,
    "source_prompt_character_count": 112389,
    "prompt_character_count": 112389,
    "prompt_character_limit": 300000,
    "prompt_was_truncated": false,
    "candidate_prompt_character_count": 116548,
    "validation_prompt_character_count": 121985,
    "candidate_reasoning_scratchpad": "The current data highlights a heavy focus on resortwear, tropical getaways, and swimwear updates with strong color-blocking, metallic finishes, and coordinate sets. Key aesthetic drivers include earthy chocolate brown swimwear, vibrant hibiscus or floral prints, and casual beach-to-bar styling formulas featuring sarongs and oversized straw totes.",
    "validation_reasoning_scratchpad": "The candidate clusters were evaluated against the raw data, filtering out single-brand initiatives and validating recurring visual themes like chocolate brown swimwear, retro gingham prints, sarong resort layering, high-shine metallics, and tropical island prints. Each validated trend successfully meets the minimum criteria of containing at least 4 distinct image MediaRefs from at least 3 separate parent posts.",
    "ai_discovered_candidate_count": 7,
    "candidate_trends": [
      {
        "candidate_name": "Chocolate Brown & Espresso Swimwear",
        "trend_type": "color",
        "visual_axis": "color",
        "historical_relationship": "net_new",
        "seed_media_count": 5,
        "seed_media_refs": [
          "175623:1",
          "173797:1",
          "173454:1",
          "173826:1",
          "174404:1"
        ],
        "visual_cues": [
          "chocolate brown bikini",
          "mocha sand swimwear",
          "earth tone palette",
          "island bronze shades"
        ]
      },
      {
        "candidate_name": "Classic Gingham Swim & Resort Sets",
        "trend_type": "texture",
        "visual_axis": "texture",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "173849:1",
          "174008:1",
          "172561:1",
          "173367:1"
        ],
        "visual_cues": [
          "gingham print",
          "plaid check pattern",
          "retro gingham bikini",
          "brown gingham swimsuit"
        ]
      },
      {
        "candidate_name": "Sarong & Wrap-Around Beach Skirts",
        "trend_type": "styling_formula",
        "visual_axis": "styling_formula",
        "historical_relationship": "net_new",
        "seed_media_count": 5,
        "seed_media_refs": [
          "175522:1",
          "172031:1",
          "175085:1",
          "172536:1",
          "173395:1"
        ],
        "visual_cues": [
          "sarong wrap",
          "wrap-around skirt",
          "matching sarong",
          "fringed sarong"
        ]
      },
      {
        "candidate_name": "Metallic & Shimmer Swimwear",
        "trend_type": "texture",
        "visual_axis": "texture",
        "historical_relationship": "net_new",
        "seed_media_count": 5,
        "seed_media_refs": [
          "171721:1",
          "172065:1",
          "174210:1",
          "174530:1",
          "172694:1"
        ],
        "visual_cues": [
          "shimmer fabric",
          "sparkly bikini",
          "lurex fabric",
          "metallic sheen"
        ]
      },
      {
        "candidate_name": "Tropical Floral & Island Prints",
        "trend_type": "outfit",
        "visual_axis": "garment_type",
        "historical_relationship": "net_new",
        "seed_media_count": 5,
        "seed_media_refs": [
          "173211:1",
          "173294:1",
          "173787:1",
          "173814:1",
          "173212:1"
        ],
        "visual_cues": [
          "floral print bikini",
          "tropical floral print",
          "hibiscus print",
          "botanical fruit print"
        ]
      },
      {
        "candidate_name": "Woven Straw Totes & Summer Hats",
        "trend_type": "accessory",
        "visual_axis": "accessory",
        "historical_relationship": "net_new",
        "seed_media_count": 5,
        "seed_media_refs": [
          "173762:1",
          "172391:1",
          "173513:1",
          "174324:1",
          "172712:1"
        ],
        "visual_cues": [
          "straw sun hat",
          "straw tote bag",
          "woven raffia",
          "straw bucket hat"
        ]
      },
      {
        "candidate_name": "Asymmetrical Drape Maxi Dresses",
        "trend_type": "outfit",
        "visual_axis": "silhouette",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "174508:1",
          "171843:1",
          "172405:1",
          "174355:1"
        ],
        "visual_cues": [
          "asymmetric drape dress",
          "asymmetric hem dress",
          "flowing maxi dress",
          "cape sleeve dress"
        ]
      }
    ],
    "ai_candidate_trend_count": 7,
    "ai_validated_trend_count_before_filter": 7,
    "accepted_trend_count": 7,
    "rejected_trend_count": 0,
    "rejected_trends": []
  },
  "accepted_trend_audit": [
    {
      "trend_number": 1,
      "trend_name": "Chocolate Brown & Espresso Swimwear",
      "blog_title": "Rich Espresso & Mocha Swimwear Aesthetics",
      "trend_type": "color",
      "signal_strength": "strong",
      "confidence_percent": 95.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "All selected images prominently feature brown, mocha, or bronze swimwear styles, ranging from triangle bikinis to deep V-neck one-pieces.",
      "description": "Rich mocha, chocolate, and island bronze tones dominate swimwear sets, offering a sophisticated, sun-kissed neutral palette.",
      "keywords": [
        "chocolate brown bikini",
        "mocha sand swimwear",
        "earth tone palette",
        "island bronze shades"
      ],
      "post_ids": [
        175623,
        173797,
        173454,
        173826,
        174404,
        172874
      ],
      "media_refs": [
        "175623:1",
        "173797:1",
        "173454:1",
        "173826:1",
        "174404:1",
        "172874:1"
      ],
      "qualification_reason": "Accepted with 6 matching images across 6 parent posts at 95.0% confidence. All selected images prominently feature brown, mocha, or bronze swimwear styles, ranging from triangle bikinis to deep V-neck one-pieces."
    },
    {
      "trend_number": 2,
      "trend_name": "Classic Gingham Swim & Resort Sets",
      "blog_title": "Retro Gingham Check Prints in Swim & Resort",
      "trend_type": "texture",
      "signal_strength": "strong",
      "confidence_percent": 92.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "Each post features distinct gingham patterns or plaid check textures applied to swimwear and casual resort apparel.",
      "description": "Gingham check prints are experiencing a playful resurgence across bikinis, one-pieces, and matching lounge sets.",
      "keywords": [
        "gingham print",
        "plaid check pattern",
        "retro gingham bikini",
        "brown gingham swimsuit"
      ],
      "post_ids": [
        173849,
        174008,
        172561,
        173367,
        172337,
        174712
      ],
      "media_refs": [
        "173849:1",
        "174008:1",
        "172561:1",
        "173367:1",
        "172337:1",
        "174712:1"
      ],
      "qualification_reason": "Accepted with 6 matching images across 6 parent posts at 92.0% confidence. Each post features distinct gingham patterns or plaid check textures applied to swimwear and casual resort apparel."
    },
    {
      "trend_number": 3,
      "trend_name": "Sarong & Wrap-Around Beach Skirts",
      "blog_title": "Effortless Sarong & Wrap-Around Beach Skirts",
      "trend_type": "styling_formula",
      "signal_strength": "strong",
      "confidence_percent": 90.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "All selected examples highlight wrap-around skirts, sarongs, or tie-side cover-ups styled directly over swimwear.",
      "description": "The sarong wrap skirt serves as a versatile beach-to-bar layering piece, paired effortlessly with coordinating or solid bikinis.",
      "keywords": [
        "sarong wrap",
        "wrap-around skirt",
        "matching sarong",
        "fringed sarong"
      ],
      "post_ids": [
        175522,
        172031,
        175085,
        172536,
        173395,
        172586
      ],
      "media_refs": [
        "175522:1",
        "172031:1",
        "175085:1",
        "172536:1",
        "173395:1",
        "172586:1"
      ],
      "qualification_reason": "Accepted with 6 matching images across 6 parent posts at 90.0% confidence. All selected examples highlight wrap-around skirts, sarongs, or tie-side cover-ups styled directly over swimwear."
    },
    {
      "trend_number": 4,
      "trend_name": "Metallic & Shimmer Swimwear",
      "blog_title": "High-Shine Metallic & Glitter Swimwear",
      "trend_type": "texture",
      "signal_strength": "strong",
      "confidence_percent": 88.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "Each image captures high-shine, lurex, or crystal-embellished fabrics that catch the light with a metallic sheen.",
      "description": "High-shine, lurex, glitter, and metallic fabrics give swimwear an elevated, shimmering edge ideal for golden hour content.",
      "keywords": [
        "shimmer fabric",
        "sparkly bikini",
        "lurex fabric",
        "metallic sheen"
      ],
      "post_ids": [
        171721,
        172065,
        174210,
        174530,
        172694,
        174212
      ],
      "media_refs": [
        "171721:1",
        "172065:1",
        "174210:1",
        "174530:1",
        "172694:1",
        "174212:1"
      ],
      "qualification_reason": "Accepted with 6 matching images across 6 parent posts at 88.0% confidence. Each image captures high-shine, lurex, or crystal-embellished fabrics that catch the light with a metallic sheen."
    },
    {
      "trend_number": 5,
      "trend_name": "Tropical Floral & Island Prints",
      "blog_title": "Vibrant Tropical Floral & Island Prints",
      "trend_type": "outfit",
      "signal_strength": "strong",
      "confidence_percent": 89.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "All selected posts feature bold tropical prints, botanical illustrations, or floral patterns on swimsuits and resort dresses.",
      "description": "Vibrant floral patterns featuring botanical motifs, hibiscus, and island foliage drive high-summer vacation aesthetics across dresses and swimwear.",
      "keywords": [
        "floral print bikini",
        "tropical floral print",
        "hibiscus print",
        "botanical fruit print"
      ],
      "post_ids": [
        173211,
        173294,
        173787,
        173814,
        173212,
        172661
      ],
      "media_refs": [
        "173211:1",
        "173294:1",
        "173787:1",
        "173814:1",
        "173212:1",
        "172661:1"
      ],
      "qualification_reason": "Accepted with 6 matching images across 6 parent posts at 89.0% confidence. All selected posts feature bold tropical prints, botanical illustrations, or floral patterns on swimsuits and resort dresses."
    },
    {
      "trend_number": 6,
      "trend_name": "Woven Straw Totes & Summer Hats",
      "blog_title": "Woven Straw Totes & Raffia Beach Accessories",
      "trend_type": "accessory",
      "signal_strength": "strong",
      "confidence_percent": 91.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "Each image highlights natural straw textures, woven bucket hats, or raffia tote bags used as primary beach accessories.",
      "description": "Oversized straw bags, bucket hats, and woven raffia accessories remain the ultimate defining accents for upscale beach styling.",
      "keywords": [
        "straw sun hat",
        "straw tote bag",
        "woven raffia",
        "straw bucket hat"
      ],
      "post_ids": [
        173762,
        172391,
        173513,
        174324,
        172712,
        173692
      ],
      "media_refs": [
        "173762:1",
        "172391:1",
        "173513:1",
        "174324:1",
        "172712:1",
        "173692:1"
      ],
      "qualification_reason": "Accepted with 6 matching images across 6 parent posts at 91.0% confidence. Each image highlights natural straw textures, woven bucket hats, or raffia tote bags used as primary beach accessories."
    },
    {
      "trend_number": 7,
      "trend_name": "Asymmetrical Drape Maxi Dresses",
      "blog_title": "Fluid Asymmetrical Drape Maxi Dresses",
      "trend_type": "outfit",
      "signal_strength": "strong",
      "confidence_percent": 87.0,
      "matching_image_count": 6,
      "matching_parent_post_count": 6,
      "visual_similarity_reason": "All matching posts feature fluid maxi dresses with asymmetrical drapes, wrap cuts, or high-slit hemlines.",
      "description": "Fluid, asymmetric drapes and one-shoulder silhouettes provide an effortless, high-end resort look for evening dinners and coastal getaways.",
      "keywords": [
        "asymmetric drape dress",
        "asymmetric hem dress",
        "flowing maxi dress",
        "cape sleeve dress"
      ],
      "post_ids": [
        174508,
        171843,
        172405,
        174355,
        172586,
        173080
      ],
      "media_refs": [
        "174508:1",
        "171843:1",
        "172405:1",
        "174355:1",
        "172586:1",
        "173080:1"
      ],
      "qualification_reason": "Accepted with 6 matching images across 6 parent posts at 87.0% confidence. All matching posts feature fluid maxi dresses with asymmetrical drapes, wrap cuts, or high-slit hemlines."
    }
  ],
  "report_payload": {
    "reasoning_scratchpad": "The candidate clusters were evaluated against the raw data, filtering out single-brand initiatives and validating recurring visual themes like chocolate brown swimwear, retro gingham prints, sarong resort layering, high-shine metallics, and tropical island prints. Each validated trend successfully meets the minimum criteria of containing at least 4 distinct image MediaRefs from at least 3 separate parent posts.",
    "content_ideas": [
      {
        "blog_title": "Rich Espresso & Mocha Swimwear Aesthetics",
        "trend_name": "Chocolate Brown & Espresso Swimwear",
        "trend_type": "color",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new color direction replacing stark blacks and bright neons with earthy neutrals.",
        "description": "Rich mocha, chocolate, and island bronze tones dominate swimwear sets, offering a sophisticated, sun-kissed neutral palette.",
        "visual_similarity_reason": "All selected images prominently feature brown, mocha, or bronze swimwear styles, ranging from triangle bikinis to deep V-neck one-pieces.",
        "instagram_caption": "Rich espresso tones for endless summer days \ud83e\udd0e Elevate your swim rotation with our favorite earth-neutral shades.\n\n#Swimwear #BrownBikini #ResortWear #SummerStyle",
        "trend_signal_strength": "strong",
        "confidence_score": 0.95,
        "keywords": [
          "chocolate brown bikini",
          "mocha sand swimwear",
          "earth tone palette",
          "island bronze shades"
        ],
        "example_media_refs": [
          "175623:1",
          "173797:1",
          "173454:1",
          "173826:1",
          "174404:1",
          "172874:1"
        ],
        "example_post_ids": [
          175623,
          173797,
          173454,
          173826,
          174404,
          172874
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 6,
        "matching_author_count": 6
      },
      {
        "blog_title": "Retro Gingham Check Prints in Swim & Resort",
        "trend_name": "Classic Gingham Swim & Resort Sets",
        "trend_type": "texture",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new pattern revival bringing cottagecore checks into summer swimwear and layering pieces.",
        "description": "Gingham check prints are experiencing a playful resurgence across bikinis, one-pieces, and matching lounge sets.",
        "visual_similarity_reason": "Each post features distinct gingham patterns or plaid check textures applied to swimwear and casual resort apparel.",
        "instagram_caption": "Classic gingham gets a sun-soaked upgrade \u265f\ufe0f\u2728 The ultimate retro print for your next coastal getaway.\n\n#GinghamSwim #ResortStyle #CottagecoreAesthetic #SummerVibes",
        "trend_signal_strength": "strong",
        "confidence_score": 0.92,
        "keywords": [
          "gingham print",
          "plaid check pattern",
          "retro gingham bikini",
          "brown gingham swimsuit"
        ],
        "example_media_refs": [
          "173849:1",
          "174008:1",
          "172561:1",
          "173367:1",
          "172337:1",
          "174712:1"
        ],
        "example_post_ids": [
          173849,
          174008,
          172561,
          173367,
          172337,
          174712
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 6,
        "matching_author_count": 6
      },
      {
        "blog_title": "Effortless Sarong & Wrap-Around Beach Skirts",
        "trend_name": "Sarong & Wrap-Around Beach Skirts",
        "trend_type": "styling_formula",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new styling formula emphasizing seamless beach-to-bar layering pieces.",
        "description": "The sarong wrap skirt serves as a versatile beach-to-bar layering piece, paired effortlessly with coordinating or solid bikinis.",
        "visual_similarity_reason": "All selected examples highlight wrap-around skirts, sarongs, or tie-side cover-ups styled directly over swimwear.",
        "instagram_caption": "Just add sunshine and a wrap skirt \ud83c\udf0a The ultimate beach-to-bar styling formula for your next escape.\n\n#SarongStyle #Beachwear #ResortLook #VacationOutfit",
        "trend_signal_strength": "strong",
        "confidence_score": 0.9,
        "keywords": [
          "sarong wrap",
          "wrap-around skirt",
          "matching sarong",
          "fringed sarong"
        ],
        "example_media_refs": [
          "175522:1",
          "172031:1",
          "175085:1",
          "172536:1",
          "173395:1",
          "172586:1"
        ],
        "example_post_ids": [
          175522,
          172031,
          175085,
          172536,
          173395,
          172586
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 6,
        "matching_author_count": 6
      },
      {
        "blog_title": "High-Shine Metallic & Glitter Swimwear",
        "trend_name": "Metallic & Shimmer Swimwear",
        "trend_type": "texture",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new texture direction bringing disco-inspired shimmer to swimwear.",
        "description": "High-shine, lurex, glitter, and metallic fabrics give swimwear an elevated, shimmering edge ideal for golden hour content.",
        "visual_similarity_reason": "Each image captures high-shine, lurex, or crystal-embellished fabrics that catch the light with a metallic sheen.",
        "instagram_caption": "Catch the golden hour light in high-shine metallics \u2728\ud83e\udddc\u200d\u2640\ufe0f Because your swim look should sparkle as much as the ocean.\n\n#MetallicSwimwear #ShimmerBikini #PoolsideStyle #GlamSwim",
        "trend_signal_strength": "strong",
        "confidence_score": 0.88,
        "keywords": [
          "shimmer fabric",
          "sparkly bikini",
          "lurex fabric",
          "metallic sheen"
        ],
        "example_media_refs": [
          "171721:1",
          "172065:1",
          "174210:1",
          "174530:1",
          "172694:1",
          "174212:1"
        ],
        "example_post_ids": [
          171721,
          172065,
          174210,
          174530,
          172694,
          174212
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 6,
        "matching_author_count": 5
      },
      {
        "blog_title": "Vibrant Tropical Floral & Island Prints",
        "trend_name": "Tropical Floral & Island Prints",
        "trend_type": "outfit",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new motif trend driving high-summer vacation aesthetics.",
        "description": "Vibrant floral patterns featuring botanical motifs, hibiscus, and island foliage drive high-summer vacation aesthetics across dresses and swimwear.",
        "visual_similarity_reason": "All selected posts feature bold tropical prints, botanical illustrations, or floral patterns on swimsuits and resort dresses.",
        "instagram_caption": "Inspired by the colors of the islands \ud83c\udf34 Bring the vacation mood home with tropical florals and vibrant prints.\n\n#TropicalPrint #FloralBikini #IslandStyle #VacationWardrobe",
        "trend_signal_strength": "strong",
        "confidence_score": 0.89,
        "keywords": [
          "floral print bikini",
          "tropical floral print",
          "hibiscus print",
          "botanical fruit print"
        ],
        "example_media_refs": [
          "173211:1",
          "173294:1",
          "173787:1",
          "173814:1",
          "173212:1",
          "172661:1"
        ],
        "example_post_ids": [
          173211,
          173294,
          173787,
          173814,
          173212,
          172661
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 6,
        "matching_author_count": 5
      },
      {
        "blog_title": "Woven Straw Totes & Raffia Beach Accessories",
        "trend_name": "Woven Straw Totes & Summer Hats",
        "trend_type": "accessory",
        "trend_trajectory": "sustained",
        "historical_note": "Sustained seasonal accessory trend maintaining top-tier status for beach styling.",
        "description": "Oversized straw bags, bucket hats, and woven raffia accessories remain the ultimate defining accents for upscale beach styling.",
        "visual_similarity_reason": "Each image highlights natural straw textures, woven bucket hats, or raffia tote bags used as primary beach accessories.",
        "instagram_caption": "Your ultimate beach day essentials, found \ud83e\udd0e Woven raffia and straw accessories for effortless seaside styling.\n\n#StrawBag #RaffiaHat #BeachAccessories #ResortEssentials",
        "trend_signal_strength": "strong",
        "confidence_score": 0.91,
        "keywords": [
          "straw sun hat",
          "straw tote bag",
          "woven raffia",
          "straw bucket hat"
        ],
        "example_media_refs": [
          "173762:1",
          "172391:1",
          "173513:1",
          "174324:1",
          "172712:1",
          "173692:1"
        ],
        "example_post_ids": [
          173762,
          172391,
          173513,
          174324,
          172712,
          173692
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 6,
        "matching_author_count": 6
      },
      {
        "blog_title": "Fluid Asymmetrical Drape Maxi Dresses",
        "trend_name": "Asymmetrical Drape Maxi Dresses",
        "trend_type": "outfit",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new silhouette trend focusing on architectural draping for evening resort wear.",
        "description": "Fluid, asymmetric drapes and one-shoulder silhouettes provide an effortless, high-end resort look for evening dinners and coastal getaways.",
        "visual_similarity_reason": "All matching posts feature fluid maxi dresses with asymmetrical drapes, wrap cuts, or high-slit hemlines.",
        "instagram_caption": "Designed to move with you \u2728 Fluid drapes and asymmetric silhouettes for effortless evening elegance.\n\n#AsymmetricDress #ResortWear #EveningStyle #VacationLook",
        "trend_signal_strength": "strong",
        "confidence_score": 0.87,
        "keywords": [
          "asymmetric drape dress",
          "asymmetric hem dress",
          "flowing maxi dress",
          "cape sleeve dress"
        ],
        "example_media_refs": [
          "174508:1",
          "171843:1",
          "172405:1",
          "174355:1",
          "172586:1",
          "173080:1"
        ],
        "example_post_ids": [
          174508,
          171843,
          172405,
          174355,
          172586,
          173080
        ],
        "matching_image_count": 6,
        "matching_parent_post_count": 6,
        "matching_author_count": 6
      }
    ],
    "overview_title": "Latest Trends",
    "overview_description": "This week\u2019s resort wear leans into a sophisticated, sun-kissed palette, with rich mocha sets from @mennillodesigns and @arayswim complemented by high-shine metallic bikinis from @kamariswim and @nikkisbeachhousebtq. Playful gingham prints via @montce_swim and vibrant island florals from @lokahiswimwear bring high-summer energy to beachside styling, effortlessly layered with sarong skirts from @niathebrand and @secondsummerlabel. For evening transitions, fluid asymmetrical maxi dresses by @erikapenaofficial and @ochrelane anchor the aesthetic, finished with oversized raffia totes from @peony and @tiare_hawaii.",
    "generation_diagnostics": {
      "available": true,
      "generated_at": "2026-07-28T20:16:12.798326Z",
      "tag": "swimwear",
      "media_scope": "cover_only",
      "generation_strategy": "deep_chunked_two_pass_candidate_discovery_and_validation",
      "report_profile": "deep",
      "model": "google/gemini-3.5-flash-lite",
      "previous_report_context": null,
      "vision_preflight": {
        "enabled": true,
        "since": "2026-07-14T20:05:26.235773Z",
        "media_scope": "cover_only",
        "scoped_post_count": 0,
        "batch_size": 500,
        "max_batches": 20,
        "batch_count": 3,
        "images_requested": 918,
        "images_analyzed": 904,
        "posts_touched": 918,
        "reached_batch_cap": false,
        "batches": [
          {
            "batch_number": 1,
            "images_requested": 500,
            "images_analyzed": 495,
            "posts_touched": 500,
            "completion_reconciled": false
          },
          {
            "batch_number": 2,
            "images_requested": 418,
            "images_analyzed": 409,
            "posts_touched": 418,
            "completion_reconciled": false
          },
          {
            "batch_number": 3,
            "images_requested": 0,
            "images_analyzed": 0,
            "posts_touched": 0,
            "completion_reconciled": false
          }
        ]
      },
      "chunking": {
        "enabled": true,
        "chunk_number": 6,
        "chunk_count": 11,
        "max_posts_per_chunk": 200,
        "max_media_per_chunk": 500,
        "chunk_post_count": 200,
        "chunk_media_count": 200,
        "full_source_post_count": 2274,
        "full_eligible_post_count": 2026,
        "full_source_media_count": 2026
      },
      "criteria": {
        "time_window_days": 14,
        "window_start": "2026-07-14T20:05:26.235773Z",
        "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": 2274,
      "source_media_count": 2026,
      "eligible_post_count": 2026,
      "chunk_post_count": 200,
      "chunk_media_count": 200,
      "analyzed_post_count": 200,
      "analyzed_post_ids": [
        173723,
        175522,
        173211,
        173572,
        172272,
        172087,
        173762,
        173641,
        172003,
        172909,
        175746,
        172661,
        175837,
        173294,
        172961,
        171760,
        172586,
        173614,
        174508,
        172712,
        172391,
        174403,
        173886,
        172485,
        175054,
        172056,
        175623,
        173797,
        175402,
        174730,
        173787,
        176008,
        173521,
        172349,
        172596,
        174210,
        175881,
        171964,
        172889,
        173139,
        172691,
        172213,
        172971,
        171843,
        173513,
        174338,
        174211,
        172996,
        172910,
        171901,
        173849,
        174529,
        174024,
        171721,
        172065,
        172874,
        174987,
        175320,
        174635,
        173909,
        174069,
        174212,
        173197,
        173522,
        173454,
        173394,
        171850,
        175913,
        171742,
        171952,
        172020,
        172337,
        173692,
        173774,
        175355,
        173747,
        172864,
        173133,
        171695,
        172786,
        173284,
        173236,
        174296,
        173033,
        174008,
        173603,
        173163,
        175884,
        171770,
        173976,
        172764,
        171930,
        172827,
        171965,
        172536,
        173977,
        172405,
        173814,
        175085,
        174496,
        174471,
        172162,
        173530,
        175036,
        173104,
        174107,
        172561,
        174240,
        172619,
        172571,
        172494,
        173367,
        173117,
        175037,
        173925,
        173237,
        174674,
        172422,
        173072,
        174312,
        173080,
        173632,
        174415,
        172694,
        175575,
        172532,
        171943,
        172031,
        173711,
        172040,
        173654,
        173153,
        172438,
        173052,
        173258,
        174894,
        172804,
        172675,
        172676,
        172951,
        172439,
        172457,
        175123,
        174355,
        172314,
        175503,
        175948,
        174712,
        171808,
        173441,
        173682,
        172727,
        172531,
        171733,
        173310,
        171844,
        172549,
        172105,
        173501,
        172446,
        174607,
        172597,
        174436,
        174324,
        175021,
        174438,
        173788,
        173789,
        174424,
        171761,
        175403,
        175697,
        173273,
        174509,
        171953,
        174530,
        171743,
        175404,
        173763,
        172261,
        175590,
        173595,
        173395,
        174357,
        172189,
        172962,
        172982,
        172234,
        173826,
        173514,
        173240,
        173798,
        173324,
        172972,
        174404,
        174704,
        171979,
        175882,
        173212,
        172838
      ],
      "analyzed_media_count": 200,
      "analyzed_media_refs": [
        "173723:1",
        "175522:1",
        "173211:1",
        "173572:1",
        "172272:1",
        "172087:1",
        "173762:1",
        "173641:1",
        "172003:1",
        "172909:1",
        "175746:1",
        "172661:1",
        "175837:1",
        "173294:1",
        "172961:1",
        "171760:1",
        "172586:1",
        "173614:1",
        "174508:1",
        "172712:1",
        "172391:1",
        "174403:1",
        "173886:1",
        "172485:1",
        "175054:1",
        "172056:1",
        "175623:1",
        "173797:1",
        "175402:1",
        "174730:1",
        "173787:1",
        "176008:1",
        "173521:1",
        "172349:1",
        "172596:1",
        "174210:1",
        "175881:1",
        "171964:1",
        "172889:1",
        "173139:1",
        "172691:1",
        "172213:1",
        "172971:1",
        "171843:1",
        "173513:1",
        "174338:1",
        "174211:1",
        "172996:1",
        "172910:1",
        "171901:1",
        "173849:1",
        "174529:1",
        "174024:1",
        "171721:1",
        "172065:1",
        "172874:1",
        "174987:1",
        "175320:1",
        "174635:1",
        "173909:1",
        "174069:1",
        "174212:1",
        "173197:1",
        "173522:1",
        "173454:1",
        "173394:1",
        "171850:1",
        "175913:1",
        "171742:1",
        "171952:1",
        "172020:1",
        "172337:1",
        "173692:1",
        "173774:1",
        "175355:1",
        "173747:1",
        "172864:1",
        "173133:1",
        "171695:1",
        "172786:1",
        "173284:1",
        "173236:1",
        "174296:1",
        "173033:1",
        "174008:1",
        "173603:1",
        "173163:1",
        "175884:1",
        "171770:1",
        "173976:1",
        "172764:1",
        "171930:1",
        "172827:1",
        "171965:1",
        "172536:1",
        "173977:1",
        "172405:1",
        "173814:1",
        "175085:1",
        "174496:1",
        "174471:1",
        "172162:1",
        "173530:1",
        "175036:1",
        "173104:1",
        "174107:1",
        "172561:1",
        "174240:1",
        "172619:1",
        "172571:1",
        "172494:1",
        "173367:1",
        "173117:1",
        "175037:1",
        "173925:1",
        "173237:1",
        "174674:1",
        "172422:1",
        "173072:1",
        "174312:1",
        "173080:1",
        "173632:1",
        "174415:1",
        "172694:1",
        "175575:1",
        "172532:1",
        "171943:1",
        "172031:1",
        "173711:1",
        "172040:1",
        "173654:1",
        "173153:1",
        "172438:1",
        "173052:1",
        "173258:1",
        "174894:1",
        "172804:1",
        "172675:1",
        "172676:1",
        "172951:1",
        "172439:1",
        "172457:1",
        "175123:1",
        "174355:1",
        "172314:1",
        "175503:1",
        "175948:1",
        "174712:1",
        "171808:1",
        "173441:1",
        "173682:1",
        "172727:1",
        "172531:1",
        "171733:1",
        "173310:1",
        "171844:1",
        "172549:1",
        "172105:1",
        "173501:1",
        "172446:1",
        "174607:1",
        "172597:1",
        "174436:1",
        "174324:1",
        "175021:1",
        "174438:1",
        "173788:1",
        "173789:1",
        "174424:1",
        "171761:1",
        "175403:1",
        "175697:1",
        "173273:1",
        "174509:1",
        "171953:1",
        "174530:1",
        "171743:1",
        "175404:1",
        "173763:1",
        "172261:1",
        "175590:1",
        "173595:1",
        "173395:1",
        "174357:1",
        "172189:1",
        "172962:1",
        "172982:1",
        "172234:1",
        "173826:1",
        "173514:1",
        "173240:1",
        "173798:1",
        "173324:1",
        "172972:1",
        "174404:1",
        "174704:1",
        "171979:1",
        "175882:1",
        "173212:1",
        "172838:1"
      ],
      "full_source_prompt_character_count": 112389,
      "source_prompt_character_count": 112389,
      "prompt_character_count": 112389,
      "prompt_character_limit": 300000,
      "prompt_was_truncated": false,
      "candidate_prompt_character_count": 116548,
      "validation_prompt_character_count": 121985,
      "candidate_reasoning_scratchpad": "The current data highlights a heavy focus on resortwear, tropical getaways, and swimwear updates with strong color-blocking, metallic finishes, and coordinate sets. Key aesthetic drivers include earthy chocolate brown swimwear, vibrant hibiscus or floral prints, and casual beach-to-bar styling formulas featuring sarongs and oversized straw totes.",
      "validation_reasoning_scratchpad": "The candidate clusters were evaluated against the raw data, filtering out single-brand initiatives and validating recurring visual themes like chocolate brown swimwear, retro gingham prints, sarong resort layering, high-shine metallics, and tropical island prints. Each validated trend successfully meets the minimum criteria of containing at least 4 distinct image MediaRefs from at least 3 separate parent posts.",
      "ai_discovered_candidate_count": 7,
      "candidate_trends": [
        {
          "candidate_name": "Chocolate Brown & Espresso Swimwear",
          "trend_type": "color",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "175623:1",
            "173797:1",
            "173454:1",
            "173826:1",
            "174404:1"
          ],
          "visual_cues": [
            "chocolate brown bikini",
            "mocha sand swimwear",
            "earth tone palette",
            "island bronze shades"
          ]
        },
        {
          "candidate_name": "Classic Gingham Swim & Resort Sets",
          "trend_type": "texture",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "173849:1",
            "174008:1",
            "172561:1",
            "173367:1"
          ],
          "visual_cues": [
            "gingham print",
            "plaid check pattern",
            "retro gingham bikini",
            "brown gingham swimsuit"
          ]
        },
        {
          "candidate_name": "Sarong & Wrap-Around Beach Skirts",
          "trend_type": "styling_formula",
          "visual_axis": "styling_formula",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "175522:1",
            "172031:1",
            "175085:1",
            "172536:1",
            "173395:1"
          ],
          "visual_cues": [
            "sarong wrap",
            "wrap-around skirt",
            "matching sarong",
            "fringed sarong"
          ]
        },
        {
          "candidate_name": "Metallic & Shimmer Swimwear",
          "trend_type": "texture",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "171721:1",
            "172065:1",
            "174210:1",
            "174530:1",
            "172694:1"
          ],
          "visual_cues": [
            "shimmer fabric",
            "sparkly bikini",
            "lurex fabric",
            "metallic sheen"
          ]
        },
        {
          "candidate_name": "Tropical Floral & Island Prints",
          "trend_type": "outfit",
          "visual_axis": "garment_type",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "173211:1",
            "173294:1",
            "173787:1",
            "173814:1",
            "173212:1"
          ],
          "visual_cues": [
            "floral print bikini",
            "tropical floral print",
            "hibiscus print",
            "botanical fruit print"
          ]
        },
        {
          "candidate_name": "Woven Straw Totes & Summer Hats",
          "trend_type": "accessory",
          "visual_axis": "accessory",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "173762:1",
            "172391:1",
            "173513:1",
            "174324:1",
            "172712:1"
          ],
          "visual_cues": [
            "straw sun hat",
            "straw tote bag",
            "woven raffia",
            "straw bucket hat"
          ]
        },
        {
          "candidate_name": "Asymmetrical Drape Maxi Dresses",
          "trend_type": "outfit",
          "visual_axis": "silhouette",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "174508:1",
            "171843:1",
            "172405:1",
            "174355:1"
          ],
          "visual_cues": [
            "asymmetric drape dress",
            "asymmetric hem dress",
            "flowing maxi dress",
            "cape sleeve dress"
          ]
        }
      ],
      "ai_candidate_trend_count": 7,
      "ai_validated_trend_count_before_filter": 7,
      "accepted_trend_count": 7,
      "rejected_trend_count": 0,
      "rejected_trends": []
    }
  }
}