{
  "report": {
    "id": 139,
    "period": "[swimwear] Jul 14 - Jul 28, 2026 (Part 1 of 11)",
    "created_at": "2026-07-28T20:14:38.236405+00:00",
    "workflow_note": ""
  },
  "generation_diagnostics": {
    "available": true,
    "generated_at": "2026-07-28T20:14:54.963718Z",
    "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": 1,
      "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": [
      174302,
      174282,
      174052,
      173781,
      175118,
      174511,
      175607,
      175205,
      173677,
      173590,
      175039,
      174821,
      172701,
      175827,
      175828,
      172668,
      173710,
      173960,
      174345,
      172323,
      172796,
      172098,
      172452,
      172680,
      172356,
      172638,
      172110,
      172639,
      173486,
      175389,
      173056,
      172477,
      172122,
      172544,
      174346,
      172440,
      171728,
      172170,
      172324,
      175731,
      174269,
      171802,
      175791,
      175499,
      173972,
      172171,
      173305,
      173497,
      175206,
      172945,
      174605,
      172640,
      173495,
      172641,
      172751,
      175971,
      175972,
      175973,
      175974,
      175975,
      175976,
      174128,
      173782,
      172308,
      175017,
      172258,
      175207,
      174905,
      173204,
      173537,
      175977,
      175978,
      175979,
      173047,
      174270,
      174462,
      172808,
      174390,
      174237,
      172259,
      175519,
      173859,
      174318,
      173507,
      171937,
      172325,
      174523,
      172326,
      171755,
      172946,
      173205,
      175896,
      173637,
      172000,
      173757,
      172327,
      175399,
      174502,
      172702,
      173568,
      171716,
      174290,
      171988,
      172713,
      174399,
      171911,
      173790,
      175619,
      172681,
      171962,
      173125,
      173519,
      174445,
      171740,
      175875,
      172992,
      174271,
      172980,
      172246,
      173228,
      171884,
      175090,
      173930,
      172872,
      174148,
      173689,
      172018,
      173359,
      174372,
      175352,
      173371,
      173769,
      172692,
      172581,
      172902,
      172860,
      174727,
      173961,
      173229,
      173718,
      173811,
      173113,
      173127,
      173023,
      173066,
      175148,
      172060,
      175208,
      172602,
      171926,
      175008,
      175029,
      173883,
      173024,
      173011,
      172222,
      174524,
      175099,
      175500,
      173791,
      171948,
      174102,
      175030,
      172172,
      172489,
      171896,
      172416,
      172615,
      174906,
      172134,
      172085,
      173360,
      175209,
      174380,
      175608,
      173984,
      172376,
      175210,
      172428,
      175075,
      175240,
      172797,
      172525,
      172527,
      172357,
      173254,
      172123,
      172429,
      175829,
      172703,
      175944,
      174822,
      174513,
      172111,
      173149,
      174411,
      174272,
      173758,
      172593,
      174347
    ],
    "analyzed_media_count": 200,
    "analyzed_media_refs": [
      "174302:1",
      "174282:1",
      "174052:1",
      "173781:1",
      "175118:1",
      "174511:1",
      "175607:1",
      "175205:1",
      "173677:1",
      "173590:1",
      "175039:1",
      "174821:1",
      "172701:1",
      "175827:1",
      "175828:1",
      "172668:1",
      "173710:1",
      "173960:1",
      "174345:1",
      "172323:1",
      "172796:1",
      "172098:1",
      "172452:1",
      "172680:1",
      "172356:1",
      "172638:1",
      "172110:1",
      "172639:1",
      "173486:1",
      "175389:1",
      "173056:1",
      "172477:1",
      "172122:1",
      "172544:1",
      "174346:1",
      "172440:1",
      "171728:1",
      "172170:1",
      "172324:1",
      "175731:1",
      "174269:1",
      "171802:1",
      "175791:1",
      "175499:1",
      "173972:1",
      "172171:1",
      "173305:1",
      "173497:1",
      "175206:1",
      "172945:1",
      "174605:1",
      "172640:1",
      "173495:1",
      "172641:1",
      "172751:1",
      "175971:1",
      "175972:1",
      "175973:1",
      "175974:1",
      "175975:1",
      "175976:1",
      "174128:1",
      "173782:1",
      "172308:1",
      "175017:1",
      "172258:1",
      "175207:1",
      "174905:1",
      "173204:1",
      "173537:1",
      "175977:1",
      "175978:1",
      "175979:1",
      "173047:1",
      "174270:1",
      "174462:1",
      "172808:1",
      "174390:1",
      "174237:1",
      "172259:1",
      "175519:1",
      "173859:1",
      "174318:1",
      "173507:1",
      "171937:1",
      "172325:1",
      "174523:1",
      "172326:1",
      "171755:1",
      "172946:1",
      "173205:1",
      "175896:1",
      "173637:1",
      "172000:1",
      "173757:1",
      "172327:1",
      "175399:1",
      "174502:1",
      "172702:1",
      "173568:1",
      "171716:1",
      "174290:1",
      "171988:1",
      "172713:1",
      "174399:1",
      "171911:1",
      "173790:1",
      "175619:1",
      "172681:1",
      "171962:1",
      "173125:1",
      "173519:1",
      "174445:1",
      "171740:1",
      "175875:1",
      "172992:1",
      "174271:1",
      "172980:1",
      "172246:1",
      "173228:1",
      "171884:1",
      "175090:1",
      "173930:1",
      "172872:1",
      "174148:1",
      "173689:1",
      "172018:1",
      "173359:1",
      "174372:1",
      "175352:1",
      "173371:1",
      "173769:1",
      "172692:1",
      "172581:1",
      "172902:1",
      "172860:1",
      "174727:1",
      "173961:1",
      "173229:1",
      "173718:1",
      "173811:1",
      "173113:1",
      "173127:1",
      "173023:1",
      "173066:1",
      "175148:1",
      "172060:1",
      "175208:1",
      "172602:1",
      "171926:1",
      "175008:1",
      "175029:1",
      "173883:1",
      "173024:1",
      "173011:1",
      "172222:1",
      "174524:1",
      "175099:1",
      "175500:1",
      "173791:1",
      "171948:1",
      "174102:1",
      "175030:1",
      "172172:1",
      "172489:1",
      "171896:1",
      "172416:1",
      "172615:1",
      "174906:1",
      "172134:1",
      "172085:1",
      "173360:1",
      "175209:1",
      "174380:1",
      "175608:1",
      "173984:1",
      "172376:1",
      "175210:1",
      "172428:1",
      "175075:1",
      "175240:1",
      "172797:1",
      "172525:1",
      "172527:1",
      "172357:1",
      "173254:1",
      "172123:1",
      "172429:1",
      "175829:1",
      "172703:1",
      "175944:1",
      "174822:1",
      "174513:1",
      "172111:1",
      "173149:1",
      "174411:1",
      "174272:1",
      "173758:1",
      "172593:1",
      "174347:1"
    ],
    "full_source_prompt_character_count": 120589,
    "source_prompt_character_count": 120589,
    "prompt_character_count": 120589,
    "prompt_character_limit": 300000,
    "prompt_was_truncated": false,
    "candidate_prompt_character_count": 124748,
    "validation_prompt_character_count": 130521,
    "candidate_reasoning_scratchpad": "The past 14 days of social content are heavily dominated by warm-weather resort wear, high-cut swimsuits, and beach-to-street styling formulas. Key recurring aesthetics include minimalist monochrome palettes (especially all-white and espresso/chocolate brown), crochet textures, and coastal vacation setups.",
    "validation_reasoning_scratchpad": "We validated multiple emerging and sustained resort-wear and swimwear visual trends from the past 14 days, prioritizing high visual similarity across multiple authors and parent posts. The selection captures dominant coastal aesthetics including chocolate brown resort wear, high-cut minimalist one-pieces, layered gold jewelry paired with swimwear, and open-front white linen shirt cover-ups.",
    "ai_discovered_candidate_count": 8,
    "candidate_trends": [
      {
        "candidate_name": "Espresso and Chocolate Brown Swim & Resort Wear",
        "trend_type": "color",
        "visual_axis": "color",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "172258:1",
          "175971:1",
          "175875:1",
          "175978:1"
        ],
        "visual_cues": [
          "chocolate brown",
          "espresso",
          "monochromatic brown palette",
          "warm earth tones"
        ]
      },
      {
        "candidate_name": "High-Cut Leg Minimalist One-Piece Swimsuits",
        "trend_type": "outfit",
        "visual_axis": "silhouette",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "174269:1",
          "172323:1",
          "174523:1",
          "172602:1"
        ],
        "visual_cues": [
          "high-cut leg",
          "one-piece swimsuit",
          "scoop neck",
          "minimalist swimwear",
          "solid colors"
        ]
      },
      {
        "candidate_name": "Layered Gold Jewelry & Pendant Necklaces with Swimwear",
        "trend_type": "accessory",
        "visual_axis": "accessory",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "174282:1",
          "175205:1",
          "172945:1",
          "173371:1"
        ],
        "visual_cues": [
          "layered gold necklaces",
          "gold pendant necklace",
          "stacked gold bracelets",
          "gold hoop earrings"
        ]
      },
      {
        "candidate_name": "Open-Front White Muslin & Linen Shirt Cover-Ups",
        "trend_type": "styling_formula",
        "visual_axis": "styling_formula",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "174128:1",
          "172308:1",
          "175207:1",
          "173859:1"
        ],
        "visual_cues": [
          "white muslin shirt",
          "white linen shirt",
          "button-down cover-up",
          "relaxed silhouette"
        ]
      },
      {
        "candidate_name": "Crochet and Open-Knit Beach Cover-Ups",
        "trend_type": "texture",
        "visual_axis": "texture",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "175017:1",
          "172860:1",
          "173066:1",
          "171988:1"
        ],
        "visual_cues": [
          "crochet bikini",
          "crochet cover-up",
          "sheer textured fabric",
          "open-knit dress"
        ]
      },
      {
        "candidate_name": "Vibrant Tropical and Floral Print Bikinis",
        "trend_type": "color",
        "visual_axis": "color",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "174282:1",
          "174821:1",
          "172638:1",
          "173205:1"
        ],
        "visual_cues": [
          "floral print bikini",
          "tropical print swimwear",
          "hibiscus floral print",
          "botanical pattern"
        ]
      },
      {
        "candidate_name": "All-White Monochromatic Resort Sets and Dresses",
        "trend_type": "outfit",
        "visual_axis": "color",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "175791:1",
          "175973:1",
          "175209:1",
          "174380:1"
        ],
        "visual_cues": [
          "white linen set",
          "white maxi dress",
          "monochromatic white",
          "all-white aesthetic"
        ]
      },
      {
        "candidate_name": "Mirror Selfie Poolside & Retail Outfit Checks",
        "trend_type": "pose",
        "visual_axis": "pose",
        "historical_relationship": "net_new",
        "seed_media_count": 4,
        "seed_media_refs": [
          "174237:1",
          "175977:1",
          "175978:1",
          "175979:1"
        ],
        "visual_cues": [
          "mirror selfie",
          "minimalist interior",
          "phone in hand",
          "outfit check"
        ]
      }
    ],
    "ai_candidate_trend_count": 8,
    "ai_validated_trend_count_before_filter": 8,
    "accepted_trend_count": 8,
    "rejected_trend_count": 0,
    "rejected_trends": []
  },
  "accepted_trend_audit": [
    {
      "trend_number": 1,
      "trend_name": "Espresso and Chocolate Brown Swim & Resort Wear",
      "blog_title": "Espresso & Chocolate Brown Swim and Resort Wear",
      "trend_type": "color",
      "signal_strength": "strong",
      "confidence_percent": 95.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "All selected examples prominently feature monochromatic chocolate brown or espresso color palettes across swimwear, dresses, or matching resort sets.",
      "description": "Rich warm earth tones like espresso and chocolate brown dominate swimwear sets, mini dresses, and resort trousers for an elevated luxury feel.",
      "keywords": [
        "chocolate brown",
        "espresso",
        "monochromatic brown",
        "resort wear",
        "swimwear"
      ],
      "post_ids": [
        172258,
        175971,
        175875,
        175978
      ],
      "media_refs": [
        "172258:1",
        "175971:1",
        "175875:1",
        "175978:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 95.0% confidence. All selected examples prominently feature monochromatic chocolate brown or espresso color palettes across swimwear, dresses, or matching resort sets."
    },
    {
      "trend_number": 2,
      "trend_name": "High-Cut Leg Minimalist One-Piece Swimsuits",
      "blog_title": "High-Cut Leg Minimalist One-Piece Swimsuits",
      "trend_type": "outfit",
      "signal_strength": "strong",
      "confidence_percent": 92.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "Each image showcases a minimalist one-piece swimsuit in solid neutral or primary hues with a high-cut leg silhouette.",
      "description": "Sleek, solid-colored one-piece swimsuits featuring high-cut legs and scoop necklines for an effortless athletic-chic aesthetic.",
      "keywords": [
        "high-cut leg",
        "one-piece swimsuit",
        "minimalist swimwear",
        "solid colors",
        "scoop neck"
      ],
      "post_ids": [
        174269,
        172323,
        174523,
        172602
      ],
      "media_refs": [
        "174269:1",
        "172323:1",
        "174523:1",
        "172602:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 92.0% confidence. Each image showcases a minimalist one-piece swimsuit in solid neutral or primary hues with a high-cut leg silhouette."
    },
    {
      "trend_number": 3,
      "trend_name": "Layered Gold Jewelry & Pendant Necklaces with Swimwear",
      "blog_title": "Layered Gold Jewelry & Pendant Necklaces with Swimwear",
      "trend_type": "accessory",
      "signal_strength": "strong",
      "confidence_percent": 90.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "The images consistently feature stacked gold necklaces, pendants, or gold hoop earrings styled directly with swimwear or resort tops.",
      "description": "Stacking gold chains, pendants, hoop earrings, and bracelets over bikinis and swimwear to create an effortless luxury resort aesthetic.",
      "keywords": [
        "layered gold necklaces",
        "gold pendant",
        "stacked bracelets",
        "gold hoop earrings",
        "swimwear accessories"
      ],
      "post_ids": [
        174282,
        175205,
        172945,
        173371
      ],
      "media_refs": [
        "174282:1",
        "175205:1",
        "172945:1",
        "173371:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 90.0% confidence. The images consistently feature stacked gold necklaces, pendants, or gold hoop earrings styled directly with swimwear or resort tops."
    },
    {
      "trend_number": 4,
      "trend_name": "Open-Front White Muslin & Linen Shirt Cover-Ups",
      "blog_title": "Open-Front White Muslin & Linen Shirt Cover-Ups",
      "trend_type": "styling_formula",
      "signal_strength": "strong",
      "confidence_percent": 94.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "All selected references feature an unbuttoned white linen, muslin, or button-down shirt styled as a cover-up over swimwear.",
      "description": "The unbuttoned white linen or gauze shirt worn casually over bikinis and swimwear for effortless coastal transitions.",
      "keywords": [
        "white linen shirt",
        "white muslin shirt",
        "button-down cover-up",
        "resort styling",
        "beachwear"
      ],
      "post_ids": [
        174128,
        172308,
        175207,
        173859
      ],
      "media_refs": [
        "174128:1",
        "172308:1",
        "175207:1",
        "173859:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 94.0% confidence. All selected references feature an unbuttoned white linen, muslin, or button-down shirt styled as a cover-up over swimwear."
    },
    {
      "trend_number": 5,
      "trend_name": "Crochet and Open-Knit Beach Cover-Ups",
      "blog_title": "Crochet and Open-Knit Beach Cover-Ups",
      "trend_type": "texture",
      "signal_strength": "strong",
      "confidence_percent": 91.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "Each image showcases textured crochet fabric, open-knit stitchwork, or lace-like mesh applied to swimwear or resort cover-ups.",
      "description": "Textured open-knit fabrics, crochet stitchwork, and mesh cover-ups providing a handcrafted bohemian layer for resort wear.",
      "keywords": [
        "crochet",
        "open-knit",
        "sheer textured fabric",
        "boho beach style",
        "resort wear"
      ],
      "post_ids": [
        175017,
        172860,
        173066,
        171988
      ],
      "media_refs": [
        "175017:1",
        "172860:1",
        "173066:1",
        "171988:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 91.0% confidence. Each image showcases textured crochet fabric, open-knit stitchwork, or lace-like mesh applied to swimwear or resort cover-ups."
    },
    {
      "trend_number": 6,
      "trend_name": "Vibrant Tropical and Floral Print Bikinis",
      "blog_title": "Vibrant Tropical and Floral Print Bikinis",
      "trend_type": "color",
      "signal_strength": "strong",
      "confidence_percent": 93.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "The selected posts prominently feature multi-colored botanical prints, floral patterns, or hibiscus motifs on swimwear sets.",
      "description": "Maximalist floral prints, hibiscus motifs, and botanical patterns on string or triangle bikinis for statement-making summer style.",
      "keywords": [
        "floral print bikini",
        "tropical swimwear",
        "hibiscus print",
        "botanical pattern",
        "string bikini"
      ],
      "post_ids": [
        174282,
        174821,
        172638,
        173205
      ],
      "media_refs": [
        "174282:1",
        "174821:1",
        "172638:1",
        "173205:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 93.0% confidence. The selected posts prominently feature multi-colored botanical prints, floral patterns, or hibiscus motifs on swimwear sets."
    },
    {
      "trend_number": 7,
      "trend_name": "All-White Monochromatic Resort Sets and Dresses",
      "blog_title": "All-White Monochromatic Resort Sets and Dresses",
      "trend_type": "outfit",
      "signal_strength": "strong",
      "confidence_percent": 92.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "All images feature head-to-toe monochromatic white styling utilizing linen sets, dresses, or resort skirts.",
      "description": "Crisp, all-white ensembles including linen matching sets, slip dresses, and maxi cover-ups for a clean, timeless aesthetic.",
      "keywords": [
        "white linen set",
        "white maxi dress",
        "monochromatic white",
        "all-white aesthetic",
        "resort wear"
      ],
      "post_ids": [
        175791,
        175973,
        175209,
        174380
      ],
      "media_refs": [
        "175791:1",
        "175973:1",
        "175209:1",
        "174380:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 92.0% confidence. All images feature head-to-toe monochromatic white styling utilizing linen sets, dresses, or resort skirts."
    },
    {
      "trend_number": 8,
      "trend_name": "Mirror Selfie Poolside & Retail Outfit Checks",
      "blog_title": "Mirror Selfie Poolside & Retail Outfit Checks",
      "trend_type": "pose",
      "signal_strength": "strong",
      "confidence_percent": 89.0,
      "matching_image_count": 4,
      "matching_parent_post_count": 4,
      "visual_similarity_reason": "Each reference uses a mirror selfie composition capturing outfit checks in minimal interiors or boutique showroom settings.",
      "description": "Casual mirror reflection compositions capturing authentic outfit checks, retail try-ons, and vacation wardrobe pairings.",
      "keywords": [
        "mirror selfie",
        "outfit check",
        "minimalist interior",
        "try-on session",
        "vacation styling"
      ],
      "post_ids": [
        174237,
        175977,
        175978,
        175979
      ],
      "media_refs": [
        "174237:1",
        "175977:1",
        "175978:1",
        "175979:1"
      ],
      "qualification_reason": "Accepted with 4 matching images across 4 parent posts at 89.0% confidence. Each reference uses a mirror selfie composition capturing outfit checks in minimal interiors or boutique showroom settings."
    }
  ],
  "report_payload": {
    "reasoning_scratchpad": "We validated multiple emerging and sustained resort-wear and swimwear visual trends from the past 14 days, prioritizing high visual similarity across multiple authors and parent posts. The selection captures dominant coastal aesthetics including chocolate brown resort wear, high-cut minimalist one-pieces, layered gold jewelry paired with swimwear, and open-front white linen shirt cover-ups.",
    "content_ideas": [
      {
        "blog_title": "Espresso & Chocolate Brown Swim and Resort Wear",
        "trend_name": "Espresso and Chocolate Brown Swim & Resort Wear",
        "trend_type": "color",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new colorway dominance observed across multiple independent swimwear brands replacing traditional black.",
        "description": "Rich warm earth tones like espresso and chocolate brown dominate swimwear sets, mini dresses, and resort trousers for an elevated luxury feel.",
        "visual_similarity_reason": "All selected examples prominently feature monochromatic chocolate brown or espresso color palettes across swimwear, dresses, or matching resort sets.",
        "instagram_caption": "Rich espresso tones are taking over our resort wardrobe. \ud83e\udd0e Elevate your poolside look with deep chocolate hues. \u2728",
        "trend_signal_strength": "strong",
        "confidence_score": 0.95,
        "keywords": [
          "chocolate brown",
          "espresso",
          "monochromatic brown",
          "resort wear",
          "swimwear"
        ],
        "example_media_refs": [
          "172258:1",
          "175971:1",
          "175875:1",
          "175978:1"
        ],
        "example_post_ids": [
          172258,
          175971,
          175875,
          175978
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 3
      },
      {
        "blog_title": "High-Cut Leg Minimalist One-Piece Swimsuits",
        "trend_name": "High-Cut Leg Minimalist One-Piece Swimsuits",
        "trend_type": "outfit",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new athletic-chic revival inspired by 80s silhouettes tailored for modern coastal destinations.",
        "description": "Sleek, solid-colored one-piece swimsuits featuring high-cut legs and scoop necklines for an effortless athletic-chic aesthetic.",
        "visual_similarity_reason": "Each image showcases a minimalist one-piece swimsuit in solid neutral or primary hues with a high-cut leg silhouette.",
        "instagram_caption": "The ultimate classic: high-cut one-pieces designed for endless summer days. \ud83c\udf0a\u2728",
        "trend_signal_strength": "strong",
        "confidence_score": 0.92,
        "keywords": [
          "high-cut leg",
          "one-piece swimsuit",
          "minimalist swimwear",
          "solid colors",
          "scoop neck"
        ],
        "example_media_refs": [
          "174269:1",
          "172323:1",
          "174523:1",
          "172602:1"
        ],
        "example_post_ids": [
          174269,
          172323,
          174523,
          172602
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      },
      {
        "blog_title": "Layered Gold Jewelry & Pendant Necklaces with Swimwear",
        "trend_name": "Layered Gold Jewelry & Pendant Necklaces with Swimwear",
        "trend_type": "accessory",
        "trend_trajectory": "sustained",
        "historical_note": "Sustained styling choice elevating casual poolside looks with luxurious gold chains and pendants.",
        "description": "Stacking gold chains, pendants, hoop earrings, and bracelets over bikinis and swimwear to create an effortless luxury resort aesthetic.",
        "visual_similarity_reason": "The images consistently feature stacked gold necklaces, pendants, or gold hoop earrings styled directly with swimwear or resort tops.",
        "instagram_caption": "Draped in gold by the water. \u2728 The easiest way to elevate your favorite bikini.",
        "trend_signal_strength": "strong",
        "confidence_score": 0.9,
        "keywords": [
          "layered gold necklaces",
          "gold pendant",
          "stacked bracelets",
          "gold hoop earrings",
          "swimwear accessories"
        ],
        "example_media_refs": [
          "174282:1",
          "175205:1",
          "172945:1",
          "173371:1"
        ],
        "example_post_ids": [
          174282,
          175205,
          172945,
          173371
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      },
      {
        "blog_title": "Open-Front White Muslin & Linen Shirt Cover-Ups",
        "trend_name": "Open-Front White Muslin & Linen Shirt Cover-Ups",
        "trend_type": "styling_formula",
        "trend_trajectory": "sustained",
        "historical_note": "Sustained high-utility beach-to-street styling formula seen widely across resort collections.",
        "description": "The unbuttoned white linen or gauze shirt worn casually over bikinis and swimwear for effortless coastal transitions.",
        "visual_similarity_reason": "All selected references feature an unbuttoned white linen, muslin, or button-down shirt styled as a cover-up over swimwear.",
        "instagram_caption": "The ultimate beach essential: an oversized white linen shirt thrown over your bikini. \ud83e\udd0d\u2600\ufe0f",
        "trend_signal_strength": "strong",
        "confidence_score": 0.94,
        "keywords": [
          "white linen shirt",
          "white muslin shirt",
          "button-down cover-up",
          "resort styling",
          "beachwear"
        ],
        "example_media_refs": [
          "174128:1",
          "172308:1",
          "175207:1",
          "173859:1"
        ],
        "example_post_ids": [
          174128,
          172308,
          175207,
          173859
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      },
      {
        "blog_title": "Crochet and Open-Knit Beach Cover-Ups",
        "trend_name": "Crochet and Open-Knit Beach Cover-Ups",
        "trend_type": "texture",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new tactile bohemian trend bringing open-knit stitchwork to poolside wardrobes.",
        "description": "Textured open-knit fabrics, crochet stitchwork, and mesh cover-ups providing a handcrafted bohemian layer for resort wear.",
        "visual_similarity_reason": "Each image showcases textured crochet fabric, open-knit stitchwork, or lace-like mesh applied to swimwear or resort cover-ups.",
        "instagram_caption": "Tactile textures and handmade crochet for endless summer days. \ud83d\udc1a\u2728",
        "trend_signal_strength": "strong",
        "confidence_score": 0.91,
        "keywords": [
          "crochet",
          "open-knit",
          "sheer textured fabric",
          "boho beach style",
          "resort wear"
        ],
        "example_media_refs": [
          "175017:1",
          "172860:1",
          "173066:1",
          "171988:1"
        ],
        "example_post_ids": [
          175017,
          172860,
          173066,
          171988
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      },
      {
        "blog_title": "Vibrant Tropical and Floral Print Bikinis",
        "trend_name": "Vibrant Tropical and Floral Print Bikinis",
        "trend_type": "color",
        "trend_trajectory": "sustained",
        "historical_note": "Sustained seasonal favorite capturing the playful energy of peak summer travel and tropical getaways.",
        "description": "Maximalist floral prints, hibiscus motifs, and botanical patterns on string or triangle bikinis for statement-making summer style.",
        "visual_similarity_reason": "The selected posts prominently feature multi-colored botanical prints, floral patterns, or hibiscus motifs on swimwear sets.",
        "instagram_caption": "Bring on the tropical state of mind with vibrant floral bikinis. \ud83c\udf3a\ud83c\udf34",
        "trend_signal_strength": "strong",
        "confidence_score": 0.93,
        "keywords": [
          "floral print bikini",
          "tropical swimwear",
          "hibiscus print",
          "botanical pattern",
          "string bikini"
        ],
        "example_media_refs": [
          "174282:1",
          "174821:1",
          "172638:1",
          "173205:1"
        ],
        "example_post_ids": [
          174282,
          174821,
          172638,
          173205
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      },
      {
        "blog_title": "All-White Monochromatic Resort Sets and Dresses",
        "trend_name": "All-White Monochromatic Resort Sets and Dresses",
        "trend_type": "outfit",
        "trend_trajectory": "sustained",
        "historical_note": "Sustained high-end look tailored for Mediterranean strolls and warm-weather evening dinners.",
        "description": "Crisp, all-white ensembles including linen matching sets, slip dresses, and maxi cover-ups for a clean, timeless aesthetic.",
        "visual_similarity_reason": "All images feature head-to-toe monochromatic white styling utilizing linen sets, dresses, or resort skirts.",
        "instagram_caption": "Effortless elegance in all-white resort wear. \ud83e\udd0d Perfect for golden hour seaside dinners.",
        "trend_signal_strength": "strong",
        "confidence_score": 0.92,
        "keywords": [
          "white linen set",
          "white maxi dress",
          "monochromatic white",
          "all-white aesthetic",
          "resort wear"
        ],
        "example_media_refs": [
          "175791:1",
          "175973:1",
          "175209:1",
          "174380:1"
        ],
        "example_post_ids": [
          175791,
          175973,
          175209,
          174380
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      },
      {
        "blog_title": "Mirror Selfie Poolside & Retail Outfit Checks",
        "trend_name": "Mirror Selfie Poolside & Retail Outfit Checks",
        "trend_type": "pose",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new authentic engagement format favored by creator-led brands and boutiques for try-on content.",
        "description": "Casual mirror reflection compositions capturing authentic outfit checks, retail try-ons, and vacation wardrobe pairings.",
        "visual_similarity_reason": "Each reference uses a mirror selfie composition capturing outfit checks in minimal interiors or boutique showroom settings.",
        "instagram_caption": "Outfit check: vacation edition. \ud83e\ude9e\u2728 Which look are you packing?",
        "trend_signal_strength": "strong",
        "confidence_score": 0.89,
        "keywords": [
          "mirror selfie",
          "outfit check",
          "minimalist interior",
          "try-on session",
          "vacation styling"
        ],
        "example_media_refs": [
          "174237:1",
          "175977:1",
          "175978:1",
          "175979:1"
        ],
        "example_post_ids": [
          174237,
          175977,
          175978,
          175979
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 2
      }
    ],
    "overview_title": "Latest Trends",
    "overview_description": "This week\u2019s resort wear embraces a dual identity, balancing crisp all-white monochromatic sets and athletic-chic high-cut one-pieces from labels like @jadeswim and @anemoslosangeles with rich espresso and chocolate brown tones seen at @imanaswim. Effortless coastal layering takes center stage through unbuttoned linen shirts and handcrafted crochet cover-ups from @elselingerie and @sealevelaustralia, accented by stacked gold jewelry from @nehastudio_. Meanwhile, creators like @barelythereswimwear_ and @stella.swim capture the authentic vacation aesthetic with mirror-selfie outfit checks and vibrant, maximalist tropical print bikinis.",
    "generation_diagnostics": {
      "available": true,
      "generated_at": "2026-07-28T20:14:54.963718Z",
      "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": 1,
        "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": [
        174302,
        174282,
        174052,
        173781,
        175118,
        174511,
        175607,
        175205,
        173677,
        173590,
        175039,
        174821,
        172701,
        175827,
        175828,
        172668,
        173710,
        173960,
        174345,
        172323,
        172796,
        172098,
        172452,
        172680,
        172356,
        172638,
        172110,
        172639,
        173486,
        175389,
        173056,
        172477,
        172122,
        172544,
        174346,
        172440,
        171728,
        172170,
        172324,
        175731,
        174269,
        171802,
        175791,
        175499,
        173972,
        172171,
        173305,
        173497,
        175206,
        172945,
        174605,
        172640,
        173495,
        172641,
        172751,
        175971,
        175972,
        175973,
        175974,
        175975,
        175976,
        174128,
        173782,
        172308,
        175017,
        172258,
        175207,
        174905,
        173204,
        173537,
        175977,
        175978,
        175979,
        173047,
        174270,
        174462,
        172808,
        174390,
        174237,
        172259,
        175519,
        173859,
        174318,
        173507,
        171937,
        172325,
        174523,
        172326,
        171755,
        172946,
        173205,
        175896,
        173637,
        172000,
        173757,
        172327,
        175399,
        174502,
        172702,
        173568,
        171716,
        174290,
        171988,
        172713,
        174399,
        171911,
        173790,
        175619,
        172681,
        171962,
        173125,
        173519,
        174445,
        171740,
        175875,
        172992,
        174271,
        172980,
        172246,
        173228,
        171884,
        175090,
        173930,
        172872,
        174148,
        173689,
        172018,
        173359,
        174372,
        175352,
        173371,
        173769,
        172692,
        172581,
        172902,
        172860,
        174727,
        173961,
        173229,
        173718,
        173811,
        173113,
        173127,
        173023,
        173066,
        175148,
        172060,
        175208,
        172602,
        171926,
        175008,
        175029,
        173883,
        173024,
        173011,
        172222,
        174524,
        175099,
        175500,
        173791,
        171948,
        174102,
        175030,
        172172,
        172489,
        171896,
        172416,
        172615,
        174906,
        172134,
        172085,
        173360,
        175209,
        174380,
        175608,
        173984,
        172376,
        175210,
        172428,
        175075,
        175240,
        172797,
        172525,
        172527,
        172357,
        173254,
        172123,
        172429,
        175829,
        172703,
        175944,
        174822,
        174513,
        172111,
        173149,
        174411,
        174272,
        173758,
        172593,
        174347
      ],
      "analyzed_media_count": 200,
      "analyzed_media_refs": [
        "174302:1",
        "174282:1",
        "174052:1",
        "173781:1",
        "175118:1",
        "174511:1",
        "175607:1",
        "175205:1",
        "173677:1",
        "173590:1",
        "175039:1",
        "174821:1",
        "172701:1",
        "175827:1",
        "175828:1",
        "172668:1",
        "173710:1",
        "173960:1",
        "174345:1",
        "172323:1",
        "172796:1",
        "172098:1",
        "172452:1",
        "172680:1",
        "172356:1",
        "172638:1",
        "172110:1",
        "172639:1",
        "173486:1",
        "175389:1",
        "173056:1",
        "172477:1",
        "172122:1",
        "172544:1",
        "174346:1",
        "172440:1",
        "171728:1",
        "172170:1",
        "172324:1",
        "175731:1",
        "174269:1",
        "171802:1",
        "175791:1",
        "175499:1",
        "173972:1",
        "172171:1",
        "173305:1",
        "173497:1",
        "175206:1",
        "172945:1",
        "174605:1",
        "172640:1",
        "173495:1",
        "172641:1",
        "172751:1",
        "175971:1",
        "175972:1",
        "175973:1",
        "175974:1",
        "175975:1",
        "175976:1",
        "174128:1",
        "173782:1",
        "172308:1",
        "175017:1",
        "172258:1",
        "175207:1",
        "174905:1",
        "173204:1",
        "173537:1",
        "175977:1",
        "175978:1",
        "175979:1",
        "173047:1",
        "174270:1",
        "174462:1",
        "172808:1",
        "174390:1",
        "174237:1",
        "172259:1",
        "175519:1",
        "173859:1",
        "174318:1",
        "173507:1",
        "171937:1",
        "172325:1",
        "174523:1",
        "172326:1",
        "171755:1",
        "172946:1",
        "173205:1",
        "175896:1",
        "173637:1",
        "172000:1",
        "173757:1",
        "172327:1",
        "175399:1",
        "174502:1",
        "172702:1",
        "173568:1",
        "171716:1",
        "174290:1",
        "171988:1",
        "172713:1",
        "174399:1",
        "171911:1",
        "173790:1",
        "175619:1",
        "172681:1",
        "171962:1",
        "173125:1",
        "173519:1",
        "174445:1",
        "171740:1",
        "175875:1",
        "172992:1",
        "174271:1",
        "172980:1",
        "172246:1",
        "173228:1",
        "171884:1",
        "175090:1",
        "173930:1",
        "172872:1",
        "174148:1",
        "173689:1",
        "172018:1",
        "173359:1",
        "174372:1",
        "175352:1",
        "173371:1",
        "173769:1",
        "172692:1",
        "172581:1",
        "172902:1",
        "172860:1",
        "174727:1",
        "173961:1",
        "173229:1",
        "173718:1",
        "173811:1",
        "173113:1",
        "173127:1",
        "173023:1",
        "173066:1",
        "175148:1",
        "172060:1",
        "175208:1",
        "172602:1",
        "171926:1",
        "175008:1",
        "175029:1",
        "173883:1",
        "173024:1",
        "173011:1",
        "172222:1",
        "174524:1",
        "175099:1",
        "175500:1",
        "173791:1",
        "171948:1",
        "174102:1",
        "175030:1",
        "172172:1",
        "172489:1",
        "171896:1",
        "172416:1",
        "172615:1",
        "174906:1",
        "172134:1",
        "172085:1",
        "173360:1",
        "175209:1",
        "174380:1",
        "175608:1",
        "173984:1",
        "172376:1",
        "175210:1",
        "172428:1",
        "175075:1",
        "175240:1",
        "172797:1",
        "172525:1",
        "172527:1",
        "172357:1",
        "173254:1",
        "172123:1",
        "172429:1",
        "175829:1",
        "172703:1",
        "175944:1",
        "174822:1",
        "174513:1",
        "172111:1",
        "173149:1",
        "174411:1",
        "174272:1",
        "173758:1",
        "172593:1",
        "174347:1"
      ],
      "full_source_prompt_character_count": 120589,
      "source_prompt_character_count": 120589,
      "prompt_character_count": 120589,
      "prompt_character_limit": 300000,
      "prompt_was_truncated": false,
      "candidate_prompt_character_count": 124748,
      "validation_prompt_character_count": 130521,
      "candidate_reasoning_scratchpad": "The past 14 days of social content are heavily dominated by warm-weather resort wear, high-cut swimsuits, and beach-to-street styling formulas. Key recurring aesthetics include minimalist monochrome palettes (especially all-white and espresso/chocolate brown), crochet textures, and coastal vacation setups.",
      "validation_reasoning_scratchpad": "We validated multiple emerging and sustained resort-wear and swimwear visual trends from the past 14 days, prioritizing high visual similarity across multiple authors and parent posts. The selection captures dominant coastal aesthetics including chocolate brown resort wear, high-cut minimalist one-pieces, layered gold jewelry paired with swimwear, and open-front white linen shirt cover-ups.",
      "ai_discovered_candidate_count": 8,
      "candidate_trends": [
        {
          "candidate_name": "Espresso and Chocolate Brown Swim & Resort Wear",
          "trend_type": "color",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "172258:1",
            "175971:1",
            "175875:1",
            "175978:1"
          ],
          "visual_cues": [
            "chocolate brown",
            "espresso",
            "monochromatic brown palette",
            "warm earth tones"
          ]
        },
        {
          "candidate_name": "High-Cut Leg Minimalist One-Piece Swimsuits",
          "trend_type": "outfit",
          "visual_axis": "silhouette",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "174269:1",
            "172323:1",
            "174523:1",
            "172602:1"
          ],
          "visual_cues": [
            "high-cut leg",
            "one-piece swimsuit",
            "scoop neck",
            "minimalist swimwear",
            "solid colors"
          ]
        },
        {
          "candidate_name": "Layered Gold Jewelry & Pendant Necklaces with Swimwear",
          "trend_type": "accessory",
          "visual_axis": "accessory",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "174282:1",
            "175205:1",
            "172945:1",
            "173371:1"
          ],
          "visual_cues": [
            "layered gold necklaces",
            "gold pendant necklace",
            "stacked gold bracelets",
            "gold hoop earrings"
          ]
        },
        {
          "candidate_name": "Open-Front White Muslin & Linen Shirt Cover-Ups",
          "trend_type": "styling_formula",
          "visual_axis": "styling_formula",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "174128:1",
            "172308:1",
            "175207:1",
            "173859:1"
          ],
          "visual_cues": [
            "white muslin shirt",
            "white linen shirt",
            "button-down cover-up",
            "relaxed silhouette"
          ]
        },
        {
          "candidate_name": "Crochet and Open-Knit Beach Cover-Ups",
          "trend_type": "texture",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "175017:1",
            "172860:1",
            "173066:1",
            "171988:1"
          ],
          "visual_cues": [
            "crochet bikini",
            "crochet cover-up",
            "sheer textured fabric",
            "open-knit dress"
          ]
        },
        {
          "candidate_name": "Vibrant Tropical and Floral Print Bikinis",
          "trend_type": "color",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "174282:1",
            "174821:1",
            "172638:1",
            "173205:1"
          ],
          "visual_cues": [
            "floral print bikini",
            "tropical print swimwear",
            "hibiscus floral print",
            "botanical pattern"
          ]
        },
        {
          "candidate_name": "All-White Monochromatic Resort Sets and Dresses",
          "trend_type": "outfit",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "175791:1",
            "175973:1",
            "175209:1",
            "174380:1"
          ],
          "visual_cues": [
            "white linen set",
            "white maxi dress",
            "monochromatic white",
            "all-white aesthetic"
          ]
        },
        {
          "candidate_name": "Mirror Selfie Poolside & Retail Outfit Checks",
          "trend_type": "pose",
          "visual_axis": "pose",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "174237:1",
            "175977:1",
            "175978:1",
            "175979:1"
          ],
          "visual_cues": [
            "mirror selfie",
            "minimalist interior",
            "phone in hand",
            "outfit check"
          ]
        }
      ],
      "ai_candidate_trend_count": 8,
      "ai_validated_trend_count_before_filter": 8,
      "accepted_trend_count": 8,
      "rejected_trend_count": 0,
      "rejected_trends": []
    }
  }
}