# 抖音 星图达人视频表现 API (douyin.xingtu_video_performance)

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

判断一个达人的内容在全平台处于什么水位，用星图达人视频表现：按 `douyin_id` 返回 `personal_videos` 和 `xingtu_videos`，分别是个人视频和星图商单视频的互动率、播放量中位数、完播率，每项给出本值、星图的全平台平均值，以及超过了多少比例的达人（0–1）。

`latest_videos` 是最近约 15 条作品，带标题、点赞评论分享数、时长和是否热门；`latest_xingtu_videos` 是最近的商单作品，字段相同。这些指标是星图给的参考值，不等于合作效果。统计期内没有对应作品时，`personal_videos` 或 `xingtu_videos` 就不会出现。

## Health

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

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| douyin_id | not declared | yes | not declared | 达人个人主页展示的抖音号（unique_id）；也可以直接填星图达人 ID（19 位数字，即 xingtu_creator_search 返回的 creator_id）。不是星图达人时返回空结果、不扣费。 |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| creator_id | 星图商业达人稳定 ID；不是公开主页 user_id 或抖音号。 |
| personal_videos | 个人视频的三项指标（xingtu_video_performance）：engagement_rate 互动率、play_count_median 播放量中位数、completion_rate 完播率；每项 {value 本值, platform_average 星图给的全平台平均值（各达人相同）, percentile 超过了多少比例的达人（0–1）}；统计期内没有个人作品时没有这一项。 |
| xingtu_videos | 星图商单视频的三项指标（xingtu_video_performance），结构同 personal_videos；统计期内没有星图商单作品时没有这一项。 |
| latest_videos | xingtu_recommended_videos：星图主页上的最新作品，字段同 signature_videos；xingtu_video_performance：最近的作品（约 15 条），另有 title、like_count、comment_count、share_count、duration_seconds、is_hot（是否热门）。 |
| latest_xingtu_videos | 最近的星图商单作品（xingtu_video_performance），字段同 latest_videos。 |
| 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_video_performance",
  "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_video_performance",
        "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_video_performance",
  "results": {
    "creator_id": …,
    "personal_videos": …,
    "xingtu_videos": …,
    "latest_videos": …,
    "latest_xingtu_videos": …,
    "platform": …
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### 每项指标里「超过了多少比例的达人」怎么读？

它是 0 到 1 的小数，表示这位达人的这一项超过了多少比例的达人，越接近 1 越靠前。全平台平均值各达人都一样，只当参照线；判断一位达人强不强，先看超过的比例，再看本值。

### 个人视频和商单视频的指标为什么有时缺一块？

统计期内没有个人作品时，没有 `personal_videos`；没有星图商单作品时，没有 `xingtu_videos`。缺的原因是这位达人在统计期内没有对应的作品，接入时把这两项当可选字段处理。

### 想看达人最好的几条视频，该用这一页吗？

不用。这个接口看的是整体水位和最近约 15 条作品；要挑播放最高的商单作品和个人作品，或者取星图主页的代表作，用推荐视频那一页，那里每条视频只有 ID、链接、播放量和发布时间。

## 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
