# 抖音 星图达人转化能力 API (douyin.xingtu_conversion_ability)

- Canonical page: https://everyinfra.com/douyin-api/xingtu_conversion_ability
- Endpoint: POST /api/v1/social with {"platform": "douyin", "action": "xingtu_conversion_ability", "params": {...}}
- Price: $0.001597 per call ($1.6 per 1,000 requests); failed and empty results are not charged
- Returns: single object
- Mode: sync; add "mode": "async" for slow tasks

星图达人转化能力给的是带货转化的区间数据：按 `douyin_id` 返回组件点击量 `component_click_count_range`、点击率 `component_click_rate_range`、单次点击成本 `cpc_range_cny`、每千次播放带来的成交额 `gpm_range_cny`。区间原样返回星图的写法，如 500-1000，比较前先拆成上下限。

`time_window` 可取 `7d`、`30d` 或 `90d`，默认 `30d`。`related_video_count` 是统计转化数据用到的视频数，`video_play_median` 是这些视频的播放量中位数，读区间前先看这两个数够不够。

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=douyin&action=xingtu_conversion_ability

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| douyin_id | not declared | yes | not declared | 达人个人主页展示的抖音号（unique_id）；也可以直接填星图达人 ID（19 位数字，即 xingtu_creator_search 返回的 creator_id）。不是星图达人时返回空结果、不扣费。 |
| time_window | enum: 30d / 7d / 90d | no | not declared | 统计时间窗：7d 近 7 天 / 30d 近 30 天（默认）/ 90d 近 90 天。 |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| creator_id | 星图商业达人稳定 ID；不是公开主页 user_id 或抖音号。 |
| time_window | 统计时间窗（xingtu_conversion_ability）：7d / 30d / 90d，与请求一致。 |
| related_video_count | 时间窗内星图统计转化数据用到的视频数（xingtu_conversion_ability）。 |
| video_play_median | 这些视频的播放量中位数（xingtu_conversion_ability）。 |
| component_click_count_range | 组件点击量区间（xingtu_conversion_ability），星图给的区间写法原样给，如 500-1000、500以下。 |
| component_click_rate_range | 组件点击率区间（xingtu_conversion_ability），如 10%以上、2%以下。 |
| cpc_range_cny | 单次点击成本区间（CPC，xingtu_conversion_ability），人民币元，如 6-8。 |
| gpm_range_cny | GPM 区间（每千次播放带来的成交额，xingtu_conversion_ability），人民币元，如 10-30。 |
| average_sales_range_cny | 平均销售额区间（xingtu_conversion_ability），人民币元，如 2000-5000；达人在星图关掉销售额展示后没有这一项。 |
| product_count | 时间窗内带货的商品数（xingtu_conversion_ability）。 |
| product_price_range_cny | 带货商品价格区间（xingtu_conversion_ability），人民币元。 |
| categories | xingtu_conversion_ability：带货品类分布 [{name 品类, share 占比（0–1）, sales_range_cny 销售额区间}]，有带货时才有；xingtu_touch_distribution：连接用户来源的内容类目，最多三层 [{name 类目, touch_count 数量, subcategories 下一层（同结构）}]。 |
| platform | 数据来源平台标识，与请求里的 platform 一致（如 xiaohongshu、tiktok）。 |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "douyin",
  "action": "xingtu_conversion_ability",
  "params": {
    "douyin_id": "XiaoZhenlla"
  }
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "douyin",
        "action": "xingtu_conversion_ability",
        "params": {
            "douyin_id": "XiaoZhenlla",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

No real sample for these example parameters yet: structure only, every value is a placeholder (…).

```text
{
  "id": "req_…",
  "platform": "douyin",
  "action": "xingtu_conversion_ability",
  "results": {
    "creator_id": …,
    "time_window": …,
    "related_video_count": …,
    "video_play_median": …,
    "component_click_count_range": …,
    "component_click_rate_range": …,
    "cpc_range_cny": …,
    "gpm_range_cny": …,
    "average_sales_range_cny": …,
    "product_count": …,
    "product_price_range_cny": …,
    "categories": …,
    "platform": …
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### 这些区间字段怎么比较？

`component_click_rate_range` 这类字段用的是星图的区间写法，`cpc_range_cny` 和 `gpm_range_cny` 的单位是人民币元。它们是区间，不是精确值，筛选达人时按区间边界比较，别当成单点数字去求平均。

### 带货品类和商品信息在哪里看？

达人在时间窗内有带货时才有 `categories`，每个品类带名称、占比（0–1）和销售额区间；带货商品数在 `product_count`，商品价格区间在 `product_price_range_cny`，单位是人民币元。同名的 `categories` 在连接用户来源那一页里是内容类目，两边含义不同。

### 为什么没有平均销售额区间？

达人在星图关掉了销售额展示，响应里就没有 `average_sales_range_cny`，这取决于达人在星图的展示设置。读取时把它当可选字段处理；如果对方根本不是星图达人，整个结果为空，不扣费。

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=douyin
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
