# solari fetch tiktok post

> URL を指定して TikTok の投稿を 1 件収集し、投稿者を確認します。

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

公開 URL を指定して、TikTok の投稿を 1 件 SOLARI のカタログに収集し、投稿者も確認します。すでに保存済みの投稿の場合は何も取得しません。

**どんなときに使うか** — 投稿のリンクがあり、catalog content detail が item=null を返し、投稿者がわからないとき。

**返される内容** — 収集したかどうか、投稿者付きの投稿、その投稿者をクロールする fetch コマンド。

## パラメータ

- `url` (string, 必須, ≤ 512 chars) — 投稿の公開 URL。vm.tiktok.com と vt.tiktok.com の短縮リンクも使えます。

## レスポンス

### `Response`

- `ingested` (boolean) — この呼び出しでその場で収集した場合は true。
- `already_tracked` (boolean) — すでにカタログにあった場合は true。
- `fetched_on_demand` (boolean) — ingested と同じ。
- `found` (boolean) — その URL に該当する公開投稿が TikTok にない場合は false。
- `post_id` (uuid) — 保存された投稿。
- `account_id` (uuid) — 投稿者のアカウント。
- `username` (string) — 投稿者のハンドル。
- `item` (object | null) — メディアファイルを含む投稿。
- `note` (string) — この後に起きること。
- `next` (string) — 投稿者をクロールする fetch コマンド。

### `item`

- `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 fetch tiktok post url=https://www.tiktok.com/@innisfree_official/video/7680375687139642645
```

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

```json
{
  "ingested": true,
  "already_tracked": false,
  "fetched_on_demand": true,
  "found": true,
  "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3900",
  "account_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834",
  "username": "innisfree_official",
  "item": {
    "account_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834",
    "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3900",
    "video_id": "7680375687139642645",
    "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645",
    "username": "innisfree_official",
    "post_type": "video",
    "posted_at": "2026-09-01T09:00:00Z",
    "play_count": 12000,
    "like_count": 800
  },
  "note": "Collected live and stored now. The author is known by name only: run next to crawl their profile and posts.",
  "next": "solari fetch tiktok account username=innisfree_official"
}
```

## MCP で呼び出す場合

```json
{
  "name": "solari_fetch_tiktok_post",
  "arguments": {
    "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645"
  }
}
```

## 注意点

- 投稿者は名前だけのアカウントとして登録されます。プロフィールと投稿をクロールするには、next（fetch tiktok account）を実行してください。
- 初回の収集には数秒かかります。

## 関連ツール

- [`solari_fetch_tiktok_post_assets`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-post-assets.md?lang=ja)
- [`solari_catalog_tiktok_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-detail.md?lang=ja)
- [`solari_fetch_tiktok_account`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-account.md?lang=ja)
- [`solari_fetch_tiktok_posts`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-posts.md?lang=ja)
