{
  "openapi": "3.1.0",
  "info": {
    "title": "CreatiVault OpenAPI",
    "version": "2"
  },
  "paths": {
    "/v1/creators/tiktok/search": {
      "post": {
        "tags": [
          "Creator"
        ],
        "summary": "creators tiktok search",
        "description": "搜索 TikTok 达人",
        "operationId": "search_tiktok_creators_v1_creators_tiktok_search_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchTiktokRequest"
              },
              "example": {
                "country_code": "US",
                "page": 1,
                "size": 5,
                "service_level": "S1",
                "lang": "en"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {},
                "example": {
                  "success": true,
                  "data": [
                    {
                      "uid": "example_creator",
                      "username": "example_creator",
                      "followers_cnt": "15000"
                    }
                  ],
                  "error": null,
                  "meta": {
                    "request_id": "example_request",
                    "page": 1,
                    "size": 5,
                    "service_level": "S1",
                    "credits_consumed": 0,
                    "quota_remaining": -1
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "creator:tiktok:search",
        "x-scope-policy": "database",
        "x-module": "creator",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "configured",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/creators/youtube/search": {
      "post": {
        "tags": [
          "Creator"
        ],
        "summary": "creators youtube search",
        "description": "搜索 YouTube 达人",
        "operationId": "search_youtube_creators_v1_creators_youtube_search_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchYoutubeRequest"
              },
              "example": {
                "country_code": "US",
                "page": 1,
                "size": 5,
                "service_level": "S1",
                "lang": "en"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {},
                "example": {
                  "success": true,
                  "data": [
                    {
                      "uid": "example_creator",
                      "username": "example_creator",
                      "followers_cnt": "15000"
                    }
                  ],
                  "error": null,
                  "meta": {
                    "request_id": "example_request",
                    "page": 1,
                    "size": 5,
                    "service_level": "S1",
                    "credits_consumed": 0,
                    "quota_remaining": -1
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "creator:youtube:search",
        "x-scope-policy": "database",
        "x-module": "creator",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "configured",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/creators/instagram/search": {
      "post": {
        "tags": [
          "Creator"
        ],
        "summary": "creators instagram search",
        "description": "搜索 Instagram 达人",
        "operationId": "search_instagram_creators_v1_creators_instagram_search_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchInstagramRequest"
              },
              "example": {
                "country_code": "US",
                "page": 1,
                "size": 5,
                "service_level": "S1",
                "lang": "en"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {},
                "example": {
                  "success": true,
                  "data": [
                    {
                      "uid": "example_creator",
                      "username": "example_creator",
                      "followers_cnt": "15000"
                    }
                  ],
                  "error": null,
                  "meta": {
                    "request_id": "example_request",
                    "page": 1,
                    "size": 5,
                    "service_level": "S1",
                    "credits_consumed": 0,
                    "quota_remaining": -1
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "creator:instagram:search",
        "x-scope-policy": "database",
        "x-module": "creator",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "configured",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/creators/twitter/search": {
      "post": {
        "tags": [
          "Creator"
        ],
        "summary": "creators twitter search",
        "description": "搜索 Twitter 达人",
        "operationId": "search_twitter_creators_v1_creators_twitter_search_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchTwitterRequest"
              },
              "example": {
                "country_code": "US",
                "page": 1,
                "size": 5,
                "service_level": "S1",
                "lang": "en"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {},
                "example": {
                  "success": true,
                  "data": [
                    {
                      "uid": "example_creator",
                      "username": "example_creator",
                      "followers_cnt": "15000"
                    }
                  ],
                  "error": null,
                  "meta": {
                    "request_id": "example_request",
                    "page": 1,
                    "size": 5,
                    "service_level": "S1",
                    "credits_consumed": 0,
                    "quota_remaining": -1
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "creator:twitter:search",
        "x-scope-policy": "database",
        "x-module": "creator",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "configured",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/creators/nl-search": {
      "post": {
        "tags": [
          "Creator Nl Search"
        ],
        "summary": "creators nl search",
        "description": "自然语言搜索达人",
        "operationId": "search_creators_by_nl_v1_creators_nl_search_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorNlSearchRequest"
              },
              "example": {
                "query": "example",
                "platform": "instagram",
                "mode": "hybrid",
                "route_schema": "four_route",
                "split_semantic_query": true,
                "expand_brand_keywords": false,
                "scalar_mode": "dual",
                "enable_max_candidates_row": false,
                "limit": 20,
                "route_top_k": 200,
                "route_concurrency": 4,
                "rrf_k": 90.0,
                "debug": false,
                "service_level": "S1"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_CreatorNlSearchResponse_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "items": [
                      {
                        "uid": "example",
                        "username": null,
                        "nickname": null,
                        "avatar_url": null,
                        "profile_url": null,
                        "country_code": null,
                        "followers_count": null,
                        "avg_views": null,
                        "engagement_rate": null,
                        "match_score": null
                      }
                    ],
                    "total": 1,
                    "debug": {
                      "schema_version": "2",
                      "execution": {
                        "platform": null,
                        "requested": null,
                        "actual": null,
                        "requested_scalar_mode": null,
                        "effective_scalar_mode": null,
                        "scalar_mode_fallback": null,
                        "fallback": null,
                        "total_ms": null
                      },
                      "query": {
                        "original": null,
                        "parse_ms": null,
                        "filters": null,
                        "seeds": null
                      },
                      "retrieval": {
                        "schema": null,
                        "duration_ms": null,
                        "vector": null,
                        "scalar": null
                      },
                      "fusion": null,
                      "enrichment": null,
                      "results_explanation": null
                    }
                  },
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "creator:nl:search",
        "x-scope-policy": "database",
        "x-module": "creator_nl_search",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "configured",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/creators/lookalike": {
      "post": {
        "tags": [
          "Lookalike"
        ],
        "summary": "creators lookalike",
        "description": "相似达人搜索",
        "operationId": "search_lookalike_v1_creators_lookalike_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LookalikeSearchRequest"
              },
              "example": {
                "limit": 20
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_LookalikeSearchResult_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "items": [
                      {
                        "uid": "example",
                        "username": null,
                        "nickname": null,
                        "avatar_url": null,
                        "profile_url": null,
                        "country_code": null,
                        "followers_count": null,
                        "avg_views": null,
                        "engagement_rate": null,
                        "match_score": null
                      }
                    ],
                    "total": 1
                  },
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "creator:lookalike:search",
        "x-scope-policy": "database",
        "x-module": "lookalike",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "configured",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/videos/search": {
      "post": {
        "tags": [
          "Video"
        ],
        "summary": "videos search",
        "description": "搜索视频（跨平台）",
        "operationId": "search_videos_v1_videos_search_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenVideoSearchRequest"
              },
              "example": {
                "platform": "example",
                "query_type": "union_user_id",
                "page": 1,
                "size": 10
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_list_dict__"
                },
                "example": {
                  "success": true,
                  "data": [
                    {}
                  ],
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "video:search",
        "x-scope-policy": "database",
        "x-module": "video",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "configured",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/apps/metadata": {
      "post": {
        "tags": [
          "Apps"
        ],
        "summary": "Apps metadata",
        "description": "Query available dates and filters for an app ranking type.",
        "operationId": "get_apps_metadata_v1_apps_metadata_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppsMetadataRequest"
              },
              "example": {
                "ranking_type": "all"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_AppGamingMetadata_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "ranking_type": "example",
                    "latest_date": "example",
                    "available_dates": [
                      "example"
                    ],
                    "filters": {},
                    "availability": [
                      {}
                    ]
                  },
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "apps:metadata:read",
        "x-scope-policy": "database",
        "x-module": "apps",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "per_action",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/apps/rankings": {
      "post": {
        "tags": [
          "Apps"
        ],
        "summary": "Apps rankings",
        "description": "Query all-app, download and revenue, store-rank, or pre-order rankings.",
        "operationId": "get_apps_rankings_v1_apps_rankings_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppsRankingsRequest"
              },
              "example": {
                "ranking_type": "all",
                "page": 1,
                "size": 10
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_AppGamingRankingsResponse_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "source": "example",
                    "ranking_type": "example",
                    "data_date": "example",
                    "updated_at": "example",
                    "total": 0,
                    "applied_filters": {},
                    "records": [
                      {
                        "rank": null,
                        "rank_change": null,
                        "app_id": null,
                        "bundle_id": null,
                        "diandian_id": null,
                        "app_name": null,
                        "logo_url": null,
                        "developer": null,
                        "developer_url": null,
                        "platform": null,
                        "device": null,
                        "country_id": null,
                        "country": null,
                        "category": null,
                        "genres": null,
                        "rating": null,
                        "rating_count": null,
                        "rating_count_list": null,
                        "store_rating": null,
                        "store_rating_count": null,
                        "store_rating_sequence": null,
                        "store_screenshots": null,
                        "store_languages": null,
                        "price": null,
                        "price_unit": null,
                        "price_label": null,
                        "release_date": null,
                        "last_release_date": null,
                        "version": null,
                        "description": null,
                        "store_url": null,
                        "is_ad": null,
                        "is_tecdo_adv": null,
                        "industries": null,
                        "metric_key": null,
                        "metric_value": null,
                        "source": "example",
                        "report_date": "example",
                        "crawl_date": null,
                        "update_time": null
                      }
                    ],
                    "fallback_used": false,
                    "fallback_reason": "example",
                    "cache_status": "hit",
                    "upstream_endpoint": "example"
                  },
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "apps:rankings:read",
        "x-scope-policy": "database",
        "x-module": "apps",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "per_action",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/apps/rank-history": {
      "post": {
        "tags": [
          "Apps"
        ],
        "summary": "Apps rank history",
        "description": "Query store-rank or pre-order history for one app.",
        "operationId": "get_apps_rank_history_v1_apps_rank_history_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppsRankHistoryRequest"
              },
              "example": {
                "ranking_type": "store_rank",
                "period": "weekly",
                "start_date": "2026-08-01",
                "end_date": "2026-08-31",
                "platform": "app_store",
                "scope": "apps",
                "chart_type": "free",
                "country_id": "24",
                "genre_id": "6014"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_AppGamingRankHistoryResponse_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "source": "example",
                    "period": "weekly",
                    "metric_key": "genre_ranking",
                    "start_date": "example",
                    "end_date": "example",
                    "applied_filters": {},
                    "points": [
                      {
                        "date": "example",
                        "value": 1,
                        "rank": 1,
                        "metric_key": "genre_ranking"
                      }
                    ]
                  },
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "apps:rank-history:read",
        "x-scope-policy": "database",
        "x-module": "apps",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "per_action",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/apps/trends": {
      "post": {
        "tags": [
          "Apps"
        ],
        "summary": "Apps performance trends",
        "description": "Query download or revenue trends for one app. Monthly data prefers APPark and automatically falls back to realtime data.",
        "operationId": "get_apps_trends_v1_apps_trends_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppsTrendsRequest"
              },
              "example": {
                "metric": "download",
                "period": "monthly",
                "app_id": "example.app",
                "platform": "google_play"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_AppGamingPerformanceTrendResponse_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "source": "appark",
                    "fallback_used": false,
                    "fallback_reason": "empty_result",
                    "metric": "download",
                    "period": "daily",
                    "start_date": "example",
                    "end_date": "example",
                    "cache_status": "hit",
                    "cached_at": "example",
                    "data": {}
                  },
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "apps:trends:read",
        "x-scope-policy": "database",
        "x-module": "apps",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "per_action",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/apps/reviews": {
      "post": {
        "tags": [
          "Apps"
        ],
        "summary": "Apps reviews",
        "description": "Query realtime App Store or Google Play reviews.",
        "operationId": "get_apps_reviews_v1_apps_reviews_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppsReviewsRequest"
              },
              "example": {
                "platform": "google_play",
                "app_id": "example.app"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_AppGamingReviewsResponse_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "reviews": [
                      {
                        "author": null,
                        "rating": null,
                        "title": null,
                        "content": null,
                        "date": null,
                        "version": null,
                        "country": null,
                        "raw": {}
                      }
                    ],
                    "cache_status": "hit",
                    "upstream_endpoint": "example",
                    "applied_params": {},
                    "raw_realtime": {
                      "source": "collectx",
                      "endpoint": "example",
                      "cache_status": "hit",
                      "cached_at": null,
                      "ttl_seconds": null,
                      "upstream_endpoint": "example",
                      "applied_params": {},
                      "data": null
                    }
                  },
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "apps:reviews:read",
        "x-scope-policy": "database",
        "x-module": "apps",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "per_action",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/apps/detail": {
      "post": {
        "tags": [
          "Apps"
        ],
        "summary": "Apps detail",
        "description": "Query app details and enrich missing store fields when needed.",
        "operationId": "get_apps_detail_v1_apps_detail_post",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppsDetailRequest"
              },
              "example": {
                "platform": "google_play",
                "app_id": "example.app"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_AppGamingDetailEnrichmentResult_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "screenshots": [
                      "example"
                    ],
                    "description": "example",
                    "rating": 1,
                    "rating_count": 1,
                    "rating_count_list": [
                      1
                    ],
                    "version": "example",
                    "store_url": "example",
                    "reviews": [
                      {
                        "author": null,
                        "rating": null,
                        "title": null,
                        "content": null,
                        "date": null,
                        "version": null,
                        "country": null,
                        "raw": {}
                      }
                    ],
                    "reviews_unavailable_reason": "example",
                    "detail_unavailable_reason": "example",
                    "applied_fields": [
                      "example"
                    ],
                    "cache_status": "hit",
                    "upstream_endpoint": "example",
                    "applied_params": {},
                    "raw_realtime": {
                      "source": "collectx",
                      "endpoint": "example",
                      "cache_status": "hit",
                      "cached_at": null,
                      "ttl_seconds": null,
                      "upstream_endpoint": "example",
                      "applied_params": {},
                      "data": null
                    }
                  },
                  "error": null,
                  "meta": {
                    "request_id": "",
                    "page": 1,
                    "size": 1,
                    "total": 1,
                    "quota_remaining": -1,
                    "service_level": "example",
                    "lang": "example",
                    "platform": "example",
                    "recall_type": "example",
                    "credits_consumed": 0,
                    "credits_remaining": -1,
                    "billable_units": 0,
                    "skill_name": "example",
                    "skill_current_version": "example",
                    "skill_latest_version": "example",
                    "skill_min_supported_version": "example",
                    "skill_update_available": false,
                    "skill_update_required": false,
                    "skill_update_message": "example",
                    "skill_update_manifest_url": "example"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "apps:detail:read",
        "x-scope-policy": "database",
        "x-module": "apps",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "web",
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "existing",
        "x-billing-unit": "per_action",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/ads/meta/search": {
      "post": {
        "tags": [
          "ads"
        ],
        "summary": "Meta ad search",
        "description": "Filter and paginate ad creatives. Estimates and budget tiers are not actual spend. Meta uses the service default date range when dates are omitted.",
        "operationId": "ads-meta-search",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetaSearchRequest"
              },
              "example": {
                "page": 1,
                "size": 5,
                "country": "US"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_list_MetaAd__"
                },
                "example": {
                  "success": true,
                  "data": [
                    {
                      "ad_archive_id": "demo_ad_001",
                      "page_id": 123,
                      "title": "Example creative",
                      "material_type": "video"
                    }
                  ],
                  "error": null,
                  "meta": {
                    "request_id": "example_request",
                    "quota_remaining": -1,
                    "page": 1,
                    "size": 5,
                    "total": 1
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "ads:meta:search",
        "x-scope-policy": "database",
        "x-module": "ads",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "database",
        "x-billing-unit": "per_item",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/ads/meta/detail": {
      "post": {
        "tags": [
          "ads"
        ],
        "summary": "Meta ad detail",
        "description": "Read a creative. Media URLs may expire; missing metrics are null.",
        "operationId": "ads-meta-detail",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdDetailRequest"
              },
              "example": {
                "ad_id": "demo_ad_001"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_MetaAd_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "ad_archive_id": "demo_ad_001",
                    "page_id": 123,
                    "title": "Example creative",
                    "material_type": "video"
                  },
                  "error": null,
                  "meta": {
                    "request_id": "example_request",
                    "quota_remaining": -1
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "ads:meta:detail",
        "x-scope-policy": "database",
        "x-module": "ads",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "free",
        "x-billing-unit": "per_action",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/ads/tiktok/search": {
      "post": {
        "tags": [
          "ads"
        ],
        "summary": "TikTok ad search",
        "description": "Filter and paginate TikTok Creative Center creatives. Budget tiers are not actual spend; missing metrics are null.",
        "operationId": "ads-tiktok-search",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TiktokSearchRequest"
              },
              "example": {
                "page": 1,
                "size": 5,
                "country_code": "US"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_list_TiktokAd__"
                },
                "example": {
                  "success": true,
                  "data": [
                    {
                      "id": "demo_ad_001",
                      "ad_title": "Example creative",
                      "country_code": [
                        "US"
                      ],
                      "like": 120
                    }
                  ],
                  "error": null,
                  "meta": {
                    "request_id": "example_request",
                    "quota_remaining": -1,
                    "page": 1,
                    "size": 5,
                    "total": 1
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "ads:tiktok:search",
        "x-scope-policy": "database",
        "x-module": "ads",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "database",
        "x-billing-unit": "per_item",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/ads/tiktok/detail": {
      "post": {
        "tags": [
          "ads"
        ],
        "summary": "TikTok ad detail",
        "description": "Read a creative. Media URLs may expire; missing metrics are null.",
        "operationId": "ads-tiktok-detail",
        "parameters": [
          {
            "name": "X-API-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "X-Api-Key"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdDetailRequest"
              },
              "example": {
                "ad_id": "demo_ad_001"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPIResponse_TiktokAd_"
                },
                "example": {
                  "success": true,
                  "data": {
                    "id": "demo_ad_001",
                    "ad_title": "Example creative",
                    "country_code": [
                      "US"
                    ],
                    "like": 120
                  },
                  "error": null,
                  "meta": {
                    "request_id": "example_request",
                    "quota_remaining": -1
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-scope": "ads:tiktok:detail",
        "x-scope-policy": "database",
        "x-module": "ads",
        "x-published": true,
        "x-availability": "public",
        "x-public": false,
        "x-callers": [
          "api",
          "skill",
          "mcp",
          "system"
        ],
        "x-billing": "free",
        "x-billing-unit": "per_action",
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "OpenAPIResponse_TiktokAd_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TiktokAd"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[TiktokAd]"
      },
      "ResponseMeta": {
        "properties": {
          "request_id": {
            "type": "string",
            "title": "Request Id",
            "description": "请求唯一标识",
            "default": ""
          },
          "page": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page",
            "description": "当前页码"
          },
          "size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Size",
            "description": "每页数量"
          },
          "total": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total",
            "description": "总数"
          },
          "quota_remaining": {
            "type": "integer",
            "title": "Quota Remaining",
            "description": "剩余配额（-1 表示不限制）",
            "default": -1
          },
          "service_level": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Level",
            "description": "本次请求的服务等级"
          },
          "lang": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lang",
            "description": "响应语言（cn/en），为空表示未翻译"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform",
            "description": "本次请求的达人平台"
          },
          "recall_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recall Type",
            "description": "召回类型：hybrid / vector / scalar"
          },
          "credits_consumed": {
            "type": "integer",
            "title": "Credits Consumed",
            "description": "本次请求扣减的积分数",
            "default": 0
          },
          "credits_remaining": {
            "type": "integer",
            "title": "Credits Remaining",
            "description": "积分余额（-1 不限制）",
            "default": -1
          },
          "billable_units": {
            "type": "integer",
            "minimum": 0.0,
            "title": "Billable Units",
            "description": "Server-calculated billable units for this response",
            "default": 0
          },
          "skill_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skill Name",
            "description": "调用方 skill 名称"
          },
          "skill_current_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skill Current Version",
            "description": "调用方 skill 当前版本"
          },
          "skill_latest_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skill Latest Version",
            "description": "服务端声明的最新 skill 版本"
          },
          "skill_min_supported_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skill Min Supported Version",
            "description": "服务端声明的最低支持版本"
          },
          "skill_update_available": {
            "type": "boolean",
            "title": "Skill Update Available",
            "description": "是否存在可用 skill 更新",
            "default": false
          },
          "skill_update_required": {
            "type": "boolean",
            "title": "Skill Update Required",
            "description": "是否要求更新 skill 后再继续使用",
            "default": false
          },
          "skill_update_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skill Update Message",
            "description": "skill 更新提示文案"
          },
          "skill_update_manifest_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skill Update Manifest Url",
            "description": "skill 更新 manifest URL"
          }
        },
        "type": "object",
        "title": "ResponseMeta",
        "description": "响应元数据"
      },
      "ErrorDetail": {
        "properties": {
          "code": {
            "type": "integer",
            "title": "Code",
            "description": "业务错误码"
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "可读错误信息"
          }
        },
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "title": "ErrorDetail",
        "description": "错误详情"
      },
      "TiktokAd": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "ad_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ad Title"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "cover": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cover"
          },
          "country_code": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code"
          },
          "objectives": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Objectives"
          },
          "industry_ename": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Industry Ename"
          },
          "material_format_ename": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Material Format Ename"
          },
          "like": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Like"
          },
          "ctr": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ctr",
            "description": "上游 CTR 指标；缺失为 null"
          },
          "cost": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cost",
            "description": "预算等级，不代表实际金额"
          },
          "brand_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Brand Name"
          },
          "landing_page_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Landing Page Url"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "TiktokAd"
      },
      "AdDetailRequest": {
        "properties": {
          "ad_id": {
            "type": "string",
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^\\S+$",
            "title": "Ad Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "ad_id"
        ],
        "title": "AdDetailRequest"
      },
      "OpenAPIResponse_list_TiktokAd__": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/TiktokAd"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[list[TiktokAd]]"
      },
      "TiktokSearchRequest": {
        "properties": {
          "page": {
            "type": "integer",
            "maximum": 1000.0,
            "minimum": 1.0,
            "title": "Page",
            "default": 1
          },
          "size": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Size",
            "default": 20
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code",
            "description": "国家代码, 逗号分隔"
          },
          "industry": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Industry",
            "description": "商业, 逗号分隔"
          },
          "objective": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Objective",
            "description": "目标, 逗号分隔"
          },
          "material_format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Material Format",
            "description": "素材版式, 逗号分隔"
          },
          "budget": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Budget",
            "description": "素材版式, 逗号分隔"
          },
          "like_gte": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Like Gte",
            "description": "点赞数大于等于"
          },
          "like_lte": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Like Lte",
            "description": "点赞数小于等于"
          },
          "ctr_gte": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Ctr Gte",
            "description": "点击率大于等于"
          },
          "ctr_lte": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Ctr Lte",
            "description": "点击率小于等于"
          },
          "keyword": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Keyword",
            "description": "关键词搜索（模糊匹配 keyword_list）"
          },
          "sort_by": {
            "type": "string",
            "enum": [
              "tec_update_time",
              "like",
              "ctr"
            ],
            "title": "Sort By",
            "default": "tec_update_time"
          },
          "sort_order": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "title": "Sort Order",
            "default": "DESC"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "TiktokSearchRequest"
      },
      "OpenAPIResponse_MetaAd_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MetaAd"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[MetaAd]"
      },
      "MetaAd": {
        "properties": {
          "ad_archive_id": {
            "type": "string",
            "title": "Ad Archive Id"
          },
          "page_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page Id"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "about_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "About Text"
          },
          "material_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Material Type"
          },
          "obs_image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Obs Image Url"
          },
          "obs_video_hd_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Obs Video Hd Url"
          },
          "landing_page_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Landing Page Url"
          },
          "active_status": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active Status"
          },
          "start_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Date"
          },
          "placement_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Placement Days"
          },
          "total_reach": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Reach"
          },
          "estimate_spend": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Estimate Spend",
            "description": "估算值，非实际账单"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency"
          },
          "publisher_platform": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Publisher Platform"
          }
        },
        "type": "object",
        "required": [
          "ad_archive_id"
        ],
        "title": "MetaAd"
      },
      "OpenAPIResponse_list_MetaAd__": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/MetaAd"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[list[MetaAd]]"
      },
      "MetaSearchRequest": {
        "properties": {
          "page": {
            "type": "integer",
            "maximum": 1000.0,
            "minimum": 1.0,
            "title": "Page",
            "default": 1
          },
          "size": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Size",
            "default": 20
          },
          "about_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "About Text",
            "description": "关于文本模糊查询"
          },
          "material_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Material Type",
            "description": "素材类型, 逗号分隔"
          },
          "cta_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cta Type",
            "description": "cta类型, 逗号分隔"
          },
          "page_category_type_en": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page Category Type En",
            "description": "页面类目, 逗号分隔"
          },
          "platform_category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform Category",
            "description": "页面类目, 逗号分隔"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "国家代码, 逗号分隔"
          },
          "publisher_platform_arr": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Publisher Platform Arr",
            "description": "发布平台, 逗号分隔 (数组字段筛选)"
          },
          "creation_time_begin": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creation Time Begin",
            "description": "开始日期范围-起始 (YYYY-MM-DD)"
          },
          "creation_time_end": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creation Time End",
            "description": "开始日期范围-结束 (YYYY-MM-DD)"
          },
          "placement_days_gte": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Placement Days Gte",
            "description": "投放天数-起始"
          },
          "placement_days_lte": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Placement Days Lte",
            "description": "投放天数-结束"
          },
          "likes_gte": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Likes Gte",
            "description": "粉丝数-起始"
          },
          "likes_lte": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Likes Lte",
            "description": "粉丝数-结束"
          },
          "total_reach_gte": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Reach Gte",
            "description": "触达次数-起始"
          },
          "total_reach_lte": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Reach Lte",
            "description": "触达次数-结束"
          },
          "estimate_spend_gte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Estimate Spend Gte",
            "description": "预估消耗-起始"
          },
          "estimate_spend_lte": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Estimate Spend Lte",
            "description": "预估消耗-结束"
          },
          "ad_creative_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ad Creative Label",
            "description": "素材标签, 逗号分隔 (Exhausted,One-Hit,Others,Scaling)"
          },
          "is_political_page": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Political Page",
            "description": "是否政治页面"
          },
          "is_active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Active",
            "description": "是否投放中"
          },
          "is_eu": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Eu",
            "description": "是否面向欧盟"
          },
          "sort_by": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "relevance",
                  "start_date",
                  "likes",
                  "placement_days",
                  "total_reach",
                  "estimate_spend"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort By",
            "description": "排序字段；关键词检索未指定时默认按相关度"
          },
          "sort_order": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "title": "Sort Order",
            "default": "DESC"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "MetaSearchRequest"
      },
      "OpenAPIResponse_AppGamingDetailEnrichmentResult_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppGamingDetailEnrichmentResult"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[AppGamingDetailEnrichmentResult]"
      },
      "AppGamingDetailEnrichmentResult": {
        "properties": {
          "screenshots": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Screenshots"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating"
          },
          "rating_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating Count"
          },
          "rating_count_list": {
            "anyOf": [
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating Count List"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          },
          "store_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Store Url"
          },
          "reviews": {
            "items": {
              "$ref": "#/components/schemas/AppGamingReview"
            },
            "type": "array",
            "title": "Reviews"
          },
          "reviews_unavailable_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reviews Unavailable Reason"
          },
          "detail_unavailable_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Detail Unavailable Reason"
          },
          "applied_fields": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Applied Fields"
          },
          "cache_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "hit",
                  "miss",
                  "stale",
                  "bypass"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Cache Status"
          },
          "upstream_endpoint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Upstream Endpoint"
          },
          "applied_params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Applied Params"
          },
          "raw_realtime": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppGamingRealtimeResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "AppGamingDetailEnrichmentResult",
        "description": "详情页字段补齐结果。"
      },
      "AppGamingRealtimeResponse": {
        "properties": {
          "source": {
            "type": "string",
            "const": "collectx",
            "title": "Source",
            "default": "collectx"
          },
          "endpoint": {
            "type": "string",
            "title": "Endpoint"
          },
          "cache_status": {
            "type": "string",
            "enum": [
              "hit",
              "miss",
              "stale",
              "bypass"
            ],
            "title": "Cache Status"
          },
          "cached_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cached At"
          },
          "ttl_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ttl Seconds"
          },
          "upstream_endpoint": {
            "type": "string",
            "title": "Upstream Endpoint"
          },
          "applied_params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Applied Params"
          },
          "data": {
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "endpoint",
          "cache_status",
          "upstream_endpoint"
        ],
        "title": "AppGamingRealtimeResponse",
        "description": "App & Gaming 实时接口响应。"
      },
      "AppGamingReview": {
        "properties": {
          "author": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Author"
          },
          "rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content"
          },
          "date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "raw": {
            "additionalProperties": true,
            "type": "object",
            "title": "Raw"
          }
        },
        "type": "object",
        "title": "AppGamingReview",
        "description": "应用商店评论。"
      },
      "AppsDetailRequest": {
        "properties": {
          "platform": {
            "type": "string",
            "enum": [
              "app_store",
              "google_play"
            ],
            "title": "Platform"
          },
          "app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300
              },
              {
                "type": "null"
              }
            ],
            "title": "App Id"
          },
          "bundle_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300
              },
              {
                "type": "null"
              }
            ],
            "title": "Bundle Id"
          },
          "diandian_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Diandian Id"
          },
          "source": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Source"
          },
          "country": {
            "type": "string",
            "maxLength": 10,
            "minLength": 2,
            "title": "Country",
            "default": "us"
          },
          "lang": {
            "type": "string",
            "maxLength": 10,
            "minLength": 2,
            "title": "Lang",
            "default": "en"
          }
        },
        "type": "object",
        "required": [
          "platform"
        ],
        "title": "AppsDetailRequest"
      },
      "OpenAPIResponse_AppGamingReviewsResponse_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppGamingReviewsResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[AppGamingReviewsResponse]"
      },
      "AppGamingReviewsResponse": {
        "properties": {
          "reviews": {
            "items": {
              "$ref": "#/components/schemas/AppGamingReview"
            },
            "type": "array",
            "title": "Reviews"
          },
          "cache_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "hit",
                  "miss",
                  "stale",
                  "bypass"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Cache Status"
          },
          "upstream_endpoint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Upstream Endpoint"
          },
          "applied_params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Applied Params"
          },
          "raw_realtime": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppGamingRealtimeResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "AppGamingReviewsResponse"
      },
      "AppsReviewsRequest": {
        "properties": {
          "platform": {
            "type": "string",
            "enum": [
              "app_store",
              "google_play"
            ],
            "title": "Platform"
          },
          "app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300
              },
              {
                "type": "null"
              }
            ],
            "title": "App Id"
          },
          "bundle_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300
              },
              {
                "type": "null"
              }
            ],
            "title": "Bundle Id"
          },
          "country": {
            "type": "string",
            "maxLength": 10,
            "minLength": 2,
            "title": "Country",
            "default": "us"
          },
          "lang": {
            "type": "string",
            "maxLength": 10,
            "minLength": 2,
            "title": "Lang",
            "default": "en"
          },
          "page": {
            "type": "integer",
            "minimum": 1.0,
            "title": "Page",
            "default": 1
          },
          "count": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Count",
            "default": 20
          }
        },
        "type": "object",
        "required": [
          "platform"
        ],
        "title": "AppsReviewsRequest"
      },
      "OpenAPIResponse_AppGamingPerformanceTrendResponse_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppGamingPerformanceTrendResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[AppGamingPerformanceTrendResponse]"
      },
      "AppGamingPerformanceTrendResponse": {
        "properties": {
          "source": {
            "type": "string",
            "enum": [
              "appark",
              "realtime"
            ],
            "title": "Source"
          },
          "fallback_used": {
            "type": "boolean",
            "title": "Fallback Used",
            "default": false
          },
          "fallback_reason": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "empty_result",
                  "upstream_unavailable"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Fallback Reason"
          },
          "metric": {
            "type": "string",
            "enum": [
              "download",
              "income"
            ],
            "title": "Metric"
          },
          "period": {
            "type": "string",
            "enum": [
              "daily",
              "monthly"
            ],
            "title": "Period"
          },
          "start_date": {
            "type": "string",
            "title": "Start Date"
          },
          "end_date": {
            "type": "string",
            "title": "End Date"
          },
          "cache_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "hit",
                  "miss",
                  "stale",
                  "bypass"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Cache Status"
          },
          "cached_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cached At"
          },
          "data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "source",
          "metric",
          "period",
          "start_date",
          "end_date"
        ],
        "title": "AppGamingPerformanceTrendResponse",
        "description": "面向产品展示的统一 App 表现趋势。"
      },
      "AppsTrendsRequest": {
        "properties": {
          "metric": {
            "type": "string",
            "enum": [
              "download",
              "income"
            ],
            "title": "Metric"
          },
          "period": {
            "type": "string",
            "enum": [
              "daily",
              "monthly"
            ],
            "title": "Period",
            "default": "monthly"
          },
          "app_id": {
            "type": "string",
            "maxLength": 300,
            "minLength": 1,
            "title": "App Id"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "app_store",
                  "google_play",
                  "ios",
                  "android",
                  "0",
                  "1",
                  "2"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          },
          "category": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Category",
            "default": "36"
          }
        },
        "type": "object",
        "required": [
          "metric",
          "app_id"
        ],
        "title": "AppsTrendsRequest",
        "description": "统一展示趋势；后端负责月度主数据源选择与实时兜底。"
      },
      "OpenAPIResponse_AppGamingRankHistoryResponse_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppGamingRankHistoryResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[AppGamingRankHistoryResponse]"
      },
      "AppGamingRankHistoryResponse": {
        "properties": {
          "source": {
            "type": "string",
            "title": "Source"
          },
          "period": {
            "type": "string",
            "enum": [
              "weekly",
              "monthly"
            ],
            "title": "Period"
          },
          "metric_key": {
            "type": "string",
            "title": "Metric Key",
            "default": "genre_ranking"
          },
          "start_date": {
            "type": "string",
            "title": "Start Date"
          },
          "end_date": {
            "type": "string",
            "title": "End Date"
          },
          "applied_filters": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Applied Filters"
          },
          "points": {
            "items": {
              "$ref": "#/components/schemas/AppGamingRankHistoryPoint"
            },
            "type": "array",
            "title": "Points"
          }
        },
        "type": "object",
        "required": [
          "source",
          "period",
          "start_date",
          "end_date"
        ],
        "title": "AppGamingRankHistoryResponse",
        "description": "单应用榜单历史响应。"
      },
      "AppGamingRankHistoryPoint": {
        "properties": {
          "date": {
            "type": "string",
            "title": "Date"
          },
          "value": {
            "type": "integer",
            "title": "Value"
          },
          "rank": {
            "type": "integer",
            "title": "Rank"
          },
          "metric_key": {
            "type": "string",
            "title": "Metric Key",
            "default": "genre_ranking"
          }
        },
        "type": "object",
        "required": [
          "date",
          "value",
          "rank"
        ],
        "title": "AppGamingRankHistoryPoint",
        "description": "单应用榜单历史点位。"
      },
      "AppsRankHistoryRequest": {
        "properties": {
          "ranking_type": {
            "type": "string",
            "enum": [
              "store_rank",
              "pre_order"
            ],
            "title": "Ranking Type",
            "default": "store_rank"
          },
          "period": {
            "type": "string",
            "enum": [
              "weekly",
              "monthly"
            ],
            "title": "Period"
          },
          "start_date": {
            "type": "string",
            "format": "date",
            "title": "Start Date"
          },
          "end_date": {
            "type": "string",
            "format": "date",
            "title": "End Date"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "app_store",
                  "google_play"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope"
          },
          "chart_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chart Type"
          },
          "country_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Id"
          },
          "genre_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Genre Id"
          },
          "app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "App Id"
          },
          "diandian_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Diandian Id"
          },
          "os": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Os"
          },
          "area": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Area"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "limit": {
            "type": "integer",
            "maximum": 120.0,
            "minimum": 1.0,
            "title": "Limit",
            "default": 60
          }
        },
        "type": "object",
        "required": [
          "period",
          "start_date",
          "end_date"
        ],
        "title": "AppsRankHistoryRequest"
      },
      "OpenAPIResponse_AppGamingRankingsResponse_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppGamingRankingsResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[AppGamingRankingsResponse]"
      },
      "AppGamingRankingsResponse": {
        "properties": {
          "source": {
            "type": "string",
            "title": "Source"
          },
          "ranking_type": {
            "type": "string",
            "title": "Ranking Type"
          },
          "data_date": {
            "type": "string",
            "title": "Data Date"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "default": 0
          },
          "applied_filters": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Applied Filters"
          },
          "records": {
            "items": {
              "$ref": "#/components/schemas/AppGamingRecord"
            },
            "type": "array",
            "title": "Records"
          },
          "fallback_used": {
            "type": "boolean",
            "title": "Fallback Used",
            "default": false
          },
          "fallback_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fallback Reason"
          },
          "cache_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "hit",
                  "miss",
                  "stale",
                  "bypass"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Cache Status"
          },
          "upstream_endpoint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Upstream Endpoint"
          }
        },
        "type": "object",
        "required": [
          "source",
          "ranking_type",
          "data_date"
        ],
        "title": "AppGamingRankingsResponse",
        "description": "rankings 接口响应。"
      },
      "AppGamingRecord": {
        "properties": {
          "rank": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rank"
          },
          "rank_change": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rank Change"
          },
          "app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "App Id"
          },
          "bundle_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bundle Id"
          },
          "diandian_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Diandian Id"
          },
          "app_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "App Name"
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logo Url"
          },
          "developer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Developer"
          },
          "developer_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Developer Url"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          },
          "device": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Device"
          },
          "country_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Id"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "genres": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Genres"
          },
          "rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating"
          },
          "rating_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating Count"
          },
          "rating_count_list": {
            "anyOf": [
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating Count List"
          },
          "store_rating": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Store Rating"
          },
          "store_rating_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Store Rating Count"
          },
          "store_rating_sequence": {
            "anyOf": [
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Store Rating Sequence"
          },
          "store_screenshots": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Store Screenshots"
          },
          "store_languages": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Store Languages"
          },
          "price": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Price"
          },
          "price_unit": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Price Unit"
          },
          "price_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Price Label"
          },
          "release_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Release Date"
          },
          "last_release_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Release Date"
          },
          "version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "store_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Store Url"
          },
          "is_ad": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Ad"
          },
          "is_tecdo_adv": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Tecdo Adv"
          },
          "industries": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Industries"
          },
          "metric_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metric Key"
          },
          "metric_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metric Value"
          },
          "source": {
            "type": "string",
            "title": "Source"
          },
          "report_date": {
            "type": "string",
            "title": "Report Date"
          },
          "crawl_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Crawl Date"
          },
          "update_time": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Update Time"
          }
        },
        "type": "object",
        "required": [
          "source",
          "report_date"
        ],
        "title": "AppGamingRecord",
        "description": "统一榜单记录。"
      },
      "AppsRankingsRequest": {
        "properties": {
          "ranking_type": {
            "type": "string",
            "enum": [
              "all",
              "download",
              "revenue",
              "store_rank",
              "pre_order"
            ],
            "title": "Ranking Type"
          },
          "date_month": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date Month"
          },
          "data_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Date"
          },
          "page": {
            "type": "integer",
            "minimum": 1.0,
            "title": "Page",
            "default": 1
          },
          "size": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Size",
            "default": 10
          },
          "allow_realtime": {
            "type": "boolean",
            "title": "Allow Realtime",
            "default": false
          },
          "keyword": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300
              },
              {
                "type": "null"
              }
            ],
            "title": "Keyword"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope"
          },
          "chart_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chart Type"
          },
          "country_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Id"
          },
          "genre_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Genre Id"
          },
          "os": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Os"
          },
          "area": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Area"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "price_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "free",
                  "paid"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Price Type"
          },
          "in_app_purchase": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "Y",
                  "N"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "In App Purchase"
          },
          "rating": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "4_5",
                  "4_0",
                  "3_0",
                  "unrated"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Rating"
          },
          "release_date": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^last_\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Release Date"
          },
          "last_release_date": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^last_\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Release Date"
          },
          "language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Language"
          }
        },
        "type": "object",
        "required": [
          "ranking_type"
        ],
        "title": "AppsRankingsRequest",
        "description": "统一榜单查询。不同 ranking_type 只暴露 Apps 服务真正需要的筛选项。"
      },
      "OpenAPIResponse_AppGamingMetadata_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppGamingMetadata"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[AppGamingMetadata]"
      },
      "AppGamingMetadata": {
        "properties": {
          "ranking_type": {
            "type": "string",
            "title": "Ranking Type"
          },
          "latest_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Latest Date"
          },
          "available_dates": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Available Dates"
          },
          "filters": {
            "additionalProperties": {
              "items": {
                "$ref": "#/components/schemas/AppGamingFilterOption"
              },
              "type": "array"
            },
            "type": "object",
            "title": "Filters"
          },
          "availability": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": "array",
            "title": "Availability"
          }
        },
        "type": "object",
        "required": [
          "ranking_type"
        ],
        "title": "AppGamingMetadata",
        "description": "metadata 接口响应。"
      },
      "AppGamingFilterOption": {
        "properties": {
          "value": {
            "type": "string",
            "title": "Value",
            "description": "筛选值"
          },
          "label": {
            "type": "string",
            "title": "Label",
            "description": "展示名称"
          },
          "extra": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extra",
            "description": "数据库映射等附加信息"
          },
          "children": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/AppGamingFilterOption"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Children",
            "description": "子级选项（行业分类树）"
          }
        },
        "type": "object",
        "required": [
          "value",
          "label"
        ],
        "title": "AppGamingFilterOption",
        "description": "筛选选项。"
      },
      "AppsMetadataRequest": {
        "properties": {
          "ranking_type": {
            "type": "string",
            "enum": [
              "all",
              "download",
              "revenue",
              "store_rank",
              "pre_order"
            ],
            "title": "Ranking Type"
          }
        },
        "type": "object",
        "required": [
          "ranking_type"
        ],
        "title": "AppsMetadataRequest"
      },
      "OpenAPIResponse_list_dict__": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[list[dict]]"
      },
      "OpenVideoSearchRequest": {
        "properties": {
          "platform": {
            "type": "string",
            "title": "Platform",
            "description": "平台：tiktok / youtube / instagram（必填）"
          },
          "query_type": {
            "type": "string",
            "enum": [
              "union_user_id",
              "kol_page_url",
              "user_name"
            ],
            "title": "Query Type",
            "description": "达人标识符类型：union_user_id（默认，达人唯一ID）/ kol_page_url（达人主页URL）/ user_name（用户名）",
            "default": "union_user_id"
          },
          "union_user_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Union User Ids",
            "description": "达人标识符列表，具体含义由 query_type 决定（可选筛选条件）"
          },
          "hashtag": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Hashtag",
            "description": "Hashtag 列表（精确匹配，最多 5 个）"
          },
          "video_title": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Title",
            "description": "视频标题关键词（模糊匹配）"
          },
          "video_views_cnt_gte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Views Cnt Gte",
            "description": "最小播放量"
          },
          "video_views_cnt_lte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Views Cnt Lte",
            "description": "最大播放量"
          },
          "video_interaction_rate_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Interaction Rate Gte",
            "description": "最小互动率（百分比，如 5.5 表示 5.5%）"
          },
          "video_interaction_rate_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Interaction Rate Lte",
            "description": "最大互动率（百分比，如 5.5 表示 5.5%）"
          },
          "video_publish_date_gte": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Publish Date Gte",
            "description": "发布日期起始（格式：YYYY-MM-DD，不传则不按发布日期筛选）"
          },
          "video_publish_date_lte": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Publish Date Lte",
            "description": "发布日期截止（格式：YYYY-MM-DD）"
          },
          "page": {
            "type": "integer",
            "maximum": 10.0,
            "minimum": 1.0,
            "title": "Page",
            "description": "页码（1-10）",
            "default": 1
          },
          "size": {
            "type": "integer",
            "maximum": 10.0,
            "minimum": 1.0,
            "title": "Size",
            "description": "每页数量（固定 10）",
            "default": 10
          }
        },
        "type": "object",
        "required": [
          "platform"
        ],
        "title": "OpenVideoSearchRequest",
        "description": "视频搜索请求模型"
      },
      "OpenAPIResponse_LookalikeSearchResult_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LookalikeSearchResult"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[LookalikeSearchResult]"
      },
      "LookalikeSearchResult": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/LookalikeCreatorItem"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total"
        ],
        "title": "LookalikeSearchResult",
        "description": "相似达人搜索结果"
      },
      "LookalikeCreatorItem": {
        "properties": {
          "uid": {
            "type": "string",
            "title": "Uid",
            "description": "达人唯一标识"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username",
            "description": "用户名"
          },
          "nickname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nickname",
            "description": "昵称"
          },
          "avatar_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avatar Url",
            "description": "头像链接"
          },
          "profile_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Profile Url",
            "description": "主页链接"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code",
            "description": "国家/地区代码"
          },
          "followers_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Count",
            "description": "粉丝数"
          },
          "avg_views": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Views",
            "description": "近 10 条视频平均播放量"
          },
          "engagement_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Engagement Rate",
            "description": "近 10 条视频平均互动率"
          },
          "match_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Match Score",
            "description": "相似度评分"
          }
        },
        "type": "object",
        "required": [
          "uid"
        ],
        "title": "LookalikeCreatorItem",
        "description": "相似达人结果项"
      },
      "LookalikeSearchRequest": {
        "properties": {
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username",
            "description": "达人用户名（不含 @）"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "tiktok",
                  "instagram",
                  "youtube"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform",
            "description": "达人所在平台"
          },
          "profile_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Profile Url",
            "description": "达人主页地址（自动解析平台和用户名）"
          },
          "target_platform": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "tiktok",
                  "instagram",
                  "youtube"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Platform",
            "description": "目标搜索平台，不传则与种子达人同平台"
          },
          "target_region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Region",
            "description": "目标地区代码"
          },
          "target_language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Language",
            "description": "目标语言代码"
          },
          "limit": {
            "type": "integer",
            "maximum": 50.0,
            "minimum": 1.0,
            "title": "Limit",
            "description": "返回数量",
            "default": 20
          },
          "follower_min": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Follower Min",
            "description": "粉丝数下限"
          },
          "follower_max": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Follower Max",
            "description": "粉丝数上限"
          },
          "avg_views_min": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Views Min",
            "description": "平均观看量下限"
          },
          "avg_views_max": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Views Max",
            "description": "平均观看量上限"
          },
          "female_rate_min": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Female Rate Min",
            "description": "女性受众占比下限(%)"
          },
          "lang": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "cn",
                  "en"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Lang",
            "description": "响应语言"
          },
          "service_level": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Level",
            "description": "服务等级"
          }
        },
        "type": "object",
        "title": "LookalikeSearchRequest",
        "description": "相似达人搜索请求（OpenAPI）\n\n支持两种输入方式：\n1. username + platform：直接传用户名和平台\n2. profile_url：传达人主页地址，自动解析平台和用户名\n\n内部自动 resolve 获取 platform_id，再执行相似搜索。"
      },
      "OpenAPIResponse_CreatorNlSearchResponse_": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlSearchResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseMeta"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "OpenAPIResponse[CreatorNlSearchResponse]"
      },
      "CreatorNlSearchResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CreatorNlSearchItem"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "debug": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlSearchDebugV2"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "items",
          "total"
        ],
        "title": "CreatorNlSearchResponse",
        "description": "Natural-language creator search response."
      },
      "CreatorNlSearchDebugV2": {
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "2",
            "title": "Schema Version",
            "default": "2"
          },
          "execution": {
            "$ref": "#/components/schemas/CreatorNlDebugExecution"
          },
          "query": {
            "$ref": "#/components/schemas/CreatorNlDebugQuery"
          },
          "retrieval": {
            "$ref": "#/components/schemas/CreatorNlDebugRetrieval"
          },
          "fusion": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugFusion"
              },
              {
                "type": "null"
              }
            ]
          },
          "enrichment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugEnrichment"
              },
              {
                "type": "null"
              }
            ]
          },
          "results_explanation": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CreatorNlDebugResult"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Results Explanation"
          }
        },
        "type": "object",
        "required": [
          "execution",
          "query",
          "retrieval"
        ],
        "title": "CreatorNlSearchDebugV2",
        "description": "Stable, non-redundant V2 debug contract."
      },
      "CreatorNlDebugResult": {
        "properties": {
          "rank": {
            "type": "integer",
            "title": "Rank"
          },
          "uid": {
            "type": "string",
            "title": "Uid"
          },
          "profile_url": {
            "type": "string",
            "title": "Profile Url"
          },
          "vector_routes": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Vector Routes"
          },
          "fulltext_routes": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "enum": [
                    "labels",
                    "description",
                    "hashtag"
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fulltext Routes"
          },
          "branches": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Branches"
          },
          "rrf_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rrf Score"
          },
          "match_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Match Score"
          }
        },
        "type": "object",
        "required": [
          "rank",
          "uid",
          "profile_url"
        ],
        "title": "CreatorNlDebugResult",
        "description": "Compact scoring explanation for one returned creator."
      },
      "CreatorNlDebugEnrichment": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Count"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          }
        },
        "type": "object",
        "required": [
          "enabled"
        ],
        "title": "CreatorNlDebugEnrichment",
        "description": "Deferred result-field enrichment."
      },
      "CreatorNlDebugFusion": {
        "properties": {
          "algorithm": {
            "type": "string",
            "const": "rrf",
            "title": "Algorithm",
            "default": "rrf"
          },
          "k": {
            "type": "number",
            "title": "K"
          },
          "weights": {
            "additionalProperties": {
              "type": "number"
            },
            "type": "object",
            "title": "Weights"
          },
          "union_candidates": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Union Candidates"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          }
        },
        "type": "object",
        "required": [
          "k",
          "weights"
        ],
        "title": "CreatorNlDebugFusion",
        "description": "Cross-branch fusion facts only."
      },
      "CreatorNlDebugRetrieval": {
        "properties": {
          "schema": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "four_route",
                  "two_route"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Schema"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          },
          "vector": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugVectorRetrieval"
              },
              {
                "type": "null"
              }
            ]
          },
          "scalar": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreatorNlDebugFulltextRetrieval"
                  },
                  {
                    "$ref": "#/components/schemas/CreatorNlDebugLegacyScalarRetrieval"
                  },
                  {
                    "$ref": "#/components/schemas/CreatorNlDebugHashtagVideoScalarRetrieval"
                  }
                ],
                "discriminator": {
                  "propertyName": "engine",
                  "mapping": {
                    "fulltext": "#/components/schemas/CreatorNlDebugFulltextRetrieval",
                    "hashtag_video": "#/components/schemas/CreatorNlDebugHashtagVideoScalarRetrieval",
                    "legacy": "#/components/schemas/CreatorNlDebugLegacyScalarRetrieval"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Scalar"
          }
        },
        "type": "object",
        "title": "CreatorNlDebugRetrieval",
        "description": "Retrieval branches and the shared vector schema."
      },
      "CreatorNlDebugHashtagVideoScalarRetrieval": {
        "properties": {
          "engine": {
            "type": "string",
            "const": "hashtag_video",
            "title": "Engine",
            "default": "hashtag_video"
          },
          "strategy": {
            "type": "string",
            "const": "hashtag_recall",
            "title": "Strategy",
            "default": "hashtag_recall"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "query": {
            "$ref": "#/components/schemas/CreatorNlDebugHashtagVideoQuery"
          },
          "amplification_factor": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amplification Factor"
          },
          "post_filter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Post Filter Keys"
          },
          "total_scored": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Scored"
          },
          "enrichment_pool_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enrichment Pool Size"
          },
          "post_filtered_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Post Filtered Count"
          },
          "enrichment_batch_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enrichment Batch Count"
          },
          "observed_pass_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observed Pass Rate"
          },
          "matched_total": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Matched Total"
          },
          "candidates": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Candidates"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugBranchError"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "status",
          "query"
        ],
        "title": "CreatorNlDebugHashtagVideoScalarRetrieval",
        "description": "Campaign hashtag video scalar branch (TT/YTB only)."
      },
      "CreatorNlDebugBranchError": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "message": {
            "type": "string",
            "title": "Message"
          }
        },
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "title": "CreatorNlDebugBranchError",
        "description": "A retrieval branch failure."
      },
      "CreatorNlDebugHashtagVideoQuery": {
        "properties": {
          "hashtags": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hashtags"
          },
          "limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Limit"
          }
        },
        "type": "object",
        "title": "CreatorNlDebugHashtagVideoQuery",
        "description": "Logical query for the campaign hashtag video scalar branch."
      },
      "CreatorNlDebugLegacyScalarRetrieval": {
        "properties": {
          "engine": {
            "type": "string",
            "const": "legacy",
            "title": "Engine",
            "default": "legacy"
          },
          "strategy": {
            "type": "string",
            "enum": [
              "filter",
              "seed_lookalike"
            ],
            "title": "Strategy"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "query": {
            "$ref": "#/components/schemas/CreatorNlDebugLegacyQuery"
          },
          "fulltext_sources": {
            "anyOf": [
              {
                "additionalProperties": {
                  "$ref": "#/components/schemas/CreatorNlDebugFulltextSource"
                },
                "propertyNames": {
                  "const": "hashtag"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fulltext Sources"
          },
          "matched_total": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Matched Total"
          },
          "candidates": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Candidates"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugBranchError"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "strategy",
          "status",
          "query"
        ],
        "title": "CreatorNlDebugLegacyScalarRetrieval",
        "description": "Existing scalar engine used by TikTok, YouTube, and optional Instagram paths."
      },
      "CreatorNlDebugFulltextSource": {
        "properties": {
          "column": {
            "type": "string",
            "title": "Column"
          },
          "weight": {
            "type": "number",
            "title": "Weight"
          }
        },
        "type": "object",
        "required": [
          "column",
          "weight"
        ],
        "title": "CreatorNlDebugFulltextSource",
        "description": "One physical full-text column and its normalized fusion weight."
      },
      "CreatorNlDebugLegacyQuery": {
        "properties": {
          "keywords": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Keywords"
          },
          "limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Limit"
          },
          "seed_lookalike": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed Lookalike"
          }
        },
        "type": "object",
        "title": "CreatorNlDebugLegacyQuery",
        "description": "Logical legacy scalar query without repeated filter values."
      },
      "CreatorNlDebugFulltextRetrieval": {
        "properties": {
          "engine": {
            "type": "string",
            "const": "fulltext",
            "title": "Engine",
            "default": "fulltext"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "query": {
            "$ref": "#/components/schemas/CreatorNlDebugFulltextQuery"
          },
          "fulltext_sources": {
            "anyOf": [
              {
                "additionalProperties": {
                  "$ref": "#/components/schemas/CreatorNlDebugFulltextSource"
                },
                "propertyNames": {
                  "enum": [
                    "labels",
                    "description"
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fulltext Sources"
          },
          "fields": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "integer"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fields"
          },
          "boost": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "number"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Boost"
          },
          "requested_depth": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested Depth"
          },
          "matched_total": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Matched Total"
          },
          "candidates": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Candidates"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugBranchError"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "status",
          "query"
        ],
        "title": "CreatorNlDebugFulltextRetrieval",
        "description": "Full-text scalar branch backed by the vector-route table."
      },
      "CreatorNlDebugFulltextQuery": {
        "properties": {
          "soft": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Soft"
          },
          "must": {
            "anyOf": [
              {
                "items": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Must"
          },
          "must_not": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Must Not"
          },
          "must_scope": {
            "items": {
              "type": "string",
              "enum": [
                "labels",
                "description"
              ]
            },
            "type": "array",
            "title": "Must Scope"
          },
          "must_not_scope": {
            "type": "string",
            "const": "labels",
            "title": "Must Not Scope",
            "default": "labels"
          }
        },
        "type": "object",
        "required": [
          "must_scope"
        ],
        "title": "CreatorNlDebugFulltextQuery",
        "description": "Logical full-text query; physical SQL expressions are intentionally hidden."
      },
      "CreatorNlDebugVectorRetrieval": {
        "properties": {
          "status": {
            "type": "string",
            "title": "Status"
          },
          "query": {
            "$ref": "#/components/schemas/CreatorNlDebugVectorQuery"
          },
          "metric": {
            "type": "string",
            "title": "Metric"
          },
          "gate_mode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gate Mode"
          },
          "overfetch_factor": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Overfetch Factor"
          },
          "concurrency": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Concurrency"
          },
          "requested_depth": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested Depth"
          },
          "candidates": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Candidates"
          },
          "embedding_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Embedding Ms"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          },
          "fusion_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fusion Ms"
          },
          "routes": {
            "anyOf": [
              {
                "additionalProperties": {
                  "$ref": "#/components/schemas/CreatorNlDebugVectorRoute"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Routes"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugBranchError"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "status",
          "query",
          "metric"
        ],
        "title": "CreatorNlDebugVectorRetrieval",
        "description": "Vector recall without lexical or parser-only details."
      },
      "CreatorNlDebugVectorRoute": {
        "properties": {
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query"
          },
          "weight": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Weight"
          },
          "requested_weight": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested Weight"
          },
          "seed_sources": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed Sources"
          },
          "candidates": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Candidates"
          },
          "duration_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration Ms"
          }
        },
        "type": "object",
        "title": "CreatorNlDebugVectorRoute",
        "description": "Execution facts for one physical vector route."
      },
      "CreatorNlDebugVectorQuery": {
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "shared",
              "per_route",
              "seed_only"
            ],
            "title": "Mode"
          },
          "text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Text"
          }
        },
        "type": "object",
        "required": [
          "mode"
        ],
        "title": "CreatorNlDebugVectorQuery",
        "description": "Semantic query shape used by vector recall."
      },
      "CreatorNlDebugQuery": {
        "properties": {
          "original": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Original"
          },
          "parse_ms": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "number"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parse Ms"
          },
          "filters": {
            "anyOf": [
              {
                "additionalProperties": {
                  "$ref": "#/components/schemas/CreatorNlDebugFilter"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Filters"
          },
          "seeds": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugSeeds"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "CreatorNlDebugQuery",
        "description": "Request-level parsing facts shared by retrieval branches."
      },
      "CreatorNlDebugSeeds": {
        "properties": {
          "requested": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested"
          },
          "resolved": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resolved"
          },
          "skipped_constraints": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skipped Constraints"
          },
          "lexical_terms": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lexical Terms"
          }
        },
        "type": "object",
        "title": "CreatorNlDebugSeeds",
        "description": "Seed inputs and resolution results."
      },
      "CreatorNlDebugFilter": {
        "properties": {
          "value": {
            "title": "Value"
          },
          "applied_by": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "vector",
                    "fulltext",
                    "legacy",
                    "hashtag_video"
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Applied By"
          },
          "skipped_by": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "enum": [
                    "vector",
                    "fulltext",
                    "legacy",
                    "hashtag_video"
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skipped By"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "CreatorNlDebugFilter",
        "description": "One filter and how each retrieval branch handled it."
      },
      "CreatorNlDebugExecution": {
        "properties": {
          "platform": {
            "type": "string",
            "enum": [
              "instagram",
              "tiktok",
              "youtube"
            ],
            "title": "Platform"
          },
          "requested": {
            "type": "string",
            "enum": [
              "hybrid",
              "vector",
              "scalar"
            ],
            "title": "Requested"
          },
          "actual": {
            "type": "string",
            "enum": [
              "hybrid",
              "vector",
              "scalar"
            ],
            "title": "Actual"
          },
          "requested_scalar_mode": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "dual",
                  "legacy",
                  "campaign_hashtag"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested Scalar Mode"
          },
          "effective_scalar_mode": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "dual",
                  "legacy",
                  "campaign_hashtag"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Effective Scalar Mode"
          },
          "scalar_mode_fallback": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugFallback"
              },
              {
                "type": "null"
              }
            ]
          },
          "fallback": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlDebugFallback"
              },
              {
                "type": "null"
              }
            ]
          },
          "total_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Ms"
          }
        },
        "type": "object",
        "required": [
          "platform",
          "requested",
          "actual"
        ],
        "title": "CreatorNlDebugExecution",
        "description": "Requested and actual retrieval paths."
      },
      "CreatorNlDebugFallback": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "message": {
            "type": "string",
            "title": "Message"
          }
        },
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "title": "CreatorNlDebugFallback",
        "description": "Why execution differs from the requested mode."
      },
      "CreatorNlSearchItem": {
        "properties": {
          "uid": {
            "type": "string",
            "title": "Uid",
            "description": "达人唯一标识"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Username",
            "description": "用户名"
          },
          "nickname": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nickname",
            "description": "昵称"
          },
          "avatar_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avatar Url",
            "description": "头像链接"
          },
          "profile_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Profile Url",
            "description": "主页链接"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code",
            "description": "国家/地区代码"
          },
          "followers_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Count",
            "description": "粉丝数"
          },
          "avg_views": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Avg Views",
            "description": "近 10 条视频平均播放量"
          },
          "engagement_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Engagement Rate",
            "description": "近 10 条视频平均互动率"
          },
          "match_score": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Match Score",
            "description": "NL 检索匹配分；vector 保持现有向量分算法；hybrid 使用 RRF Top1 命中分支的归一化加权相似分标定 RRF 分数；标量无可靠分时为空"
          }
        },
        "type": "object",
        "required": [
          "uid"
        ],
        "title": "CreatorNlSearchItem",
        "description": "NL creator search item aligned with Lookalike output."
      },
      "CreatorNlSearchRequest": {
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 1000,
            "title": "Query",
            "description": "自然语言达人搜索需求；传 seed 时可为空"
          },
          "platform": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform",
            "description": "达人平台，支持 instagram/ins/ig、tiktok/tt/tk、youtube/ytb/yt",
            "default": "instagram"
          },
          "mode": {
            "type": "string",
            "enum": [
              "hybrid",
              "vector",
              "scalar"
            ],
            "title": "Mode",
            "description": "召回模式，默认 hybrid；TikTok/YouTube 请求 hybrid 或 vector 时自动按 scalar 执行",
            "default": "hybrid"
          },
          "route_schema": {
            "type": "string",
            "enum": [
              "four_route",
              "two_route"
            ],
            "title": "Route Schema",
            "description": "Instagram 向量及向量表全文召回拓扑：four_route=profile/topic/style/commercial；two_route=profile/business。默认 four_route",
            "default": "four_route"
          },
          "split_semantic_query": {
            "type": "boolean",
            "title": "Split Semantic Query",
            "description": "是否按向量 route 拆分 semantic query；默认 true，使用四路或二路 route-specific query 并批量向量化；false 使用 shared query",
            "default": true
          },
          "expand_brand_keywords": {
            "type": "boolean",
            "title": "Expand Brand Keywords",
            "description": "已废弃的兼容参数；服务端忽略该值，将在后续版本移除",
            "default": false,
            "deprecated": true
          },
          "scalar_mode": {
            "type": "string",
            "enum": [
              "dual",
              "legacy",
              "campaign_hashtag"
            ],
            "title": "Scalar Mode",
            "description": "标量召回后端：dual 使用 Instagram 向量表双全文列；legacy 使用现有标量链路；campaign_hashtag 使用 Campaign 纯 hashtag 召回链路（仅 TT/YTB，有 seed 或无 hashtag 时自动 fallback）。TikTok/YouTube 请求 dual 时按 legacy 执行",
            "default": "dual"
          },
          "enable_max_candidates_row": {
            "type": "boolean",
            "title": "Enable Max Candidates Row",
            "description": "是否为 Campaign hashtag 同步召回启用匹配视频候选行上限；默认关闭，仅 TikTok/YouTube 实际执行 campaign_hashtag 时生效",
            "default": false
          },
          "limit": {
            "type": "integer",
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Limit",
            "description": "返回达人数量",
            "default": 20
          },
          "route_top_k": {
            "type": "integer",
            "maximum": 1000.0,
            "minimum": 10.0,
            "title": "Route Top K",
            "description": "每路语义召回 TopK。实际执行会保证不低于 limit 对应下限：limit < 100 时为 200，否则为 2 * limit",
            "default": 200
          },
          "route_concurrency": {
            "type": "integer",
            "maximum": 4.0,
            "minimum": 1.0,
            "title": "Route Concurrency",
            "description": "单请求内语义召回 route 最大并发数，默认 4 路并发",
            "default": 4
          },
          "rrf_k": {
            "type": "number",
            "maximum": 1000.0,
            "minimum": 1.0,
            "title": "Rrf K",
            "description": "RRF 融合平滑系数",
            "default": 90.0
          },
          "debug": {
            "type": "boolean",
            "title": "Debug",
            "description": "是否返回 V2 调试信息",
            "default": false
          },
          "service_level": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Level",
            "description": "服务等级",
            "default": "S1"
          },
          "seed_creators": {
            "items": {
              "$ref": "#/components/schemas/CreatorNlSeedInput"
            },
            "type": "array",
            "maxItems": 10,
            "title": "Seed Creators",
            "description": "种子达人；显式传入时默认按整体相似参与所有向量路"
          },
          "hard_filter": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlHardFilterInput"
              },
              {
                "type": "null"
              }
            ],
            "description": "显式硬过滤条件；与 query 冲突时以本对象为准"
          },
          "exclude_uids": {
            "items": {
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            },
            "type": "array",
            "maxItems": 1000,
            "uniqueItems": true,
            "title": "Exclude Uids",
            "description": "检索阶段排除的达人 UID 集合；会下推至各召回后端"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "query"
        ],
        "title": "CreatorNlSearchRequest",
        "description": "Natural-language creator search request."
      },
      "CreatorNlHardFilterInput": {
        "properties": {
          "followers_cnt": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlNumericRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "last10_avg_video_views_cnt": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlNumericRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "last10_avg_video_interaction_rate": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlRatioRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "influencer_price_usd": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlNumericRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "aud_female_pct": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlRatioRange"
              },
              {
                "type": "null"
              }
            ]
          },
          "aud_country": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlAudienceDistributionFilter"
              },
              {
                "type": "null"
              }
            ]
          },
          "aud_language": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlAudienceDistributionFilter"
              },
              {
                "type": "null"
              }
            ]
          },
          "aud_age": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreatorNlAudienceDistributionFilter"
              },
              {
                "type": "null"
              }
            ]
          },
          "creator_country": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Country"
          },
          "creator_gender": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "Male",
                  "Female"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Gender"
          },
          "creator_language": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Language"
          },
          "creator_age": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "18-24",
                    "25-34",
                    "35-44",
                    "45-54",
                    "55+"
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Age"
          },
          "is_real_person": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Real Person"
          },
          "has_email": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Email"
          },
          "last_video_publish_date": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Date"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CreatorNlHardFilterInput",
        "description": "Typed hard filters supported by NL search."
      },
      "CreatorNlAudienceDistributionFilter": {
        "properties": {
          "values": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "minItems": 1,
            "title": "Values"
          },
          "min_share": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Min Share",
            "description": "所选受众值的合计占比下限；不传则沿用当前默认阈值"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "values"
        ],
        "title": "CreatorNlAudienceDistributionFilter",
        "description": "Audience values whose combined share must exceed a threshold."
      },
      "CreatorNlRatioRange": {
        "properties": {
          "min": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Min"
          },
          "max": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CreatorNlRatioRange",
        "description": "Inclusive ratio hard-filter range."
      },
      "CreatorNlNumericRange": {
        "properties": {
          "min": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Min"
          },
          "max": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CreatorNlNumericRange",
        "description": "Inclusive numeric hard-filter range."
      },
      "CreatorNlSeedInput": {
        "properties": {
          "platform": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Platform"
          },
          "url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "uid": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Uid"
          },
          "constraint": {
            "items": {
              "type": "string",
              "enum": [
                "followers_cnt",
                "last10_avg_video_views_cnt",
                "last10_avg_video_interaction_rate",
                "influencer_price_usd",
                "aud_female_pct",
                "aud_country",
                "aud_language",
                "aud_age",
                "creator_country",
                "creator_gender",
                "creator_language",
                "creator_age",
                "is_real_person",
                "has_email",
                "last_video_publish_date"
              ]
            },
            "type": "array",
            "title": "Constraint"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CreatorNlSeedInput",
        "description": "Caller-provided seed creator and optional relative constraints."
      },
      "SearchTwitterRequest": {
        "properties": {
          "keyword": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Keyword",
            "description": "全文检索：search_uname，逗号分隔多关键词 OR"
          },
          "lang": {
            "type": "string",
            "enum": [
              "cn",
              "en"
            ],
            "title": "Lang",
            "description": "响应语言：cn（中文）/ en（英文），默认 en",
            "default": "en"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code",
            "description": "国家代码，多选逗号分隔"
          },
          "language_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Language Code",
            "description": "语言代码筛选，多选逗号分隔，不区分大小写，如 'en,zh'"
          },
          "industry": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Industry",
            "description": "三级英文类目，逗号分隔"
          },
          "has_email": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Email",
            "description": "是否有邮箱"
          },
          "has_whatsapp": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Whatsapp",
            "description": "是否有WhatsApp"
          },
          "is_blue_verified": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Blue Verified",
            "description": "是否蓝标认证（Twitter 特有）"
          },
          "followers_cnt_gte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Cnt Gte",
            "description": "粉丝数 - 最小值"
          },
          "followers_cnt_lte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Cnt Lte",
            "description": "粉丝数 - 最大值"
          },
          "last10_avg_video_views_cnt_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Views Cnt Gte",
            "description": "近10条视频平均播放量 - 最小值"
          },
          "last10_avg_video_views_cnt_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Views Cnt Lte",
            "description": "近10条视频平均播放量 - 最大值"
          },
          "last10_avg_video_interaction_rate_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Interaction Rate Gte",
            "description": "近10条视频平均互动率 - 最小值"
          },
          "last10_avg_video_interaction_rate_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Interaction Rate Lte",
            "description": "近10条视频平均互动率 - 最大值"
          },
          "last10_avg_video_likes_cnt_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Likes Cnt Gte",
            "description": "近10条视频平均点赞数 - 最小值"
          },
          "last10_avg_video_likes_cnt_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Likes Cnt Lte",
            "description": "近10条视频平均点赞数 - 最大值"
          },
          "last_video_views_cnt_gte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Views Cnt Gte",
            "description": "最近1条视频观看数 - 最小值"
          },
          "last_video_views_cnt_lte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Views Cnt Lte",
            "description": "最近1条视频观看数 - 最大值"
          },
          "last_video_publish_date_gte": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Date Gte",
            "description": "最近视频发布时间 - 开始日期(YYYY-MM-DD)"
          },
          "last_video_publish_date_lte": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Date Lte",
            "description": "最近视频发布时间 - 结束日期(YYYY-MM-DD)"
          },
          "last10_video_views_per_sub_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Video Views Per Sub Gte",
            "description": "均播/粉丝比 - 最小值（百分比）"
          },
          "last10_video_views_per_sub_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Video Views Per Sub Lte",
            "description": "均播/粉丝比 - 最大值（百分比）"
          },
          "last10_med_video_views_per_sub_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Med Video Views Per Sub Gte",
            "description": "中位播放/粉丝比 - 最小值（百分比）"
          },
          "last10_med_video_views_per_sub_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Med Video Views Per Sub Lte",
            "description": "中位播放/粉丝比 - 最大值（百分比）"
          },
          "gender": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Gender",
            "description": "性别筛选 → gender_code（'1'=男 '0'=女）（前端暂未启用）"
          },
          "is_verified": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Verified",
            "description": "是否认证：'1'=已认证, '0'=未认证（前端暂未启用，Twitter 仅用 is_blue_verified）"
          },
          "is_ai_creator": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Ai Creator",
            "description": "是否 AI 话题达人（前端暂未启用）"
          },
          "kol_style": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Kol Style",
            "description": "达人风格标签，多选逗号分隔（前端暂未启用）"
          },
          "audience_country_code_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Country Code List",
            "description": "受众国家代码筛选，多选逗号分隔（前端暂未启用）"
          },
          "audience_language_code_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Language Code List",
            "description": "受众语言筛选，多选逗号分隔（前端暂未启用）"
          },
          "audience_age_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Age List",
            "description": "受众年龄筛选，多选逗号分隔（前端暂未启用）"
          },
          "audience_female_rate_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Female Rate Gte",
            "description": "受众女性占比 - 最小值（百分比）（前端暂未启用）"
          },
          "audience_female_rate_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Female Rate Lte",
            "description": "受众女性占比 - 最大值（百分比）（前端暂未启用）"
          },
          "sort_field": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Field",
            "description": "排序字段：followers_cnt, last10_avg_video_views_cnt, last10_avg_video_interaction_rate, last10_avg_video_likes_cnt, last_video_views_cnt",
            "default": "followers_cnt"
          },
          "sort_order": {
            "$ref": "#/components/schemas/SortOrder",
            "description": "排序方式 asc/desc",
            "default": "desc"
          },
          "page": {
            "type": "integer",
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Page",
            "description": "页码",
            "default": 1
          },
          "size": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Size",
            "description": "每页数量",
            "default": 50
          },
          "service_level": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Level",
            "description": "服务等级：S1 / S2 / S3，默认 S1"
          },
          "crm_filter": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CrmCreatorSearchFilterRequest"
              },
              {
                "type": "null"
              }
            ],
            "description": "私域达人过滤配置"
          }
        },
        "type": "object",
        "title": "SearchTwitterRequest",
        "description": "Twitter（X）达人搜索请求\n\n字段命名与 TwitterCreatorListQuery 完全对齐，to_query() 零映射透传。\n后端完整支持所有筛选字段（含 gender / 受众系列等前端暂未暴露的项），\n保证 OpenAPI 与未来开放筛选时可直接使用。"
      },
      "CrmCreatorSearchFilterRequest": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": false
          },
          "mode": {
            "type": "string",
            "enum": [
              "exclude",
              "include"
            ],
            "title": "Mode",
            "default": "exclude"
          },
          "exclude_cooperated": {
            "type": "boolean",
            "title": "Exclude Cooperated",
            "default": false
          },
          "exclude_blocked": {
            "type": "boolean",
            "title": "Exclude Blocked",
            "default": false
          },
          "require_collected": {
            "type": "boolean",
            "title": "Require Collected",
            "default": true
          },
          "group_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Group Ids"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Tags"
          },
          "cooperation_statuses": {
            "items": {
              "$ref": "#/components/schemas/CrmCreatorCooperationStatus"
            },
            "type": "array",
            "title": "Cooperation Statuses"
          },
          "is_recommended": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Recommended"
          },
          "is_focused": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Focused"
          }
        },
        "type": "object",
        "title": "CrmCreatorSearchFilterRequest"
      },
      "CrmCreatorCooperationStatus": {
        "type": "string",
        "enum": [
          "none",
          "contacted",
          "replied",
          "negotiating",
          "cooperated",
          "rejected"
        ],
        "title": "CrmCreatorCooperationStatus"
      },
      "SortOrder": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "title": "SortOrder",
        "description": "排序方式枚举。"
      },
      "SearchInstagramRequest": {
        "properties": {
          "keyword": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Keyword",
            "description": "搜索关键词"
          },
          "union_user_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 200,
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Union User Ids",
            "description": "达人 union_user_id 列表，最多 200 条"
          },
          "profile_urls": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 200,
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Profile Urls",
            "description": "达人主页链接列表，最多 200 条"
          },
          "lang": {
            "type": "string",
            "enum": [
              "cn",
              "en"
            ],
            "title": "Lang",
            "description": "响应语言：cn（中文）/ en（英文），默认 en",
            "default": "en"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code",
            "description": "国家代码，多选逗号分隔"
          },
          "gender": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Gender",
            "description": "性别：'男性' | '女性'"
          },
          "industry": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Industry",
            "description": "三级英文类目，逗号分隔"
          },
          "has_email": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Email",
            "description": "是否有邮箱"
          },
          "has_whatsapp": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Whatsapp",
            "description": "是否有WhatsApp"
          },
          "is_product_kol": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Product Kol",
            "description": "是否带货达人"
          },
          "is_ai_creator": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Ai Creator",
            "description": "是否AI达人"
          },
          "language_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Language Code",
            "description": "语言代码筛选，多选逗号分隔，不区分大小写，如 'en,zh'"
          },
          "followers_cnt_gte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Cnt Gte",
            "description": "粉丝数 - 最小值"
          },
          "followers_cnt_lte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Cnt Lte",
            "description": "粉丝数 - 最大值"
          },
          "last10_avg_video_view_count_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video View Count Gte",
            "description": "近10条视频平均播放量 ≥"
          },
          "last10_avg_video_view_count_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video View Count Lte",
            "description": "近10条视频平均播放量 ≤"
          },
          "last10_avg_video_interaction_rate_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Interaction Rate Gte",
            "description": "近10条视频平均互动率 ≥"
          },
          "last10_avg_video_interaction_rate_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Interaction Rate Lte",
            "description": "近10条视频平均互动率 ≤"
          },
          "last_video_publish_time_gte": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 30
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Time Gte",
            "description": "最近视频发布时间起始"
          },
          "last_video_publish_time_lte": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 30
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Time Lte",
            "description": "最近视频发布时间截止"
          },
          "audience_country_code_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Country Code List",
            "description": "受众国家代码(多选逗号分隔)"
          },
          "audience_language_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Language List",
            "description": "受众语言(多选逗号分隔)"
          },
          "audience_age_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Age List",
            "description": "受众年龄(多选逗号分隔)"
          },
          "female_ratio_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Female Ratio Gte",
            "description": "受众女性占比 ≥"
          },
          "female_ratio_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Female Ratio Lte",
            "description": "受众女性占比 ≤"
          },
          "sort_field": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Field",
            "description": "排序字段"
          },
          "sort_order": {
            "$ref": "#/components/schemas/SortOrder",
            "description": "排序方式",
            "default": "desc"
          },
          "page": {
            "type": "integer",
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Page",
            "description": "页码",
            "default": 1
          },
          "size": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Size",
            "description": "每页数量",
            "default": 50
          },
          "service_level": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Level",
            "description": "服务等级：S1 / S2 / S3，默认 S1"
          },
          "crm_filter": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CrmCreatorSearchFilterRequest"
              },
              {
                "type": "null"
              }
            ],
            "description": "私域达人过滤配置"
          }
        },
        "type": "object",
        "title": "SearchInstagramRequest",
        "description": "Instagram 达人搜索请求\n\n对外参数名遵循文档 v1.8，通过 alias 接受文档字段名，\n内部属性名与 InstagramCreatorListQuery 保持一致，to_query() 零映射透传。"
      },
      "SearchYoutubeRequest": {
        "properties": {
          "keyword": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Keyword",
            "description": "搜索关键词"
          },
          "union_user_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 200,
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Union User Ids",
            "description": "达人 union_user_id 列表，最多 200 条"
          },
          "profile_urls": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 200,
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Profile Urls",
            "description": "达人主页链接列表，最多 200 条"
          },
          "lang": {
            "type": "string",
            "enum": [
              "cn",
              "en"
            ],
            "title": "Lang",
            "description": "响应语言：cn（中文）/ en（英文），默认 en",
            "default": "en"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code",
            "description": "国家代码，多选逗号分隔"
          },
          "gender": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Gender",
            "description": "性别"
          },
          "has_email": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Email",
            "description": "是否有邮箱"
          },
          "has_whatsapp": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Whatsapp",
            "description": "是否有WhatsApp"
          },
          "is_ai_creator": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Ai Creator",
            "description": "是否AI达人"
          },
          "industry": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Industry",
            "description": "三级英文类目，逗号分隔"
          },
          "language_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Language Code",
            "description": "语言代码筛选，多选逗号分隔，不区分大小写，如 'en,zh'"
          },
          "followers_cnt_gte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Cnt Gte",
            "description": "粉丝数 - 最小值"
          },
          "followers_cnt_lte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Cnt Lte",
            "description": "粉丝数 - 最大值"
          },
          "last10_avg_video_view_count_all_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video View Count All Gte",
            "description": "近10条视频平均播放量（全部）≥"
          },
          "last10_avg_video_view_count_all_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video View Count All Lte",
            "description": "近10条视频平均播放量（全部）≤"
          },
          "last10_avg_video_view_count_short_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video View Count Short Gte",
            "description": "近10条短视频平均播放量 ≥"
          },
          "last10_avg_video_view_count_short_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video View Count Short Lte",
            "description": "近10条短视频平均播放量 ≤"
          },
          "last10_avg_interaction_rate_all_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Interaction Rate All Gte",
            "description": "近10条视频平均互动率（全部）≥"
          },
          "last10_avg_interaction_rate_all_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Interaction Rate All Lte",
            "description": "近10条视频平均互动率（全部）≤"
          },
          "last10_avg_interaction_rate_short_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Interaction Rate Short Gte",
            "description": "近10条短视频平均互动率 ≥"
          },
          "last10_avg_interaction_rate_short_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Interaction Rate Short Lte",
            "description": "近10条短视频平均互动率 ≤"
          },
          "last_video_publish_date_gte": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Date Gte",
            "description": "最近视频发布时间 - 开始日期(YYYY-MM-DD)"
          },
          "last_video_publish_date_lte": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Date Lte",
            "description": "最近视频发布时间 - 结束日期(YYYY-MM-DD)"
          },
          "audience_country_code_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Country Code List",
            "description": "受众国家代码(多选逗号分隔)"
          },
          "audience_language_code_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Language Code List",
            "description": "受众语言(多选逗号分隔)"
          },
          "audience_age_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Age List",
            "description": "受众年龄(多选逗号分隔)"
          },
          "audience_female_rate_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Female Rate Gte",
            "description": "受众女性占比 ≥"
          },
          "audience_female_rate_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Female Rate Lte",
            "description": "受众女性占比 ≤"
          },
          "sort_field": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Field",
            "description": "排序字段"
          },
          "sort_order": {
            "$ref": "#/components/schemas/SortOrder",
            "description": "排序方式",
            "default": "desc"
          },
          "page": {
            "type": "integer",
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Page",
            "description": "页码",
            "default": 1
          },
          "size": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Size",
            "description": "每页数量",
            "default": 50
          },
          "service_level": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Level",
            "description": "服务等级：S1 / S2 / S3，默认 S1"
          },
          "crm_filter": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CrmCreatorSearchFilterRequest"
              },
              {
                "type": "null"
              }
            ],
            "description": "私域达人过滤配置"
          }
        },
        "type": "object",
        "title": "SearchYoutubeRequest",
        "description": "YouTube 达人搜索请求\n\n对外参数名遵循文档 v1.8，通过 alias 接受文档字段名，\n内部属性名与 YoutubeCreatorListQuery 保持一致，to_query() 零映射透传。"
      },
      "SearchTiktokRequest": {
        "properties": {
          "keyword": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Keyword",
            "description": "搜索关键词"
          },
          "union_user_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 200,
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Union User Ids",
            "description": "达人 union_user_id 列表，最多 200 条"
          },
          "profile_urls": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array",
                "maxItems": 200,
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Profile Urls",
            "description": "达人主页链接列表，最多 200 条"
          },
          "lang": {
            "type": "string",
            "enum": [
              "cn",
              "en"
            ],
            "title": "Lang",
            "description": "响应语言：cn（中文）/ en（英文），默认 en",
            "default": "en"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code",
            "description": "地区（国家代码）- 多选，逗号分隔，如 'CA,MX,US'"
          },
          "gender": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Gender",
            "description": "性别"
          },
          "has_email": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Email",
            "description": "是否有邮箱"
          },
          "has_mcn": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Mcn",
            "description": "是否绑定MCN"
          },
          "has_line": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Line",
            "description": "是否有Line"
          },
          "has_zalo": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Zalo",
            "description": "是否有Zalo"
          },
          "language_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Language Code",
            "description": "语言筛选，多选逗号分隔，不区分大小写，如 'en,zh'"
          },
          "followers_cnt_gte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Cnt Gte",
            "description": "粉丝数 - 最小值"
          },
          "followers_cnt_lte": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Followers Cnt Lte",
            "description": "粉丝数 - 最大值"
          },
          "last10_avg_video_views_cnt_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Views Cnt Gte",
            "description": "近10条视频平均播放量 - 最小值"
          },
          "last10_avg_video_views_cnt_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Views Cnt Lte",
            "description": "近10条视频平均播放量 - 最大值"
          },
          "last10_avg_video_interaction_rate_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Interaction Rate Gte",
            "description": "近10条视频平均互动率 - 最小值"
          },
          "last10_avg_video_interaction_rate_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last10 Avg Video Interaction Rate Lte",
            "description": "近10条视频平均互动率 - 最大值"
          },
          "last_video_publish_date_gte": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Date Gte",
            "description": "最近视频发布时间 - 开始日期(YYYY-MM-DD)"
          },
          "last_video_publish_date_lte": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Video Publish Date Lte",
            "description": "最近视频发布时间 - 结束日期(YYYY-MM-DD)"
          },
          "product_category_id_array": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Product Category Id Array",
            "description": "带货类目ID，逗号分隔"
          },
          "industry": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Industry",
            "description": "三级英文类目，逗号分隔"
          },
          "audience_female_rate_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Female Rate Gte",
            "description": "粉丝女性比例 - 最小值"
          },
          "audience_female_rate_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Female Rate Lte",
            "description": "粉丝女性比例 - 最大值"
          },
          "audience_age_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Age List",
            "description": "粉丝主要年龄区间"
          },
          "last30day_gmv_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last30Day Gmv Gte",
            "description": "最近30天GMV - 最小值"
          },
          "last30day_gmv_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last30Day Gmv Lte",
            "description": "最近30天GMV - 最大值"
          },
          "last30day_gpm_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last30Day Gpm Gte",
            "description": "最近30天GPM - 最小值"
          },
          "last30day_gpm_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last30Day Gpm Lte",
            "description": "最近30天GPM - 最大值"
          },
          "last30day_gmv_per_buyer_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last30Day Gmv Per Buyer Gte",
            "description": "最近30天客单价 - 最小值"
          },
          "last30day_gmv_per_buyer_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 1000000000.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last30Day Gmv Per Buyer Lte",
            "description": "最近30天客单价 - 最大值"
          },
          "last30day_commission_rate_gte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last30Day Commission Rate Gte",
            "description": "最近30天佣金率 - 最小值"
          },
          "last30day_commission_rate_lte": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 100.0,
                "minimum": 0.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Last30Day Commission Rate Lte",
            "description": "最近30天佣金率 - 最大值"
          },
          "audience_country_code_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Country Code List",
            "description": "受众国家代码，多选逗号分隔"
          },
          "audience_language_code_list": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ],
            "title": "Audience Language Code List",
            "description": "受众语言代码，多选逗号分隔"
          },
          "sort_field": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Field",
            "description": "排序字段：followers_cnt, last10_avg_video_views_cnt, last10_avg_video_interaction_rate",
            "default": "followers_cnt"
          },
          "sort_order": {
            "$ref": "#/components/schemas/SortOrder",
            "description": "排序方式 asc/desc",
            "default": "desc"
          },
          "page": {
            "type": "integer",
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Page",
            "description": "页码",
            "default": 1
          },
          "size": {
            "type": "integer",
            "maximum": 100.0,
            "minimum": 1.0,
            "title": "Size",
            "description": "每页数量",
            "default": 50
          },
          "service_level": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Service Level",
            "description": "服务等级：S1（基础）/ S2（精准触达）/ S3（深度画像），默认 S1"
          },
          "crm_filter": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CrmCreatorSearchFilterRequest"
              },
              {
                "type": "null"
              }
            ],
            "description": "私域达人过滤配置"
          }
        },
        "type": "object",
        "title": "SearchTiktokRequest",
        "description": "TikTok 达人搜索请求"
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      }
    }
  },
  "servers": [
    {
      "url": "https://openapi.creativault.ai/openapi"
    }
  ]
}
