# solari catalog tiktok account posts

> TikTok アカウントの投稿。

- **CLI**: `solari catalog tiktok account posts`
- **MCP ツール**: `solari_catalog_tiktok_account_posts`
- **アクセス権**: `solari:read`
- **対象プラン**: 無料トライアル · Plus · Pro · Enterprise
- **クレジット**: 1

TikTok アカウントの投稿を一覧で返します。include_transcript は、話している内容が必要なときだけ有効にしてください。

**どんなときに使うか** — プロフィールのプレビューより多くの投稿が必要なとき、または期間や形式で絞り込みたいとき。

**返される内容** — 投稿の一覧。指定すると動画の文字起こしも含みます。

## パラメータ

- `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — TikTok の account_id（SOLARI アカウントの UUID）。これか username のどちらかを指定します。
- `username` (string, 任意, ≤ 64 chars) — TikTok のユーザー名。account_id を指定した場合は無視されます。
- `limit` (integer, 任意, 既定値 12, 1–200) — 1 ページあたりの投稿数。
- `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップする投稿数。
- `since` (string, 任意, pattern ^\d{4}-\d{2}-\d{2}$) — この UTC 日付（YYYY-MM-DD）以降の投稿のみ。
- `until` (string, 任意, pattern ^\d{4}-\d{2}-\d{2}$) — この UTC 日付（YYYY-MM-DD）以前の投稿のみ。
- `post_type` (enum, 任意) — video または carousel に絞り込みます。 値: `video`, `carousel`.
- `include_transcript` (boolean, 任意, 既定値 false) — 動画の文字起こしを含めます。

## レスポンス

### `Response`

- `found` (boolean) — username が TikTok に存在しない場合は false。
- `account_id / username` (string) — 特定したアカウント。
- `total` (integer) — フィルターに合う投稿の数。
- `has_more` (boolean) — 次のページがあるかどうか。
- `items` (object[]) — 投稿の一覧（新しい順）。
- `fetched_on_demand` (boolean) — 現時点で最新の投稿しか取得できていない場合は true。

### `items[]`

- `post_id` (uuid) — TikTok の投稿 ID。Instagram の投稿 ID とは別物です。
- `video_id` (string) — TikTok の URL に含まれる公開の数値 ID。
- `url` (string) — 公開パーマリンク。
- `account_id` (uuid) — 投稿者の account_id。
- `username` (string) — 投稿者のユーザー名。
- `post_type` (string) — video または carousel。
- `posted_at` (timestamp) — 投稿日時（UTC）。
- `caption` (string) — キャプション。
- `duration_seconds` (integer) — 動画の長さ。
- `width / height` (integer) — 解像度。
- `play_count` (integer) — 再生数。
- `like_count` (integer) — いいね数。
- `comment_count` (integer) — コメント数。
- `share_count` (integer) — シェア数。
- `collect_count` (integer) — 保存数。
- `is_ad` (boolean) — TikTok の広告フラグ。
- `is_pinned` (boolean) — プロフィールに固定されているかどうか。
- `aigc_label_type` (string | null) — AI 生成コンテンツのラベル（TikTok が付けている場合）。
- `original_language_code` (string | null) — 元の言語。
- `cover_url` (string) — カバー画像の URL。
- `video_url` (string) — 動画ファイルの URL。
- `images` (string[]) — カルーセルの各スライド。動画の場合は空です。
- `hashtags` (string[]) — キャプション内のハッシュタグ。
- `mentions` (string[]) — キャプションでメンションされているユーザー名。
- `transcript` (string | null) — 動画の文字起こし。account posts と content batch では include_transcript=true のときだけ返ります。
- `assets` (object[]) — メディアファイル（掲載順）。それぞれに asset_url、media_type、video_duration があります。
- `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。

## 例

```console
$ solari catalog tiktok account posts username=innisfree_official limit=2
```

_読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_

```json
{
  "found": true,
  "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed",
  "username": "innisfree_official",
  "total": 87,
  "has_more": true,
  "items": [
    {
      "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834",
      "video_id": "7680375687139642645",
      "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645",
      "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed",
      "username": "innisfree_official",
      "post_type": "video",
      "posted_at": "2026-09-02T12:00:00Z",
      "caption": "Deeply hydrated skin—NO OFF HOURS. 💚  wherever the day takes MINGYU—his hydration stays SUPERCHARGED ⚡️ Green Tea Ceramide Milk: Lightweight milky toner that won't clog your pores  Green Tea Ceramide Mist: Touch-free, fa …",
      "duration_seconds": 23,
      "width": 1080,
      "height": 1920,
      "play_count": 493,
      "like_count": 37,
      "comment_count": 2,
      "share_count": 0,
      "collect_count": 3,
      "is_ad": false,
      "is_pinned": false,
      "aigc_label_type": null,
      "original_language_code": null,
      "cover_url": "https://smr-images-b.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/cover.jpg",
      "video_url": "https://smr-images-a.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4",
      "images": [],
      "hashtags": [],
      "mentions": [],
      "transcript": null
    },
    "… 1 more"
  ],
  "fetched_on_demand": false
}
```

## MCP で呼び出す場合

```json
{
  "name": "solari_catalog_tiktok_account_posts",
  "arguments": {
    "username": "innisfree_official",
    "limit": 2
  }
}
```

## 注意点

- 動画の文字起こしはデータ量が大きいため、include_transcript は既定で無効です。
- カタログだけを読みます。アカウントがまだカタログにない場合は、solari fetch tiktok posts username=… を実行してから再試行してください。

## 関連ツール

- [`solari_catalog_tiktok_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-profile.md?lang=ja)
- [`solari_catalog_tiktok_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-detail.md?lang=ja)
- [`solari_catalog_instagram_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-posts.md?lang=ja)
