# SOLARI > SOLARI CLI と MCP — ターミナルで使うクリエイター・ブランドインテリジェンス。 ## 概要 SOLARI CLI・MCP を使えば、SOLARI が集めた Instagram、TikTok、Threads などのデータを、使いたい場所で自由に扱えます。catalog はすでに集めているアカウントや投稿を探し、insight は SOLARI が作った順位・類似・広告・トレンドを返し、fetch はプラットフォームから直接取得します。ハンドルをアカウントまたは投稿として 1 件カタログに入れたり、Instagram ハッシュタグの投稿を集めたりします。 ```console $ solari insight instagram account similar username=oliveyoung_official limit=10 $ solari insight instagram brand lookalike content username=innisfreeofficial limit=10 $ solari insight instagram content trend clusters region=KR since_days=7 ``` ## インストール **macOS** Shell: ```bash curl -fsSL https://solari.sh/install | sh ``` Homebrew: ```bash brew install brandazine/solari/solari ``` npm: ```bash npm install -g @brandazine/solari ``` uv: ```bash uv tool install solari-cli ``` uv tool は CLI を専用の環境に入れて PATH に通します。プロジェクトの依存関係と衝突しません。 **Windows** PowerShell: ```powershell irm https://solari.sh/install.ps1 | iex ``` npm: ```bash npm install -g @brandazine/solari ``` uv: ```bash uv tool install solari-cli ``` uv tool は CLI を専用の環境に入れて PATH に通します。プロジェクトの依存関係と衝突しません。 **Linux** Shell: ```bash curl -fsSL https://solari.sh/install | sh ``` npm: ```bash npm install -g @brandazine/solari ``` uv: ```bash uv tool install solari-cli ``` uv tool は CLI を専用の環境に入れて PATH に通します。プロジェクトの依存関係と衝突しません。 ```console $ solari --version 1.0.0-alpha.9 ``` ## クイックスタート ```console $ solari auth login # opens a browser; sign in with your SOLARI account $ solari # catalog, insight, and fetch $ solari catalog instagram account # a group path lists its tools $ solari catalog instagram account search --help # parameters, without calling $ solari catalog instagram account search query=oliveyoung brands_only=true limit=3 ``` account_id を取って、他のツールに渡します: ```console $ solari catalog instagram account search query=innisfree brands_only=true --json \ | jq -r '.content[0].text | fromjson | .items[0].account_id' 018cabce-14cc-7544-8890-7811ec33ef74 $ solari insight instagram brand ad stats username=innisfreeofficial $ solari insight instagram brand top collaborators username=innisfreeofficial limit=20 ``` query_type=bio は、アカウントが自分について書いた文言を探します: ```console $ solari catalog instagram account search query="협찬 문의" query_type=bio region=KR limit=10 $ solari catalog instagram account search query=skincare query_type=bio brands_only=true limit=20 ``` ## コマンド構造 ```console $ solari insight instagram brand # lists the group $ solari brand overview --help # unambiguous trailing paths resolve while browsing $ solari insight instagram brand overview username=innisfreeofficial # calls ``` 引数は key=value のペア。配列は JSON でもカンマ区切りリストでも受け付けます。 ```bash solari catalog instagram content batch post_ids='["019f505f-…","019f5060-…"]' solari catalog instagram content batch post_ids=019f505f-…,019f5060-… ``` - `solari help all` — すべてのコマンド・ツール・パラメータを 1 ページに出します。--json で機械可読になります。 - `solari get ` — ツールだけ実行します。途中までのパスは一覧ではなく失敗します。 - `solari cache refresh` — 自分のマシンのツール一覧をすぐに更新します。 ## 認証 - `solari auth login` — ブラウザを開きます。開けない環境(SSH や、エージェントが代わりに実行している場合)では、サインイン用のリンクを代わりに表示します。 - `solari auth list` — サインイン済みの SOLARI アカウントをすべて表示します。 - `solari auth switch ` — すでにサインイン済みの別のアカウントに切り替えます。ブラウザを開き直す必要はありません。 - `solari auth status` — サーバー、アカウント、サインインの期限。終了コード 3 は再サインインです。 - `solari auth logout` — サインアウトします。--all を付けるとすべてのアカウントから一度にサインアウトします。 ブラウザがコマンドを実行したマシンに戻してくれない環境(SSH やコンテナの中)では、サインインを終えたあとブラウザのアドレスバーにある URL をコピーし、待機しているプロンプトに貼り付けてください。 ## 出力とパイプ 結果は標準出力、案内は標準エラーです。パイプにはデータだけが流れます。 - `--json` — 生の JSON。実データは content[0].text の JSON 文字列です。 - `--ndjson` — 1 行に JSON オブジェクト 1 つ。total などの囲みは標準エラーへ。 - `--refresh` — ローカルの写しを飛ばしてサーバーからツール一覧を取ります。 - `--verbose, -v` — 進行状況を標準エラーに出します。秘匿値は伏せます。 ```console $ solari insight instagram brand ad posts username=innisfreeofficial months=24 limit=200 --ndjson >> ads.ndjson $ jq -s 'group_by(.username) | map({creator: .[0].username, posts: length})' ads.ndjson ``` 投稿ごとに assets が入っています。メディアファイルが順番に並び、それぞれの asset_url はそのままダウンロードできるリンクです。--json と --ndjson は常にレスポンス全体を返すので、行やリンクが欠けません。 ```console $ solari catalog instagram account posts username=innisfreeofficial limit=200 --ndjson \ | jq -r '.assets[].asset_url | select(.)' > urls.txt $ aria2c -i urls.txt -d media -j 8 ``` ## エージェントからのフィードバック エージェントが SOLARI だけでは作業を終えられないとき、確認を挟まず自分で SOLARI チームに知らせます。データがない、件数が足りない、必要な機能がない、値がおかしい、ツールが失敗し続ける、といった場合です。 ```console $ solari feedback "brand ad posts returned 3 rows for a 24 month window" \ category=insufficient_results tool_name=solari_insight_instagram_brand_ad_posts \ details='{"months":24,"returned":3}' ``` 個人情報は含めません。メールアドレス、電話番号、一般の方の名前、キーなどです。公開アカウント名、ツール名、パラメータ、件数が役に立ちます。SOLARI は保存前にメールアドレス、電話番号、キー、トークンをもう一度取り除き、エージェントはフィードバックを送ったことを一行で伝えます。 ## 設定 設定は ~/.solari/config.json です。環境変数はその 1 回のコマンドだけ優先されます。 ```console $ solari config list $ solari config set server https://solari.sh $ solari config unset server ``` - `server · SOLARI_SERVER` — 接続先 SOLARI サーバー。既定は https://solari.sh。 - `cacheTtl · SOLARI_CACHE_TTL` — 自分のマシンのツール一覧を最新とみなす秒数。既定は 900 で、0 なら毎回サーバーに問い合わせます。 - `cacheShadow · SOLARI_CACHE_SHADOW` — 自分のマシンから答えたあと、裏で静かにツール一覧を更新するか。既定は true。 - `callTimeout · SOLARI_CALL_TIMEOUT` — ツール呼び出しを待つ秒数。既定は 150。 - `catalogTimeout · SOLARI_CATALOG_TIMEOUT` — ツール一覧を待つ秒数。既定は 8。 - `SOLARI_TOKEN` — solari auth token で得たアクセストークン。すべてのコマンドで保存済みサインインの代わりに使われます。「自分のコードから」を参照。 - `SOLARI_HOME` — SOLARI のファイルを ~/.solari 以外の場所に置きます。 - `SOLARI_NO_UPDATE_CHECK=1` — 1 日 1 回の更新チェックを完全に無効化します。NO_UPDATE_NOTIFIER=1 も同じ効果です。 ## エージェント ```text set up solari.sh/get-started.md ``` インストールスクリプトが、このマシンで見つかったエージェント(Claude Code, Codex, Grok Build, Antigravity CLI, OpenCode)に CLI をそのまま登録します。solari init はその手順をもう一度実行し、solari init --remove で元に戻せます。 ```bash solari init # checkbox of every CLI (all on; space toggles, enter installs) solari init --detected # no checkbox; only the agents already on this machine solari init claude # just one target solari init --yes # skip the picker, install all solari init --remove ``` ターミナルやスクリプト、そしてコマンドを自分で実行するエージェントには CLI を使ってください。Claude Desktop や ChatGPT のように、アプリ自身がサーバーにつなぐ場合は MCP をお使いください。 ### 機械可読なドキュメント どのページの URL にも .md を付けられます。リファレンス全体を 1 ファイルでも受け取れます。 - `/get-started.md` — エージェント向けセットアップページ。 - `/llms.txt` — llms.txt 形式でまとめたドキュメントの索引。 - `/llms-full.txt` — ガイドとツール全体を 1 つの Markdown ファイルに連結したもの。 - `/docs/tools.md` — 任意のページを Markdown で。?lang=ko や ?lang=ja を付けると他の言語で取得できます。 ## 自分のコードから CLI が実行する読み取り専用ツールは、そのまま REST API(https://solari.sh/mcp/api/v1)としても提供されます。その上に公式 TypeScript・Python SDK があり、エージェント向けには MCP サーバーがあります。アクセストークンひとつで全部使えます。 ### トークンを取得する ```console $ solari auth token $ solari auth token --json ``` サインイン中のアカウントのアクセストークンを出力します。期限切れなら先に更新します。--json を付けると期限、エンドポイント、アカウントも出ます。トークンは 8 時間有効で、その間は自分の SOLARI アカウントを読めるので秘密として扱ってください。 動き続ける必要のあるコード — CI、サーバー、スケジュールジョブ — なら、https://solari.brandazine.com/me/api-keys で API key を作ってください。solari_sk_ で始まり、作成時に一度だけ表示され、失効させるまでこのトークンが使える場所でそのまま使えます。 ### ブラウザなしで CLI を使う ```console $ export SOLARI_TOKEN= $ solari catalog instagram account search query=nike --json ``` SOLARI_TOKEN があれば、そのマシンではサインインなしで全コマンドが動きます — CI、コンテナ、ブラウザのないサーバー。このとき CLI は ~/.solari/credentials.json に触れず、ツールキャッシュもトークン単位に分かれるので、別アカウントのアプリツールが混ざりません。トークンの寿命より長く動くジョブなら、サインイン済みの ~/.solari を(または SOLARI_HOME で指して)使ってください。CLI が自動で更新します。 ### REST API を呼ぶ ```console $ curl -sS https://solari.sh/mcp/api/v1/tools/solari_catalog_instagram_account_search \ -H "Authorization: Bearer $SOLARI_TOKEN" \ -H "Content-Type: application/json" \ -d '{"query":"nike","limit":3}' ``` ツールの引数を JSON オブジェクトとして /tools/<名前> に POST すると、レスポンスがツールの JSON 結果です。GET /tools は全ツールと入力スキーマを返し、エラーは { error: { code, message } } で返ります。エラーコードを含む完全なリファレンスは API ページにあります。 ### SDK を使う ```ts import { Solari } from "@brandazine/solari-sdk"; const solari = new Solari({ token: process.env.SOLARI_TOKEN }); const hits = await solari.tools.catalog.instagram.account.search({ query: "nike", limit: 3 }); ``` ```python from solari_sdk import Solari solari = Solari() # reads SOLARI_TOKEN hits = solari.tools.catalog.instagram.account.search(query="nike", limit=3) ``` npm install @brandazine/solari-sdk、または pip install solari-sdk。どちらも REST API を薄く包んだ依存関係なしのライブラリです。ドット区切りのパスが solari_ 接頭辞の下でツール名に結合されます。 ### コードから MCP で どの MCP クライアントも同じ bearer トークンで https://solari.sh/mcp を直接呼べます。エンドポイントはステートレスなので、initialize なしの tools/call 一発で動きます。 ## MCP でつなぐ リモート MCP のアドレス: ```text https://solari.sh/mcp ``` 初回接続でブラウザが開き、サインインします。 ### Claude Desktop 設定を開き、サイドバー最下部の Customize を選びます。 ![Claude Desktop の設定サイドバー。最下部に Customize があります。](https://pub.brandazine.ai/docs/claude-desktop-settings.webp) _Settings → Customize_ Connectors を開いて Add を押し、ダイアログを入力します。一覧に表示する名前と、上のアドレスです。 ![Claude Desktop の Add custom connector ダイアログ。名前と SOLARI MCP のアドレスが入力されています。](https://pub.brandazine.ai/docs/claude-desktop-add-connector.webp) _Connectors → Add → Add custom connector_ Continue を押すと一度だけサインインを通ります。以降はコネクタ一覧に SOLARI が残り、どの会話でもツールを使えます。claude.ai も同じ手順です。 ### Claude Code ```bash claude mcp add --transport http solari https://solari.sh/mcp ``` Claude Code はサーバーに初めて接続するときにサインインを求めます。/mcp を実行すると接続状態が表示され、自分でサインインを開始することもできます。 ### ChatGPT ChatGPT も Claude Desktop と同じです。設定 → Connectors でアドレスをカスタムコネクタとして追加し、サインインします。カスタムコネクタは有料プラン向けの機能です。 ### その他のホスト リモート MCP サーバーに対応した他のアプリもつなげます。多くは設定ファイルにこうした項目を書きます: ```json { "mcpServers": { "solari": { "url": "https://solari.sh/mcp" } } } ``` > アプリによっては、自分のマシンに入れた MCP サーバーしか動かせないものがあります。そうしたアプリは SOLARI に直接つなげないので、CLI をお使いください。 ## エラーと終了コード - `0` — 成功。 - `1` — ツールまたはサーバー側で失敗しました。 - `2` — CLI が受け付けられない入力です。存在しないパス、抜けている引数、不正な値のいずれかです。 - `3` — サインインが必要です。ブラウザでのサインインは人にしか完了できないため、エージェントは再試行を続けず利用者に伝えてください。 ### よく見るツールエラー - `auth expired, reconnect the connector` — サインインの有効期限が切れました。solari auth login を実行し直すか、アプリでコネクタをつなぎ直してください。 - `SOLARI access denied (403)` — SOLARI が呼び出しを拒否しました。サインインし直してください。 - `rate limited, retry shortly` — 短い時間に呼び出しが多すぎました。少し待ってから再試行してください。 - `SOLARI upstream timed out` — 呼び出しに時間がかかりすぎました。ほとんどのツールは 90 秒、集計とトレンドクラスターのツールは 120 秒です。範囲を狭めるか limit を下げて再試行してください。 ## データカバレッジ - content search・content aggregate: KR・JP・US・TW、直近およそ 6 か月。 - アカウント・ブランド・投稿ツール: 履歴全体、リージョン制限なし。 - リージョンの中では KR のカバレッジが最も深くなっています。 - 件数は 10,000 まで正確。TikTok 検索のページ送りは 9,800 で止まります。 ### 識別子 - account_id はプラットフォームごと。Instagram と TikTok の id は互換しません。 - account_id か username。両方あると account_id が優先です。 - post_id もプラットフォームごと。公開 id は slug(Instagram) か video_id(TikTok)。 ## よくある質問 ### SOLARI のデータを変更したいです。 いいえ。すべてのツールは読み取り専用です。 ### Claude などのエージェントでも使いたいです。 はい。solari init でこのマシンのエージェントに CLI を知らせるか、MCP サーバーに直接つないでください。 ### 検索結果がないと出ます。 アカウント検索はユーザー名・表示名にその文字がある必要があります。コンテンツ検索は KR・JP・US・TW、直近 6 か月です。 ### 料金が気になります。 いまは無料でご利用いただけます。変更がある場合は事前にご案内します。 ## ツールリファレンス CLI と MCP が提供するすべてのツールです。catalog は集めた行、insight は SOLARI が計算した答え、fetch はプラットフォームから直接取得する入口です(ハンドル 1 件をアカウント・投稿として、または Instagram ハッシュタグの投稿)。CLI は空白、MCP 名はアンダースコアです。 ### solari catalog instagram account search > 集めた Instagram アカウントをユーザー名、名前、Bio の語句から探します。account_id を取るときに使えます。 - **CLI**: `solari catalog instagram account search` - **MCP ツール**: `solari_catalog_instagram_account_search` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 SOLARI が集めた Instagram アカウントのカタログから、ユーザー名、表示名、またはプロフィール Bio の語句で探します。Instagram 本体の検索ではありません。ここで得た account_id は、ほかの Instagram ツールにそのまま渡せます。 **どんなときに使うか** — 名前やユーザー名だけで、まだ account_id がないときに使います。 **何が返るか** — 一致したアカウントの一覧です。いちばん近い結果が先頭に来ます。 #### パラメータ - `query` (string, 必須) — ユーザー名、表示名、または query_type=bio のときはプロフィール Bio の語句。 - `query_type` (enum, 任意, 既定値 "auto") — どこを見るか。ユーザー名、表示名、Bio、またはその全部 (auto)。 値: `auto`, `username`, `full_name`, `bio`. - `brands_only` (boolean, 任意, 既定値 false) — 既知のブランドアカウントだけにします。ブランドを探すときにオンにします。 - `limit` (integer, 任意, ≥ 1) — 返すアカウントの数。 - `region` (string, 任意, ≤ 8 chars) — KR や JP などの国コード。空なら全体を探します。 #### レスポンス ##### `Response` - `found` (boolean) — 一致したアカウントがあるか。 - `items` (object[]) — 一致したアカウントです。いちばん近い結果が先頭です。 ##### `items[]` - `account_id` (uuid) — ほかの Instagram ツールに渡す account_id。 - `username` (string) — Instagram のユーザー名。 - `full_name` (string) — 表示名。 - `biography` (string) — プロフィール Bio。 - `follower_count` (integer) — フォロワー数。 - `region` (string) — 国コード。 - `is_verified` (boolean) — 認証バッジ。 - `profile_pic_url` (string) — プロフィール画像 URL。 #### 例 ```console $ solari catalog instagram account search query=oliveyoung brands_only=true limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "items": [ { "account_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "username": "oliveyoung_official", "full_name": "올리브영 OLIVE YOUNG", "biography": "ALL LIVE YOUNG 🫒\nALL LIVE BETTER @olivebetter.official", "follower_count": 1199628, "region": "KR", "is_verified": true, "profile_pic_url": "https://dcr.bzine.co/instagram/users/oliveyoung_official/profile-picture" }, { "account_id": "018dc63c-31b5-740f-bde0-2c00931385e1", "username": "oliveyoung_global", "full_name": "OLIVE YOUNG Global", "biography": "Korea's No.1 Health & Beauty Store\n✈️ FREE SHIPPING on orders over $60", "follower_count": 535949, "region": "KR", "is_verified": true, "profile_pic_url": "https://dcr.bzine.co/instagram/users/oliveyoung_global/profile-picture" }, { "account_id": "018cabcf-e60e-70af-95eb-eff777ce5195", "username": "oliveyoung_magazine", "full_name": "올리브영 매거진", "biography": "내 일상과 가까운 뷰티 매거진", "follower_count": 142316, "region": "KR", "is_verified": false, "profile_pic_url": "https://dcr.bzine.co/instagram/users/oliveyoung_magazine/profile-picture" }, "… 2 more" ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_instagram_account_search", "arguments": { "query": "oliveyoung", "brands_only": true, "limit": 5 } } ``` #### 注意点 - 名前検索は、ユーザー名か表示名にその文字がある必要があります。あだ名や略称ではほとんど見つかりません。 - ブランドを探すときは brands_only=true にしてください。ファンアカウントが外れます。 - region を付けると指定した国だけになります。特定の国でなければ空のままにしてください。 #### 関連ツール - [`solari_catalog_instagram_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-profile.md?lang=ja) - [`solari_catalog_instagram_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-posts.md?lang=ja) - [`solari_catalog_tiktok_account_search`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-search.md?lang=ja) ### solari insight instagram account similar > 似た Instagram アカウントを探すときに使います。 - **CLI**: `solari insight instagram account similar` - **MCP ツール**: `solari_insight_instagram_account_similar` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 近いネットワークにいる Instagram アカウントを探します。一緒に広告した相手ではなく、関係が近いアカウントです。 **どんなときに使うか** — 似たアカウントがほしいときに使います。広告の協業相手なら brand top collaborators です。 **何が返るか** — 近い順の類似アカウントです。 #### パラメータ - `username` (string, 必須) — Instagram のユーザー名。@ は付けません。 - `limit` (integer, 任意, ≥ 1) — 返す類似アカウントの数。 #### レスポンス ##### `Response` - `user_id` (uuid) — 起点の account_id。 - `user` (object) — 起点アカウントのプロフィール。 - `params` (object) — 実際に使った設定。 - `results` (object[]) — 類似アカウントです。スコアの高い順です。 - `diagnostics` (object) — 検索のやり方。 ##### `results[]` - `user_id` (uuid) — 類似アカウントの account_id。 - `username` (string) — ユーザー名。 - `full_name / bio` (string) — 表示名と Bio。 - `score` (number) — このレスポンスでの類似スコア。 - `follower_count` (integer) — フォロワー数。 - `region` (string) — 国コード。 - `has_collaborated` (boolean) — 起点と広告コラボがあるか。 - `last_collaboration_date` (date | null) — 直近のコラボ日。 - `recent_media` (object[]) — 直近投稿のプレビュー。 #### 例 ```console $ solari insight instagram account similar username=oliveyoung_official limit=8 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "user_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "user": { "user_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "username": "oliveyoung_official", "full_name": "올리브영 OLIVE YOUNG", "profile_pic_url": "https://dcr.bzine.co/instagram/users/oliveyoung_official/profile-picture", "follower_count": 1199628, "region": "KR", "is_verified": null }, "params": { "k": 8, "hops": 3, "max_rank_to_use": 25 }, "results": [ { "user_id": "018cabd4-926b-7a58-b0cb-11dfc7c37006", "username": "gs25_official", "score": 0.1515, "profile_pic_url": "https://dcr.bzine.co/instagram/users/gs25_official/profile-picture", "follower_count": 1017802, "median_views": null, "full_name": "대한민국 대표 편의점 GS25", "bio": "더 재미있게 더 실속있게\n오늘 가장 최신의 트렌드를 만나는\n#25매거진 #재미있는GS25 #라이프스타일플랫폼", "region": "KR", "has_collaborated": false, "last_collaboration_date": null, "recent_media": [ { "post_id": "01a062a3-a504-7fe5-b53f-7cd291ffceff", "media_type": "image", "source_url": "https://bzine.co/cdn-cgi/image/fit=scale-down,width=480/https://smr-images.bzine.co/users/018cabd4-926b-7a58-b0cb-11dfc7c37006/posts/01a062a3-a504-7fe5-b53f-7cd291ffceff/medias/01a062a3-a7f8-702c-994f-bd426afe5d74.jpg", "thumbnail_url": "https://bzine.co/cdn-cgi/image/fit=scale-down,width=480/https://smr-images.bzine.co/users/018cabd4-926b-7a58-b0cb-11dfc7c37006/posts/01a062a3-a504-7fe5-b53f-7cd291ffceff/medias/01a062a3-a7f8-702c-994f-bd426afe5d74.jpg", "slug": "Dcx-Nrij7IV", "media_url": "https://bzine.co/cdn-cgi/image/fit=scale-down,width=480/https://smr-images.bzine.co/users/018cabd4-926b-7a58-b0cb-11dfc7c37006/posts/01a062a3-a504-7fe5-b53f-7cd291ffceff/medias/01a062a3-a7f8-702c-994f-bd426afe5d74.jpg", "play_count": null, "posted_at": "2026-09-02T10:00:09+00:00" }, "… 3 more" ], "collaborated_with": [] }, "… 7 more" ], "diagnostics": { "neighbors_used": 4930, "unique_terms": 25, "build_ms": 7664, "algorithm": "distance_weighted_jaccard", "max_rank_used": 25, "target_related_count": 25 } } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_account_similar", "arguments": { "username": "oliveyoung_official", "limit": 8 } } ``` #### 注意点 - ユーザー名を渡します。account_id は使えません。 - ブランドと広告したクリエイターが必要なら brand top collaborators を使ってください。 #### 関連ツール - [`solari_catalog_instagram_account_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-search.md?lang=ja) - [`solari_insight_instagram_brand_top_collaborators`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-top-collaborators.md?lang=ja) ### solari insight instagram brand overview > Instagram ブランドのプロフィールと広告履歴です。 - **CLI**: `solari insight instagram brand overview` - **MCP ツール**: `solari_insight_instagram_brand_overview` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 ブランドのプロフィールと、広告の裏にあるクリエイター id・広告投稿 id を返します。投稿本文が必要なら、その id を content batch に渡してください。 **どんなときに使うか** — ブランドを最初に見るときに使います。正確な広告件数は brand ad stats です。 **何が返るか** — ブランドのプロフィール、クリエイター id、広告投稿 id です。 #### パラメータ - `username` (string, 必須) — ブランドの Instagram ユーザー名。@ は付けません。 - `full` (boolean, 任意, 既定値 false) — 先頭 20 件ではなく、id 一覧の全体を返します。 #### レスポンス ##### `Response` - `information` (object) — ブランドのプロフィール。user_id、username、full_name、bio、follower_count。 - `all_influencers_id` (uuid[]) — ブランド広告を作ったクリエイターの account_ids。デフォルトは先頭 20 件。 - `all_influencers_count` (integer) — 途中で切る前のクリエイター総数。 - `all_influencers_truncated` (boolean) — リストがプレビューのとき true。 - `all_campaign_posts_id` (uuid[]) — 広告投稿の id。デフォルトは先頭 20 件。 - `all_campaign_posts_count` (integer) — 途中で切る前の投稿総数。 - `all_campaign_posts_truncated` (boolean) — リストがプレビューのとき true。 #### 例 ```console $ solari insight instagram brand overview username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "information": { "user_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "full_name": "INNISFREE | 이니스프리", "bio": "NATURE MEETS KOREAN SKIN SCIENCE", "follower_count": 847619, "brand_id": null }, "all_influencers_id": [ "01935f3d-8188-727e-a0bb-09e54aadfdac", "018caf6e-abfd-73da-88ad-11a56c39358b", "019a0061-b1d4-7adb-8ea4-1c5572dca38c", "… 17 more" ], "all_campaign_ids": [], "all_campaign_posts_id": [ "019f505f-f8be-7e88-ae08-6fba999950b1", "019f5060-3449-779e-a08b-d6d49add90cd", "019f4342-3357-7418-916c-da1c44468308", "… 17 more" ], "post_id_to_campaign_id": {}, "all_influencers_count": 93, "all_influencers_truncated": true, "all_campaign_posts_count": 100, "all_campaign_posts_truncated": true } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_brand_overview", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - ユーザー名を渡します。account_id は使えません。未知のユーザー名は 404 です。 - full=true だとそれぞれ最大 100 件まで返します。正確な合計は brand ad stats を使ってください。 #### 関連ツール - [`solari_insight_instagram_brand_ad_stats`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-ad-stats.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-batch.md?lang=ja) - [`solari_insight_instagram_brand_ad_posts`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-ad-posts.md?lang=ja) ### solari insight instagram brand ad stats > Instagram ブランドの広告規模が数字で分かります。 - **CLI**: `solari insight instagram brand ad stats` - **MCP ツール**: `solari_insight_instagram_brand_ad_stats` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 ブランドの直近広告を正確な数字で返します。広告投稿数、クリエイター数、再生数の合計です。 **どんなときに使うか** — 答えが数字のときに使います。brand overview の id 一覧は数えません。 **何が返るか** — 広告投稿数、クリエイター数、再生数の合計です。 #### パラメータ - `username` (string, 必須) — ブランドの Instagram ユーザー名。@ は付けません。 #### レスポンス ##### `Response` - `total_ad_posts` (integer) — 期間内の広告投稿数。正確な値です。 - `unique_creator_count` (integer) — コラボしたクリエイターのユニーク数。 - `total_play_count` (integer) — 再生数の合計。 - `play_count_covered_posts` (integer) — 再生数の合計に入っている投稿数。total_ad_posts より少ないときは下限です。 - `window_months` (integer) — 期間の長さ(月数)。 #### 例 ```console $ solari insight instagram brand ad stats username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "total_ad_posts": 405, "unique_creator_count": 360, "total_play_count": 27357941, "play_count_covered_posts": 405, "window_months": 3 } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_brand_ad_stats", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - ユーザー名を渡します。account_id は使えません。 #### 関連ツール - [`solari_insight_instagram_brand_ad_posts`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-ad-posts.md?lang=ja) - [`solari_insight_instagram_brand_overview`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-overview.md?lang=ja) ### solari insight instagram brand ad posts > Instagram ブランドの広告投稿です。 - **CLI**: `solari insight instagram brand ad posts` - **MCP ツール**: `solari_insight_instagram_brand_ad_posts` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 ブランドの広告投稿を、クリエイター付きで返します。 **どんなときに使うか** — 合計ではなく投稿の一覧がほしいときに使います。 **何が返るか** — 広告投稿です。total が正確なのは sort=recent のときだけです。 #### パラメータ - `username` (string, 必須) — ブランドの Instagram ユーザー名。@ は付けません。 - `sort` (enum, 任意, 既定値 "recent") — recent は期間全体、engagement は直近の一部の順位です。 値: `recent`, `engagement`. - `months` (integer, 任意, ≥ 1) — 何ヶ月前まで見るか。 - `limit` (integer, 任意, ≥ 1) — 1ページあたりの件数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — 先頭から何件飛ばすか。 #### レスポンス ##### `Response` - `items` (object[]) — 広告投稿。 - `total` (integer) — sort=recent のとき、期間全体の正確な件数。 - `has_more` (boolean) — 次のページがあるか。 - `ranking_window` (integer | null) — engagement の順位付けがどこまで見たか。並びが期間全体ではなく一部のときだけ入ります。 ##### `items[]` - `id` (uuid) — 投稿 id。 - `slug` (string) — Instagram のショートコード。 - `text` (string) — キャプション。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `username / user_id / account_id` (string) — 投稿したクリエイター。 - `like_count / comment_count / play_count` (integer) — エンゲージメント。 - `media_type` (string) — 投稿の形式。 - `media / media_url / thumbnail_url` (string) — メディアのリンク。 - `virtual_campaign` (object | null) — キャンペーンのグループ。特定できたときだけ入ります。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari insight instagram brand ad posts username=innisfreeofficial limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "id": "01a062a0-2747-72eb-b20d-670cf30f2c96", "slug": "DcygG05GrA-", "text": "#광고 요즘 부쩍 신경 쓰이기 시작한 모공 고민을 직접 경험해보고 싶어 방문한 이니스프리 레티놀 시카 강의실 무빙 팝업💙\n\n업그레이드된 레티놀 시카 모공 흔적 앰플을 직접 테스트해볼 수 있을 뿐 아니라, 제품을 알아보고 체험할 수 있는 다양한 프로그램과 이벤트가 마련되어 있어 더욱 재미있게 둘러볼 수 있었어요.\n\n특히 오늘 방문했을 때는 정말 많은 분들이 찾아와서 놀랐는데요. 대기 줄이 길게 …", "posted_at": "2026-09-02T14:56:19Z", "virtual_campaign": null, "username": "_mini_mming", "user_id": "018caf92-e08a-78a2-b9c3-59f6f5740182", "profile_picture_url": null, "like_count": 384, "comment_count": 4, "thumbnail_url": null, "media_url": null, "media": [], "media_type": "post", "account_id": "018caf92-e08a-78a2-b9c3-59f6f5740182" }, "… 1 more" ], "total": 405, "has_more": true, "ranking_window": null } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_brand_ad_posts", "arguments": { "username": "innisfreeofficial", "limit": 2 } } ``` #### 注意点 - ユーザー名を渡します。未知のユーザー名は 404 です。 - sort=engagement は直近の一部だけを順位付けします。ranking_window がどこまで見たか教えてくれます。 #### 関連ツール - [`solari_insight_instagram_brand_ad_stats`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-ad-stats.md?lang=ja) - [`solari_insight_instagram_account_ad_posts`](https://pub.brandazine.ai/docs/tools/insight-instagram-account-ad-posts.md?lang=ja) ### solari insight instagram brand top collaborators > Instagram ブランドとコラボしたクリエイターです。 - **CLI**: `solari insight instagram brand top collaborators` - **MCP ツール**: `solari_insight_instagram_brand_top_collaborators` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 ブランドの広告を担当したクリエイターを、回数の多い順に出します。 **どんなときに使うか** — ブランドとコラボしたクリエイターを見たいときに使います。クリエイター側から見るなら account collabs です。 **何が返るか** — コラボ回数順のクリエイターです。 #### パラメータ - `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)$) — ブランドの account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — ブランドのユーザー名。account_id があるときは無視されます。 - `promotion` (enum, 任意, 既定値 "all") — 全部、プロモーションだけ、またはプロモーション以外。 値: `all`, `true_only`, `false_only`. - `limit` (integer, 任意, ≥ 1) — 返すクリエイターの数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — 先頭から何人飛ばすか。 #### レスポンス ##### `Response` - `brand_id` (uuid) — 特定したブランドの account_id。 - `promotion_filter` (string) — 適用した promotion フィルタ。 - `items` (object[]) — クリエイターです。コラボ回数の多い順です。 - `total_count` (integer) — フィルタに一致したクリエイター。 ##### `items[]` - `creator_id` (uuid) — クリエイターの account_id。 - `username / full_name` (string) — ユーザー名と表示名。 - `profile_pic_url` (string) — プロフィール画像。 - `follower_count` (integer) — フォロワー数。 - `collaboration_count` (integer) — 対象ブランドとのコラボ投稿。 #### 例 ```console $ solari insight instagram brand top collaborators username=innisfreeofficial limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "brand_id": "018cabce-14cc-7544-8890-7811ec33ef74", "promotion_filter": "all", "items": [ { "creator_id": "0195474c-8ee3-7690-a385-71b2913e31b5", "username": "donge_cos", "full_name": "💞동이💞", "profile_pic_url": "https://dcr.bzine.co/instagram/users/donge_cos/profile-picture", "follower_count": 83354, "collaboration_count": 31 }, { "creator_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "full_name": "베이니 BEINNY", "profile_pic_url": "https://dcr.bzine.co/instagram/users/beinny_motd/profile-picture", "follower_count": 205754, "collaboration_count": 29 }, "… 3 more" ], "total_count": 2331 } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_brand_top_collaborators", "arguments": { "username": "innisfreeofficial", "limit": 5 } } ``` #### 注意点 - 投稿まで見るなら、creator_id を brand collaborator posts に 100 人ずつ渡してください。 #### 関連ツール - [`solari_insight_instagram_brand_collaborator_posts`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-collaborator-posts.md?lang=ja) - [`solari_insight_instagram_account_collabs`](https://pub.brandazine.ai/docs/tools/insight-instagram-account-collabs.md?lang=ja) ### solari insight instagram brand collaborator posts > ブランドとコラボしたクリエイターの広告投稿です。 - **CLI**: `solari insight instagram brand collaborator posts` - **MCP ツール**: `solari_insight_instagram_brand_collaborator_posts` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 最大 100 人のクリエイターの広告投稿を、ブランド基準で読みます。直近だけでなく全期間です。 **どんなときに使うか** — 複数クリエイターの投稿を一度に見たいときに使います。 **何が返るか** — クリエイターごとの合計と投稿です。エンゲージメントの高い順です。 #### パラメータ - `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)$) — ブランドの account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — ブランドのユーザー名。account_id があるときは無視されます。 - `account_ids` (uuid[], 必須, 1–100 items, uuid) — 読み込むクリエイターの account_id。最大 100。 #### レスポンス ##### `Response` - `(top level)` (object[]) — クリエイターの配列です。 ##### `[]` - `user_id` (uuid) — クリエイターの account_id。 - `username / full_name` (string) — ユーザー名と表示名。 - `follower_count` (integer) — フォロワー数。 - `post_count` (integer) — 対象ブランド向けの投稿。 - `reels_count / images_count` (integer) — 形式別の内訳。 - `posts` (object[]) — 投稿そのもの。id、slug、text、posted_at、like_count、comment_count、play_count。 - `like_count_avg / comment_count_avg` (number | null) — エンゲージメントの平均。出ているときだけ入ります。 - `posts[].assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `posts[].assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari insight instagram brand collaborator posts username=innisfreeofficial account_ids='["0195474c-8ee3-7690-a385-71b2913e31b5","018ecc75-55d8-70a7-a348-d370aa504ed9"]' ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json [ { "user_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "full_name": "베이니 BEINNY", "post_count": 29, "follower_count": 205754, "reels_count": 1, "images_count": 28, "posts": [ { "id": "019c98bc-a666-717d-a5fe-ea96f1345042", "slug": "ByVKkIbnQ8S", "text": "#이니스프리 에서 새롭게 출시된 #구름블러틴트 ☁️💓\n비비드 코튼 잉크 블러버젼이에용\n.\n요즘 이런 블러틴트류 많이 출시돼서 넘 행복해요🥺💛\n이니스프리 블러틴트는 보송보송한 마무리지만 꽤 촉촉하고 가볍게 발리더라구요! 발림성 넘 좋았어요✨\n총 8가지 컬러인데 그중 제 맘에 드는 4가지 컬러는 입술에 발색해서 보여드려용 :) 특히 로즈+핑크 섞인듯한 2호 #로제핑크 완전 추천👍🏻✨\n가격은 9, …", "posted_at": "2019-06-05T14:02:19Z", "virtual_campaign": null, "like_count": 2399, "comment_count": 20, "play_count": null, "username": "beinny_motd", "user_id": "018ecc75-55d8-70a7-a348-d370aa504ed9" }, "… 10 more" ], "like_count_avg": null, "comment_count_avg": null, "synced_at": null }, "… 1 more" ] ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_brand_collaborator_posts", "arguments": { "username": "innisfreeofficial", "account_ids": [ "0195474c-8ee3-7690-a385-71b2913e31b5", "018ecc75-55d8-70a7-a348-d370aa504ed9" ] } } ``` #### 注意点 - account_ids は JSON 配列かカンマ区切りです。一度に 100 人までです。 #### 関連ツール - [`solari_insight_instagram_brand_top_collaborators`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-top-collaborators.md?lang=ja) - [`solari_insight_instagram_brand_overview`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-overview.md?lang=ja) ### solari insight instagram brand lookalike content > ブランド広告に似た投稿を探すときに使います。 - **CLI**: `solari insight instagram brand lookalike content` - **MCP ツール**: `solari_insight_instagram_brand_lookalike_content` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 ブランドの成果が良い広告に近い投稿を探します。参考を集めるときに使えます。 **どんなときに使うか** — 広告の件数ではなく、似た参考がほしいときに使います。 **何が返るか** — 似た投稿と、起点になったブランド広告です。 #### パラメータ - `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)$) — ブランドの account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — ブランドのユーザー名。account_id があるときは無視されます。 - `limit` (integer, 任意, ≥ 1) — 似た投稿を何件返すか。 - `region` (string, 任意, 既定値 "KR") — KR や JP などの国コード。 #### レスポンス ##### `Response` - `items` (object[]) — 似た投稿。 - `basis` (object[]) — 起点に使ったブランド自身の広告投稿。 - `region` (string) — 検索の対象にした国。 ##### `items[] · basis[]` - `post_id` (uuid) — ほかのコンテンツ系ツールに渡す投稿 id。 - `slug` (string) — 公開 URL のショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像 URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の国。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `media_type` (string) — image、video、または carousel。 - `play_count` (integer | null) — 動画の再生数。画像では null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディア URL。 - `thumbnail_url` (string) — サムネイル URL。 - `score` (number | null) — このレスポンスでの順位スコア。 - `efficiency_score` (number | null) — 投稿者のフォロワー数と比べた成果。 - `est_percentile` (number | null) — 対象国内のパーセンタイル。0–1。 - `total_views_3m` (integer | null) — 投稿者の直近 3 ヶ月の再生数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 ヶ月の再生数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近コラボしたブランド。 - `item_type` (string) — アイテムの種類。これらのフィードでは post。 - `content_source` (string | null) — このアイテムを出したフィード。 - `is_saved` (boolean | null) — SOLARI に保存されているか。 - `updated_at` (timestamp | null) — 指標の最終更新時刻。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari insight instagram brand lookalike content username=innisfreeofficial limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "item_type": "content", "post_id": "019ecb92-a677-7421-8ed6-752efe3d99d0", "author_id": "0196cb39-870a-7a76-9773-0b95789c877d", "username": "boo_rookie", "full_name": null, "profile_pic_url": null, "follower_count": null, "region": null, "posted_at": "2026-06-11T08:14:37Z", "media_type": "video", "play_count": 427258, "like_count": null, "score": null, "efficiency_score": null, "est_percentile": null, "updated_at": null, "media_url": "https://smr-images-b.bzine.co/users/0196cb39-870a-7a76-9773-0b95789c877d/posts/019ecb92-a677-7421-8ed6-752efe3d99d0/medias/019ecb92-a92e-7fc8-b644-69b930f2e197.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=100ms/https://smr-images-a.bzine.co/users/0196cb39-870a-7a76-9773-0b95789c877d/posts/019ecb92-a677-7421-8ed6-752efe3d99d0/medias/019ecb92-a92e-7fc8-b644-69b930f2e1 …", "slug": "DZcD8KXxKwd", "text": null, "brand_match_score": null, "recent_collab_brands": [], "total_views_3m": null, "median_views_3m": null, "is_saved": null, "content_source": "lookalikes_by_top_ad" }, "… 2 more" ], "basis": [ { "item_type": "content", "post_id": "01a04c73-3ec3-7873-9e84-334c644abfe4", "author_id": "0196c474-c96e-71ad-aceb-61af051c81d3", "username": "hwitto_", "full_name": null, "profile_pic_url": null, "follower_count": null, "region": null, "posted_at": null, "media_type": "video", "play_count": 155729, "like_count": null, "score": null, "efficiency_score": null, "est_percentile": null, "updated_at": null, "media_url": "https://smr-images-a.bzine.co/users/0196c474-c96e-71ad-aceb-61af051c81d3/posts/01a04c73-3ec3-7873-9e84-334c644abfe4/medias/01a04c73-4036-7a83-a52a-97b0058e6732.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=100ms/https://smr-images.bzine.co/users/0196c474-c96e-71ad-aceb-61af051c81d3/posts/01a04c73-3ec3-7873-9e84-334c644abfe4/medias/01a04c73-4036-7a83-a52a-97b0058e6732 …", "slug": "DckGrZ6vZiU", "text": null, "brand_match_score": null, "recent_collab_brands": [], "total_views_3m": null, "median_views_3m": null, "is_saved": null, "content_source": "lookalikes_by_top_ad" }, "… 5 more" ], "region": "KR" } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_brand_lookalike_content", "arguments": { "username": "innisfreeofficial", "limit": 3 } } ``` #### 注意点 - basis が空なら、まだ起点にできる広告投稿がありません。 #### 関連ツール - [`solari_insight_instagram_brand_ad_posts`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-ad-posts.md?lang=ja) - [`solari_catalog_instagram_content_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-search.md?lang=ja) ### solari catalog instagram account profile > Instagram アカウントのプロフィール、成果、直近の投稿です。 - **CLI**: `solari catalog instagram account profile` - **MCP ツール**: `solari_catalog_instagram_account_profile` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Instagram アカウントのプロフィール、再生の成果、直近の投稿とコラボのプレビューを返します。 **どんなときに使うか** — アカウントの全体像がほしいときに使います。直近投稿とコラボが付いてきます。 **何が返るか** — プロフィール、成果、直近投稿とコラボのプレビューです。 #### パラメータ - `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)$) — account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — Instagram のユーザー名。account_id があるときは無視されます。 #### レスポンス ##### `Response` - `user_id` (uuid) — account_id。 - `username / full_name / bio` (string) — ユーザー名、表示名、Bio。 - `follower_count / following_count` (integer) — フォロワー数とフォロー数。 - `total_post_count` (integer) — 累計投稿数。 - `post_count_3m` (integer) — 直近 3 ヶ月の投稿数。 - `is_verified` (boolean) — 認証バッジ。 - `account_type` (string) — SOLARI が推定したアカウントの性質(brand、creator、…)。 - `median_views_cur` (integer) — 今の期間の再生数の中央値。 - `total_views_cur` (integer) — 今の期間の再生数の合計。 - `ad_count_cur` (integer) — 今の期間の広告投稿。 - `median_views_growth_m1` (number) — 前月比の再生数中央値の変化。比率です。 - `total_views_growth_m1` (number) — 前月比の再生数合計の変化。比率です。 - `median_views_region_pct` (number) — 対象国内の再生数中央値パーセンタイル。0–1。 - `total_views_region_pct` (number) — 対象国内の再生数合計パーセンタイル。0–1。 - `recent_posts` (object[]) — 直近投稿のプレビュー。 - `recent_collabs` (object[]) — 直近の広告コラボのプレビュー。 - `fetched_on_demand` (boolean) — この呼び出しで初めてアカウントを取得したとき true。 #### 例 ```console $ solari catalog instagram account profile username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "user_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "full_name": "INNISFREE | 이니스프리", "bio": "NATURE MEETS KOREAN SKIN SCIENCE", "profile_pic_url": "https://dcr.bzine.co/instagram/users/innisfreeofficial/profile-picture", "follower_count": 847619, "total_post_count": 4131, "post_count_3m": 100, "following_count": 17, "is_verified": true, "median_views_cur": 12409, "ad_count_cur": 0, "total_views_cur": 685771, "median_views_growth_m1": 0.04956440835659308, "total_views_growth_m1": 0.39407867587418205, "median_views_region_pct": 0.1736183168163037, "total_views_region_pct": 0.1457900950723917, "recent_posts": [ { "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "slug": "DcyMAmUh6FZ", "media_type": "video", "media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …", "text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …", "play_count": 22467, "like_count": 3224, "video_media_count": 0, "media_count": 1 }, "… 5 more" ], "recent_collabs": [], "account_type": "brand", "fetched_on_demand": false } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_instagram_account_profile", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - 未収集のユーザー名は、最初のリクエストでその場で取りにいきます。成果とコラボは収集が終わるまで空のことがあります。 - そのあとの not-found は、Instagram にそのユーザー名がないという意味です。 #### 関連ツール - [`solari_catalog_instagram_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-posts.md?lang=ja) - [`solari_insight_instagram_account_collabs`](https://pub.brandazine.ai/docs/tools/insight-instagram-account-collabs.md?lang=ja) - [`solari_catalog_tiktok_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-profile.md?lang=ja) ### solari catalog instagram account posts > Instagram アカウントの投稿です。 - **CLI**: `solari catalog instagram account posts` - **MCP ツール**: `solari_catalog_instagram_account_posts` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Instagram アカウントの投稿をメディア、タグ、いいね付きで一覧します。日付や形式で絞れます。 **どんなときに使うか** — プロフィールのプレビューでは足りないときや、期間・形式で分けたいときに使います。 **何が返るか** — 投稿の一覧です。カルーセルの全枚と、タグされたアカウント・ハッシュタグも付きます。 #### パラメータ - `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)$) — account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — Instagram のユーザー名。account_id があるときは無視されます。 - `limit` (integer, 任意, ≥ 1) — 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, 任意) — reel、video、photo、carousel のいずれかに絞ります。 値: `reel`, `video`, `photo`, `carousel`. #### レスポンス ##### `Response` - `found` (boolean) — Instagram にないユーザー名なら false です。 - `account_id / username` (string) — 特定したアカウント。 - `total` (integer) — フィルタに一致した投稿。 - `has_more` (boolean) — 次のページがあるか。 - `items` (object[]) — 投稿です。新しい順です。 - `fetched_on_demand` (boolean) — まだ直近の投稿しかないとき true。 ##### `items[]` - `post_id` (uuid) — SOLARI の post_id。 - `slug` (string) — Instagram のショートコード。 - `url` (string) — 公開パーマリンク。 - `post_type` (string) — reel、video、photo、または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `text` (string) — キャプション。 - `like_count / comment_count / play_count` (integer) — エンゲージメント。 - `media_count` (integer) — メディアの枚数。 - `is_paid_partnership` (boolean | null) — Instagram の有料パートナーシップラベル。 - `medias` (object[]) — カルーセル順の全メディア。 - `medias[].tags` (object[]) — メディアにタグされたアカウントとハッシュタグ。 - `thumbnail_url` (string) — サムネイル。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog instagram account posts username=innisfreeofficial limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "fetched_on_demand": false, "total": 4196, "has_more": true, "items": [ { "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "slug": "DcyMAmUh6FZ", "url": "https://www.instagram.com/p/DcyMAmUh6FZ/", "post_type": "reel", "posted_at": "2026-09-02T12:00:06+00:00", "text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …", "like_count": 3224, "comment_count": 57, "play_count": 22467, "media_count": 1, "is_paid_partnership": false, "medias": [ { "media_type": "video", "media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …", "video_duration": 23.868000030517578, "tags": [] } ], "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …" }, "… 1 more" ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_instagram_account_posts", "arguments": { "username": "innisfreeofficial", "limit": 2 } } ``` #### 注意点 - since と until は UTC 日付で、両端を含みます。 - post_type=reel はショート動画です。video は reel 以外の動画です。 - This reads the catalog only. If the username is missing, call solari fetch instagram posts username=… then retry. #### 関連ツール - [`solari_catalog_instagram_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-profile.md?lang=ja) - [`solari_catalog_instagram_content_detail`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-detail.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-posts.md?lang=ja) ### solari insight instagram account collabs > Instagram クリエイターが最近コラボしたコンテンツです。 - **CLI**: `solari insight instagram account collabs` - **MCP ツール**: `solari_insight_instagram_account_collabs` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Instagram クリエイターの直近のコラボコンテンツを返します。 **どんなときに使うか** — クリエイターの直近コラボを見たいときに使います。ブランド側から見るなら brand top collaborators です。 **何が返るか** — 直近のコラボコンテンツです。 #### パラメータ - `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)$) — クリエイターの account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — クリエイターのユーザー名。account_id があるときは無視されます。 - `months` (integer, 任意, ≥ 1) — 何ヶ月前まで見るか。 - `limit` (integer, 任意, ≥ 1) — 1ページあたりのブランド数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — 先頭から何件飛ばすか。 #### レスポンス ##### `Response` - `total` (integer) — フィルタに一致した行。 - `has_more` (boolean) — さらに行があるか。 - `items` (object[]) — コラボの要約です。対象ブランドごとに 1 件です。 ##### `items[]` - `target_account_id` (uuid) — 対象ブランドの account_id。 - `target_username` (string) — 対象ブランドのユーザー名。 - `collab_count` (integer) — 対象ブランドとのコラボ投稿。 - `last_posted_at` (timestamp) — 直近のコラボ。 - `post_id / slug` (string) — サンプル投稿の識別子。 - `text` (string) — サンプル投稿のキャプション。 - `like_count / play_count` (integer) — サンプル投稿のエンゲージメント。 - `media_type` (string) — サンプル投稿の形式。 - `thumbnail_url / media_url` (string) — サンプル投稿のメディア。 - `bio` (string) — 対象ブランドの Bio。 #### 例 ```console $ solari insight instagram account collabs username=beinny_motd months=6 limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "post_id": "01a05575-7c9b-7232-8519-4a38fa061389", "target_user_id": "018cab85-8ef8-7dc9-ab0a-7044d463f65e", "target_username": "dasique_official", "collab_count": 2, "last_posted_at": "2026-08-30T05:08:56+00:00", "slug": "DcpugJ2kzv8", "text": "#광고 무겁지 않은 가을 데일리 팔레트 로즈밀크티 . .🫖🤎\n차분하고 미지근한 로즈핑크 팔레트인데\n부드러운 밀크티 무드라서 분위기가 넘 예뻐요..🥺\n\n데이지크에서 올리브영 X 산리오 콜라보\n시티팝 에디션으로 미니섀도우팔레트 4종이 출시되는데\n그 중 자주 추천드렸던 로즈밀크티, 밀크라떼가 있더라구요 !\n\nNEW 컬러 피치레코드, 모브카세트도 출시되어요🤍\n도시의 아침과 저녁 무드를 담은 데일리한 …", "play_count": 0, "media_type": "8", "like_count": 878, "video_media_count": 0, "media_count": 15, "bio": "🫒올영세일 08.30 – 09.05\nUP TO 37% SALE\n올리브영X산리오,\n🌠데이지크 🆕 미니 섀도우", "thumbnail_url": "https://bzine.co/cdn-cgi/image/fit=scale-down,width=480/https://smr-images-c.bzine.co/users/018ecc75-55d8-70a7-a348-d370aa504ed9/posts/01a05575-7c9b-7232-8519-4a38fa061389/medias/01a05575-7dd3-779e-9050-a6cb59578cb9.jpg", "media_url": "https://bzine.co/cdn-cgi/image/fit=scale-down,width=480/https://smr-images-c.bzine.co/users/018ecc75-55d8-70a7-a348-d370aa504ed9/posts/01a05575-7c9b-7232-8519-4a38fa061389/medias/01a05575-7dd3-779e-9050-a6cb59578cb9.jpg", "target_account_id": "018cab85-8ef8-7dc9-ab0a-7044d463f65e" }, "… 2 more" ], "has_more": true, "total": 7 } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_account_collabs", "arguments": { "username": "beinny_motd", "months": 6, "limit": 3 } } ``` #### 注意点 - 広告投稿の一覧が必要なら account ad posts を使ってください。 #### 関連ツール - [`solari_insight_instagram_account_ad_posts`](https://pub.brandazine.ai/docs/tools/insight-instagram-account-ad-posts.md?lang=ja) - [`solari_insight_instagram_brand_top_collaborators`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-top-collaborators.md?lang=ja) ### solari insight instagram account ad posts > Instagram クリエイターの広告投稿です。 - **CLI**: `solari insight instagram account ad posts` - **MCP ツール**: `solari_insight_instagram_account_ad_posts` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Instagram クリエイターの広告投稿を返します。 **どんなときに使うか** — 要約ではなく広告投稿の一覧がほしいときに使います。 **何が返るか** — 広告投稿です。新しい順です。 #### パラメータ - `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)$) — クリエイターの account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — クリエイターのユーザー名。account_id があるときは無視されます。 - `months` (integer, 任意, ≥ 1) — 何ヶ月前まで見るか。 - `limit` (integer, 任意, ≥ 1) — 1ページあたりの行数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — 先頭から何行飛ばすか。 - `target` (string, 任意, ≤ 64 chars) — 指定したブランドだけ。account_id またはユーザー名。 #### レスポンス ##### `Response` - `account_id / username` (string) — 特定したクリエイター。 - `months` (integer) — さかのぼった期間。 - `total` (integer) — 行の総数。 - `has_more` (boolean) — 次のページがあるか。 - `items` (object[]) — 投稿とブランドのペア。 ##### `items[]` - `post_id / slug / url` (string) — 投稿の識別子と公開リンク。 - `post_type` (string) — reel、video、photo、または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `text` (string) — キャプション。 - `like_count / comment_count / play_count` (integer) — エンゲージメント。 - `media_count` (integer) — メディアの枚数。 - `is_paid_partnership` (boolean | null) — Instagram の有料パートナーシップラベル。 - `target_account_id / target_username` (string) — 行が属するブランド。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari insight instagram account ad posts username=beinny_motd months=6 limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "account_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "months": 6, "total": 12, "has_more": true, "items": [ { "post_id": "01a05575-7c9b-7232-8519-4a38fa061389", "slug": "DcpugJ2kzv8", "url": "https://www.instagram.com/p/DcpugJ2kzv8/", "post_type": "carousel", "posted_at": "2026-08-30T05:08:56Z", "text": "#광고 무겁지 않은 가을 데일리 팔레트 로즈밀크티 . .🫖🤎\n차분하고 미지근한 로즈핑크 팔레트인데\n부드러운 밀크티 무드라서 분위기가 넘 예뻐요..🥺\n\n데이지크에서 올리브영 X 산리오 콜라보\n시티팝 에디션으로 미니섀도우팔레트 4종이 출시되는데\n그 중 자주 추천드렸던 로즈밀크티, 밀크라떼가 있더라구요 !\n\nNEW 컬러 피치레코드, 모브카세트도 출시되어요🤍\n도시의 아침과 저녁 무드를 담은 데일리한 …", "like_count": 878, "comment_count": 19, "play_count": 0, "media_count": 15, "is_paid_partnership": null, "target_account_id": "018cab85-8ef8-7dc9-ab0a-7044d463f65e", "target_username": "dasique_official" }, "… 1 more" ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_account_ad_posts", "arguments": { "username": "beinny_motd", "months": 6, "limit": 2 } } ``` #### 注意点 - target を付けると指定したブランドだけになります。account_id かユーザー名を渡せます。 #### 関連ツール - [`solari_insight_instagram_account_collabs`](https://pub.brandazine.ai/docs/tools/insight-instagram-account-collabs.md?lang=ja) - [`solari_insight_instagram_brand_ad_posts`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-ad-posts.md?lang=ja) ### solari catalog instagram content detail > Instagram の投稿を取得します。 - **CLI**: `solari catalog instagram content detail` - **MCP ツール**: `solari_catalog_instagram_content_detail` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 post_id、ショートコード、または公開 URL で Instagram 投稿を読みます。 **どんなときに使うか** — 投稿が必要なときに使います。id が多いなら content batch です。 **何が返るか** — キャプションと成果が付いた投稿です。 #### パラメータ - `post_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)$) — post_id。これか slug、url のどれかを渡します。 - `slug` (string, 任意, pattern ^[A-Za-z0-9_-]{3,20}$) — Instagram のショートコード。 - `url` (string, 任意, ≤ 512 chars) — 公開されている Instagram 投稿 URL。 #### レスポンス ##### `Response` - `item` (object | null) — 投稿です。存在しないか非公開なら null。 - `fetched_on_demand` (boolean) — この呼び出しで初めて投稿を取得したとき true。 ##### `item` - `post_id` (uuid) — ほかのコンテンツ系ツールに渡す投稿 id。 - `slug` (string) — 公開 URL のショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像 URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の国。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `media_type` (string) — image、video、または carousel。 - `play_count` (integer | null) — 動画の再生数。画像では null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディア URL。 - `thumbnail_url` (string) — サムネイル URL。 - `score` (number | null) — このレスポンスでの順位スコア。 - `efficiency_score` (number | null) — 投稿者のフォロワー数と比べた成果。 - `est_percentile` (number | null) — 対象国内のパーセンタイル。0–1。 - `total_views_3m` (integer | null) — 投稿者の直近 3 ヶ月の再生数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 ヶ月の再生数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近コラボしたブランド。 - `item_type` (string) — アイテムの種類。これらのフィードでは post。 - `content_source` (string | null) — このアイテムを出したフィード。 - `is_saved` (boolean | null) — SOLARI に保存されているか。 - `updated_at` (timestamp | null) — 指標の最終更新時刻。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog instagram content detail slug=DcyMAmUh6FZ ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "item": { "item_type": "content", "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "author_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "full_name": "INNISFREE | 이니스프리", "profile_pic_url": "https://dcr.bzine.co/instagram/users/innisfreeofficial/profile-picture", "follower_count": 847619, "region": null, "posted_at": "2026-09-02T12:00:06Z", "media_type": "video", "play_count": 22467, "like_count": 3224, "score": null, "efficiency_score": null, "est_percentile": null, "updated_at": null, "media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …", "slug": "DcyMAmUh6FZ", "text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …", "brand_match_score": null, "recent_collab_brands": [], "total_views_3m": null, "median_views_3m": null, "is_saved": null, "content_source": null }, "fetched_on_demand": false } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_instagram_content_detail", "arguments": { "slug": "DcyMAmUh6FZ" } } ``` #### 注意点 - url は /p/、/reel/、/tv/ のリンクで大丈夫です。ショートコードはこちらで切り出します。 - 未収集のショートコードや URL は、最初のリクエストでその場で取りにいきます。 #### 関連ツール - [`solari_catalog_instagram_content_batch`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-batch.md?lang=ja) - [`solari_catalog_instagram_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-posts.md?lang=ja) ### solari catalog instagram content batch > 複数の Instagram 投稿を一度に取得します。 - **CLI**: `solari catalog instagram content batch` - **MCP ツール**: `solari_catalog_instagram_content_batch` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 投稿 id のリストからキャプションと成果を読みます。見つからない id は飛ばします。 **どんなときに使うか** — brand overview やフィードで得た id から投稿がほしいときに使います。 **何が返るか** — 見つかった投稿だけが返ります。 #### パラメータ - `post_ids` (uuid[], 必須, 1–100 items, uuid) — 読み込む post_id。最大 100。 - `sort` (enum, 任意, 既定値 "recent") — 新しい順、またはエンゲージメント順。 値: `recent`, `engagement`. #### レスポンス ##### `Response` - `items` (object[]) — 見つかった投稿。 - `requested` (integer) — 送った id の件数。 - `found` (integer) — 特定できた件数。未収集の id は落とすので、少なくなることがあります。 ##### `items[]` - `id` (uuid) — 投稿 id。 - `slug` (string) — Instagram のショートコード。 - `text` (string) — キャプション。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `username / user_id / account_id` (string) — 投稿したアカウント。 - `like_count / comment_count` (integer) — エンゲージメント。 - `play_count` (integer | null) — 動画の再生数。 - `media_type` (string) — 投稿の形式。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog instagram content batch post_ids='["019f505f-f8be-7e88-ae08-6fba999950b1","019f5060-3449-779e-a08b-d6d49add90cd"]' ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "id": "019f505f-f8be-7e88-ae08-6fba999950b1", "slug": "Dam_BYyJxtR", "text": "#광고 ₊✩‧₊˚ @innisfreeofficial ˚₊✩‧₊ \n공들인 나의 화장.. 찜통 더위에 무너져 내릴때\n이니스프리 노세범 선 파우더 하나면 고민 끝!\n\n유분 가득한 피부.. 꺼진 부위, 모공, 요철 부각되어\n10년은 늙어보이는 몰골에서 노세범 선 파우더 바르는\n즉시 핑크빛 필터를 씌운 듯~ 뽀용 피부 완성 ⭒˚.⋆\n\n노세범 맛집 답게 과다 피지와 유분을 즉각 흡착시키고\n무엇보다 가벼 …", "posted_at": "2026-07-10T10:34:01Z", "virtual_campaign": null, "username": "the_ketchap", "user_id": "018d3b53-c0c1-71cc-a44f-204f7d850267", "profile_picture_url": null, "like_count": 38579, "comment_count": 31, "thumbnail_url": null, "media_url": null, "media": [], "media_type": "reel", "play_count": 676825, "account_id": "018d3b53-c0c1-71cc-a44f-204f7d850267" }, "… 1 more" ], "requested": 2, "found": 2 } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_instagram_content_batch", "arguments": { "post_ids": [ "019f505f-f8be-7e88-ae08-6fba999950b1", "019f5060-3449-779e-a08b-d6d49add90cd" ] } } ``` #### 注意点 - SOLARI の投稿 id だけを受けます。ショートコードは content detail の slug に渡してください。 #### 関連ツール - [`solari_catalog_instagram_content_detail`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-detail.md?lang=ja) - [`solari_insight_instagram_brand_overview`](https://pub.brandazine.ai/docs/tools/insight-instagram-brand-overview.md?lang=ja) ### solari catalog instagram content search > Instagram のキャプション、Bio、動画の文字起こしを検索するときに使います。 - **CLI**: `solari catalog instagram content search` - **MCP ツール**: `solari_catalog_instagram_content_search` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 KR、JP、US、TW で追跡中の Instagram 投稿をキーワードで探します。だいたい直近 6 ヶ月です。 **どんなときに使うか** — ある話題の投稿がほしいときに使います。件数が答えなら content aggregate です。 **何が返るか** — 関連の高い順の投稿です。当たった文言はハイライトされます。 #### パラメータ - `query` (string, 必須) — 探す語句。 - `region` (enum, 任意, 既定値 "KR") — KR、JP、US、TW。 値: `KR`, `JP`, `US`, `TW`. - `limit` (integer, 任意, ≥ 1) — 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)。 #### レスポンス ##### `Response` - `query / region` (string) — 適用した query と国。 - `total` (integer) — 一致した総数。10,000 までは正確で、そこから先は止まります。 - `took_ms` (integer) — 検索時間。 - `items` (object[]) — ヒットです。スコアの高い順です。 ##### `items[]` - `post_id` (uuid) — SOLARI の post_id。 - `slug` (string) — Instagram のショートコード。 - `account_id / author_id / username` (string) — 投稿したアカウント。 - `caption` (string) — キャプション。 - `user_bio` (string) — 投稿者の Bio。検索対象テキストの一部です。 - `transcription_text` (string | null) — 動画の音声の文字起こし。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `like_count / comment_count` (integer) — エンゲージメント。 - `follower_count` (integer) — 投稿者のフォロワー数。 - `score` (number) — 関連度スコア。このレスポンス内でのみ比較できます。 - `highlight` (object) — フィールドごとの一致箇所。caption、user_bio、transcription_text。 - `is_video` (boolean) — 投稿が動画か。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog instagram content search query="이니스프리 그린티" limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "이니스프리 그린티", "region": "KR", "total": 10000, "took_ms": 1586, "items": [ { "post_id": "019f12d8-3e72-78e9-b7e5-39293bc56f23", "author_id": "019f12d8-3e0f-7c74-afc6-e14405bd1523", "username": "hanydiary", "caption": "[이니스프리에디터 4기 1-2 : 그린티 PDRN 아이&립 세럼] #이니스프리 #그린티PDRN 💚 자세한 포스팅은 프로필 링크 참고해주세요 :)", "user_bio": "대외활동 | 휴학생 | 취준일기 🪽과 학생회 2년 연임 🪽이니스프리 대학생 에디터 3기 / 4기", "transcription_text": null, "posted_at": "2026-02-16T05:44:45Z", "like_count": 3, "comment_count": 3, "follower_count": 972, "score": 140.43787, "slug": "DUzrl1UkoJb", "highlight": { "caption": [ "[이니스프리에디터 4기 1-2 : 그린티 PDRN 아이&립 세럼] #이니스프리 #그린티PDRN 💚 자세한 포스팅은 프로필 링크 참고해주세요 :)" ], "user_bio": [ "대외활동 | 휴학생 | 취준일기 🪽과 학생회 2년 연임 🪽이니스프리 대학생 에디터 3기 / 4기" ], "transcription_text": [] }, "is_video": false, "media_url": null, "thumbnail_url": null, "account_id": "019f12d8-3e0f-7c74-afc6-e14405bd1523" }, "… 2 more" ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_instagram_content_search", "arguments": { "query": "이니스프리 그린티", "limit": 3 } } ``` #### 注意点 - since がだいたい 6 ヶ月より前だと結果は空です。 - total は 10,000 まで数えて、そこから先は止まります。 #### 関連ツール - [`solari_insight_instagram_content_aggregate`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-aggregate.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-batch.md?lang=ja) - [`solari_catalog_tiktok_content_search`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-content-search.md?lang=ja) ### solari insight instagram content trending > いま伸びている Instagram 投稿です。 - **CLI**: `solari insight instagram content trending` - **MCP ツール**: `solari_insight_instagram_content_trending` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 region で指定した地域の、いま伸びている Instagram 投稿を、投稿者のプロフィール付きで返します。 **どんなときに使うか** — いま効いているコンテンツを見たいときに使います。伸びの速さが大事なら content rising です。 **何が返るか** — いま伸びている投稿です。次のページは next_cursor で取ります。 #### パラメータ - `region` (string, 任意, 既定値 "KR") — KR や JP などの国コード。 - `limit` (integer, 任意, ≥ 1) — 1ページあたりの件数。 - `cursor` (string, 任意) — 前のページの next_cursor。 - `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)$) — 順位を合わせるブランドの account_id。 - `username` (string, 任意, ≤ 64 chars) — 順位を合わせるブランドのユーザー名。account_id があるときは無視されます。 #### レスポンス ##### `Response` - `items` (object[]) — いま伸びている投稿。 - `total_count` (integer) — フィードの件数。 - `region` (string) — 適用した国。 - `content_type` (string) — フィードの種類。 - `next_cursor` (string | null) — 次のページではこれを cursor として渡します。 ##### `items[]` - `post_id` (uuid) — ほかのコンテンツ系ツールに渡す投稿 id。 - `slug` (string) — 公開 URL のショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像 URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の国。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `media_type` (string) — image、video、または carousel。 - `play_count` (integer | null) — 動画の再生数。画像では null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディア URL。 - `thumbnail_url` (string) — サムネイル URL。 - `score` (number | null) — このレスポンスでの順位スコア。 - `efficiency_score` (number | null) — 投稿者のフォロワー数と比べた成果。 - `est_percentile` (number | null) — 対象国内のパーセンタイル。0–1。 - `total_views_3m` (integer | null) — 投稿者の直近 3 ヶ月の再生数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 ヶ月の再生数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近コラボしたブランド。 - `item_type` (string) — アイテムの種類。これらのフィードでは post。 - `content_source` (string | null) — このアイテムを出したフィード。 - `is_saved` (boolean | null) — SOLARI に保存されているか。 - `updated_at` (timestamp | null) — 指標の最終更新時刻。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari insight instagram content trending region=KR limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "item_type": "content", "post_id": "01a055fe-d72c-7005-8709-eef67b4be6f0", "author_id": "018ecc27-f8e7-7100-9339-bb050ea44a7f", "username": "sixpackpiggy", "full_name": "Jinmin Park", "profile_pic_url": "https://dcr.bzine.co/instagram/users/sixpackpiggy/profile-picture", "follower_count": 93442, "region": "KR", "posted_at": "2026-08-29T02:02:20Z", "media_type": "video", "play_count": 286749, "like_count": null, "score": 96.69330916066565, "efficiency_score": null, "est_percentile": 96.69330916066565, "updated_at": "2026-09-03T04:51:42.797111Z", "media_url": "https://smr-images-b.bzine.co/users/018ecc27-f8e7-7100-9339-bb050ea44a7f/posts/01a055fe-d72c-7005-8709-eef67b4be6f0/medias/01a055fe-d964-7d73-9a77-d06823a2abc2.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018ecc27-f8e7-7100-9339-bb050ea44a7f/posts/01a055fe-d72c-7005-8709-eef67b4be6f0/medias/01a055fe-d964-7d73-9a77-d06823a2abc2.m …", "slug": "Dcmzs05SAae", "text": "How dedicated are you to your Korean skincare? 💅@patinaosaka \n#koreanskincare #osaka #japan #kbeauty #traveling", "brand_match_score": null, "recent_collab_brands": [], "total_views_3m": 1875678, "median_views_3m": 57780, "is_saved": false, "content_source": null }, "… 1 more" ], "total_count": 213635, "region": "KR", "content_type": "trending", "next_cursor": "eyJhcyI6ICIyMDI2LTA5LTAzVDA1OjIwOjIzLjM4Mzk3NCswMDowMCIsICJzYyI6ICIyMDI2LTA5LTAzVDA0OjQ0OjQ3LjkzNTI1OCswMDowMCIsICJzcCI6ICIwMWEwNTVmZS1mOWIyLTdiNmYtYjY1OS05ZGE1OTM3NjgzMWMifQ==" } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_content_trending", "arguments": { "region": "KR", "limit": 2 } } ``` #### 注意点 - ブランドの account_id かユーザー名を付けると、指定したブランドに合わせて順位が変わります。 - ページは offset ではなく cursor です。next_cursor を送り返してください。 #### 関連ツール - [`solari_insight_instagram_content_rising`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-rising.md?lang=ja) - [`solari_insight_instagram_content_trend_clusters`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-trend-clusters.md?lang=ja) ### solari insight instagram content rising > 急上昇中の Instagram 投稿です。 - **CLI**: `solari insight instagram content rising` - **MCP ツール**: `solari_insight_instagram_content_rising` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 直近の成果が急に伸びている Instagram 投稿です。投稿者のプロフィールも付きます。 **どんなときに使うか** — いまの数字より、伸びの速さが大事なときに使います。 **何が返るか** — 上昇中の投稿です。次のページは next_cursor で取ります。 #### パラメータ - `region` (string, 任意, 既定値 "KR") — KR や JP などの国コード。 - `limit` (integer, 任意, ≥ 1) — 1ページあたりの件数。 - `cursor` (string, 任意) — 前のページの next_cursor。 - `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)$) — 順位を合わせるブランドの account_id。 - `username` (string, 任意, ≤ 64 chars) — 順位を合わせるブランドのユーザー名。account_id があるときは無視されます。 #### レスポンス ##### `Response` - `items` (object[]) — 上昇中の投稿。 - `total_count` (integer) — フィードの件数。 - `region` (string) — 適用した国。 - `content_type` (string) — フィードの種類。 - `next_cursor` (string | null) — 次のページではこれを cursor として渡します。 ##### `items[]` - `post_id` (uuid) — ほかのコンテンツ系ツールに渡す投稿 id。 - `slug` (string) — 公開 URL のショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像 URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の国。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `media_type` (string) — image、video、または carousel。 - `play_count` (integer | null) — 動画の再生数。画像では null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディア URL。 - `thumbnail_url` (string) — サムネイル URL。 - `score` (number | null) — このレスポンスでの順位スコア。 - `efficiency_score` (number | null) — 投稿者のフォロワー数と比べた成果。 - `est_percentile` (number | null) — 対象国内のパーセンタイル。0–1。 - `total_views_3m` (integer | null) — 投稿者の直近 3 ヶ月の再生数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 ヶ月の再生数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近コラボしたブランド。 - `item_type` (string) — アイテムの種類。これらのフィードでは post。 - `content_source` (string | null) — このアイテムを出したフィード。 - `is_saved` (boolean | null) — SOLARI に保存されているか。 - `updated_at` (timestamp | null) — 指標の最終更新時刻。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari insight instagram content rising region=KR limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "item_type": "content", "post_id": "01a0495a-4e46-73d5-a111-a818248b665b", "author_id": "019e4a24-ee85-78e9-8763-602930999853", "username": "iiiwantkitty", "full_name": "주 령", "profile_pic_url": "https://dcr.bzine.co/instagram/users/iiiwantkitty/profile-picture", "follower_count": 706, "region": "KR", "posted_at": "2026-08-28T07:38:46Z", "media_type": "video", "play_count": 48092, "like_count": null, "score": 0.1292899036795201, "efficiency_score": 0.1292899036795201, "est_percentile": 84.68488691008565, "updated_at": "2026-09-03T05:20:45.496271Z", "media_url": "https://smr-images-b.bzine.co/users/019e4a24-ee85-78e9-8763-602930999853/posts/01a0495a-4e46-73d5-a111-a818248b665b/medias/01a0495a-4fc0-7352-92dd-a04afe898589.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images-a.bzine.co/users/019e4a24-ee85-78e9-8763-602930999853/posts/01a0495a-4e46-73d5-a111-a818248b665b/medias/01a0495a-4fc0-7352-92dd-a04afe898589 …", "slug": "Dck0Wj8xeq3", "text": "이정도가 아니면 뮤트라고 하지말자..⭐️ 뮤트톤 친구 입술에 빡빡 발라주고싶음\n\n컬러 보자마자 아 내꺼하자ㅡㅡ 하고 바로 겟한 것\n\n그레이애쉬,, 핑크 ,, 브라운 다 들어간 밑힌 컬러 이거 뮤트톤들이 바르면 진짜 분위기 미처버리는 립이걸랑 영상보다 실물이 더 뮤트!\n\n입술에 올리면 좀더 투명하게 올라가면서 회끼도는데 뉴트럴하면서도 팥앙금 같은 고런 깔 느낌\n안쪽에만 톡톡 발라서 쌩얼립으로도 …", "brand_match_score": null, "recent_collab_brands": [ "apieu_cosmetics", "… 8 more" ], "total_views_3m": 2389749, "median_views_3m": 5215, "is_saved": false, "content_source": null }, "… 1 more" ], "total_count": 291665, "region": "KR", "content_type": "rising", "next_cursor": "eyJhcyI6ICIyMDI2LTA5LTAzVDA1OjIwOjQ5LjA3Mjg3MiswMDowMCIsICJzYyI6ICIyMDI2LTA5LTAzVDA1OjE5OjQwLjc1NzUwOCswMDowMCIsICJzcCI6ICIwMWEwNDNmOC1hODdlLTdiMWItYjFiNi1iODliMTU2YjU0ODgifQ==" } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_content_rising", "arguments": { "region": "KR", "limit": 2 } } ``` #### 注意点 - パラメータは content trending と同じで、ブランドに合わせた順位も同じです。 #### 関連ツール - [`solari_insight_instagram_content_trending`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-trending.md?lang=ja) - [`solari_insight_instagram_content_trend_clusters`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-trend-clusters.md?lang=ja) ### solari insight instagram content trend clusters > Instagram のトレンドをテーマごとにまとめます。 - **CLI**: `solari insight instagram content trend clusters` - **MCP ツール**: `solari_insight_instagram_content_trend_clusters` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 region で指定した地域のトレンド要約です。名前の付いたテーマ、規模、動き、メンバー投稿が付きます。 **どんなときに使うか** — 投稿の羅列ではなく、いまの流れを見たいときに使います。 **何が返るか** — 名前の付いたクラスタと、メンバー投稿のプレビューです。 #### パラメータ - `region` (string, 任意, 既定値 "KR") — KR や JP などの国コード。 - `since_days` (integer, 任意, 既定値 7, 1–90) — 何日前まで見るか。 - `limit` (integer, 任意, ≥ 1) — 返すクラスタの数。 - `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)$) — 並びを合わせるブランドの account_id。 - `username` (string, 任意, ≤ 64 chars) — 並びを合わせるブランドのユーザー名。account_id があるときは無視されます。 - `brand_aware` (boolean, 任意, 既定値 true) — ブランド向けに並び替えるか。ブランドを付けたときの既定はオンです。 #### レスポンス ##### `Response` - `success` (boolean) — ダイジェストが作られたか。 - `trend_count` (integer) — 返したクラスタの数。 - `header_text` (string) — ダイジェストの見出し。 - `region / since_days` (string · integer) — 適用した国と、さかのぼった期間。 - `brand_aware` (boolean) — ブランド向けの並び替えを頼んだか。 - `als_applied` (boolean) — ブランド寄りのモデルが実際に動いたか。 - `trends` (object[]) — クラスタ。 ##### `trends[]` - `cluster_id` (string) — クラスタ id。 - `name` (string) — クラスタ名。 - `bullets` (string[]) — クラスタを説明する文。 - `count` (integer) — 所属する投稿。 - `count_delta` (integer) — 前の期間と比べた所属投稿数の変化。 - `growth_pct` (number) — 成長率(パーセント)。 - `avg_play_delta` (number) — 平均再生数の変化。 - `distinct_creators` (integer) — クラスタに入っているクリエイター。 - `creator_delta` (integer) — クリエイター数の変化。 - `is_new` (boolean) — そのクラスタが今の期間に初めて出たか。 - `member_thumbnails` (object[]) — 所属投稿のサムネイルプレビュー。 #### 例 ```console $ solari insight instagram content trend clusters region=KR since_days=7 limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "success": true, "trend_count": 2, "header_text": "최근 7일 인기 트렌드 2개 (브랜드 컨텍스트 없음)", "brand_aware": true, "als_applied": false, "region": "KR", "since_days": 7, "directive": null, "trends": [ { "cluster_id": "01a05857-7727-74d8-8da5-4e95981aca8d", "name": "GV90의 미래형 하이테크 기능", "bullets": [ "화면이 회전하거나 시트가 뒤로 돌아가는 등 물리적으로 변형되는 자동차 내부 장치들을 직접 시연함", "… 1 more" ], "count": 7, "count_delta": 0, "growth_pct": 0, "avg_play_delta": 0, "creator_delta": 0, "distinct_creators": 3, "is_new": false, "early_zone_creator_count": null, "early_zone_creator_ratio": null, "als_member_count": null, "mean_als_score": null, "annotation": null, "group": null, "member_thumbnails": [ { "post_id": "01a030df-c4b3-739c-9214-44b3b9463c7b", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=100ms/https://smr-images-c.bzine.co/users/018cb4c9-da89-7b02-8efd-53ccb65c26c9/posts/01a030df-c4b3-739c-9214-44b3b9463c7b/medias/01a030df-c7c3-788e-8775-1096728e07 …", "slug": "DcP6jgRMTRv", "username": "sol.bpd", "media_url": "https://smr-images-c.bzine.co/users/018cb4c9-da89-7b02-8efd-53ccb65c26c9/posts/01a030df-c4b3-739c-9214-44b3b9463c7b/medias/01a030df-c7c3-788e-8775-1096728e07f2.mp4", "media_type": "video", "play_count": 1947419, "posted_at": "2026-08-20T04:37:17+00:00" }, "… 3 more" ] }, "… 1 more" ], "insights": null, "insight_query": null } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_content_trend_clusters", "arguments": { "region": "KR", "since_days": 7, "limit": 2 } } ``` #### 注意点 - 最大 2 分ほどかかることがあります。 - ブランドを付けると、指定したブランド向けに並びが変わります。元の順のままなら brand_aware=false です。 #### 関連ツール - [`solari_insight_instagram_content_trending`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-trending.md?lang=ja) - [`solari_insight_instagram_content_rising`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-rising.md?lang=ja) ### solari insight instagram content aggregate > Instagram の投稿数を数えるときに使います。 - **CLI**: `solari insight instagram content aggregate` - **MCP ツール**: `solari_insight_instagram_content_aggregate` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 アカウント、形式、ハッシュタグ、メンション、キーワードごとに投稿数を足します。答えが数字のときに使います。 **どんなときに使うか** — 規模、平均、どのハッシュタグが先頭かが必要なときに使います。投稿そのものは content search です。 **何が返るか** — グループごとの件数です。大きいグループが先に来ます。ほかの指標は頼んだものだけ入ります。 #### パラメータ - `region` (enum, 任意, 既定値 "KR") — KR、JP、US、TW。 値: `KR`, `JP`, `US`, `TW`. - `group_by` (enum, 任意) — 件数の分け方。 値: `account`, `post_type`, `hashtag`, `mention`, `caption_keyword`, `transcription_keyword`. - `interval` (enum, 任意) — この暦の間隔で時系列を付けます。 値: `day`, `week`, `month`. - `metrics` (string[], 任意) — post_count 以外に欲しい指標。 値: `like_sum`, `like_avg`, `comment_sum`, `comment_avg`, `view_sum`, `view_avg`, `follower_avg`, `account_count`. - `query` (string, 任意) — キャプションと文字起こしで探すキーワード。 - `usernames` (string[], 任意) — これらの Instagram ユーザー名だけ。 - `hashtags` (string[], 任意) — これらのハッシュタグをすべて持つ投稿だけ。 - `mentions` (string[], 任意) — これらのユーザー名をすべてメンションした投稿だけ。 - `post_types` (string[], 任意) — これらの形式だけ。 - `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)。 - `limit` (integer, 任意, ≥ 1) — 返すグループの数。 #### レスポンス ##### `Response` - `region` (string) — 集計した国。 - `since` (date) — 実際に使った開始日。 - `until` (date | null) — 実際に使った終了日。 - `group_by` (string | null) — 適用したグループ化。 - `interval` (string | null) — 適用した時間間隔。 - `total_posts` (integer) — フィルタに一致した投稿。 - `truncated` (boolean) — limit より多くのグループがあったとき true。 - `buckets` (object[]) — グループです。大きい順です。 ##### `buckets[]` - `key` (string) — グループの値。group_by を省略すると、合計が 1 つだけです。 - `metrics.post_count` (integer) — 投稿数。常に入ります。 - `metrics.like_sum / like_avg` (number | null) — いいねの合計と平均。頼んだときだけ入ります。 - `metrics.comment_sum / comment_avg` (number | null) — コメントの合計と平均。頼んだときだけ入ります。 - `metrics.view_sum / view_avg` (number | null) — 再生数の合計と平均。頼んだときだけ入ります。 - `metrics.share_sum / collect_sum` (number | null) — TikTok 専用。ここでは常に null。 - `metrics.follower_avg` (number | null) — 投稿者の平均フォロワー数。 - `metrics.account_count` (integer | null) — グループ内のユニークアカウント数。 - `series` (object[] | null) — 期間ごとの内訳。interval を付けたとき。 #### 例 ```console $ solari insight instagram content aggregate group_by=hashtag query="이니스프리" metrics='["like_avg","view_sum","account_count"]' limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "region": "KR", "since": "2026-03-04", "until": null, "group_by": "hashtag", "interval": null, "total_posts": 1647, "truncated": true, "buckets": [ { "key": "이니스프리", "metrics": { "post_count": 772, "like_sum": null, "like_avg": 320.7240932642487, "comment_sum": null, "comment_avg": null, "view_sum": 9400953, "view_avg": null, "share_sum": null, "share_avg": null, "collect_sum": null, "collect_avg": null, "follower_avg": null, "account_count": 587 }, "series": null }, { "key": "광고", "metrics": { "post_count": 548, "like_sum": null, "like_avg": 373.04021937842776, "comment_sum": null, "comment_avg": null, "view_sum": 5463711, "view_avg": null, "share_sum": null, "share_avg": null, "collect_sum": null, "collect_avg": null, "follower_avg": null, "account_count": 381 }, "series": null }, "… 3 more" ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_instagram_content_aggregate", "arguments": { "group_by": "hashtag", "query": "이니스프리", "metrics": [ "like_avg", "view_sum", "account_count" ], "limit": 5 } } ``` #### 注意点 - metrics に名前を付けないと post_count だけが入ります。 - KR、JP、US、TW のだいたい直近 6 ヶ月です。それより古い since は切り詰められます。 - interval だけなら期間ごとに1枠です。group_by と一緒だと、グループごとに時系列が付きます。 #### 関連ツール - [`solari_catalog_instagram_content_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-search.md?lang=ja) - [`solari_insight_tiktok_content_aggregate`](https://pub.brandazine.ai/docs/tools/insight-tiktok-content-aggregate.md?lang=ja) ### solari catalog instagram tag search > ハッシュタグやメンション付きの投稿を探すときに使います。 - **CLI**: `solari catalog instagram tag search` - **MCP ツール**: `solari_catalog_instagram_tag_search` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 追跡している全期間から、ハッシュタグかメンションを完全一致で探します。本文のどこかにあるキーワードなら content search です。 **どんなときに使うか** — キャンペーンハッシュタグの広がりや、メンションされた投稿がほしいときに使います。 **何が返るか** — 検索したタグが付いた投稿です。収集時刻の新しい順です。 #### パラメータ - `query` (string, 必須, ≤ 200 chars) — ハッシュタグ(#ootd)またはメンション(@ユーザー名)。 - `limit` (integer, 任意, ≥ 1) — 1ページあたりの件数。 - `cursor` (string, 任意) — 前のページの next_cursor。 #### レスポンス ##### `Response` - `query` (string) — 実際に検索したタグ。先頭の # や @ は含みません。 - `tag_kind` (string) — hashtag または mention。query の解釈です。 - `matched_tags` (integer) — 一致した表記の数。0 なら、そのタグは一度も出ていません。 - `items` (object[]) — 見つかった投稿。 - `found` (integer) — 読み込めた投稿。 - `next_cursor` (string | null) — 次のページでは cursor として渡します。最後のページでは null。 - `mirror_synced_at` (timestamp | null) — タグのインデックスの最終更新時刻(UTC)。 ##### `items[]` - `id` (uuid) — 投稿 id。 - `slug` (string) — Instagram のショートコード。 - `text` (string) — キャプション。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `username / user_id / account_id` (string) — 投稿したアカウント。 - `like_count / comment_count` (integer) — エンゲージメント。 - `play_count` (integer | null) — 動画の再生数。 - `media_type` (string) — 投稿の形式。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog instagram tag search query=#ootd limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "ootd", "tag_kind": "hashtag", "matched_tags": 1, "items": [ { "id": "01a06a16-781f-7578-822b-1c326e72f28d", "slug": "DW1jniHiVSU", "text": "御殿場是一個一天逛不完的地方 希望下次有時間可以慢慢逛 —— OOTD —— Pants:LAKOLE / Shirt:HARE #LYNN__OOTD #日常穿搭 #ootd …", "posted_at": "2026-04-07T16:16:21Z", "virtual_campaign": null, "username": "llling_yinnnnn", "user_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04", "account_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04", "profile_picture_url": null, "like_count": 3, "comment_count": 4, "media_type": "post", "play_count": null, "media": [] }, { "id": "01a06a16-552d-7099-ae0a-77e6b68de960", "slug": "DaS66VzJBPW", "text": "SEOUL OOTD — 這次搭配了四種完全不同風格 #ootd #lynn__ootd #穿搭販賣機 #韓國穿搭", "posted_at": "2026-07-02T15:33:13Z", "virtual_campaign": null, "username": "llling_yinnnnn", "user_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04", "account_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04", "profile_picture_url": null, "like_count": 32, "comment_count": 1, "media_type": "reel", "play_count": 888, "media": [] }, "… 1 more" ], "found": 3, "next_cursor": "01a06a16-552d-7099-ae0a-77e6b68de960", "mirror_synced_at": "2026-09-03T21:47:19Z" } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_instagram_tag_search", "arguments": { "query": "#ootd", "limit": 3 } } ``` #### 注意点 - 並びは収集時刻であり posted_at ではありません。公開時刻順が必要なら自分で並べてください。 - タグのインデックスは1日1回更新されます。境目は mirror_synced_at です。 - 完全一致です。#ootd は #ootdkorea に当たりません。メンションは @ を付けてください。 #### 関連ツール - [`solari_catalog_instagram_content_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-search.md?lang=ja) - [`solari_insight_instagram_content_aggregate`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-aggregate.md?lang=ja) ### solari catalog tiktok account search > TikTok のユーザー名や名前からユーザーを探します。account_id を取るときに使えます。 - **CLI**: `solari catalog tiktok account search` - **MCP ツール**: `solari_catalog_tiktok_account_search` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 ユーザー名または表示名で TikTok のブランドやクリエイターを探します。Instagram の account_id はここでは使えません。 **どんなときに使うか** — TikTok の名前やユーザー名だけで、まだ account_id がないときに使います。 **何が返るか** — 一致したアカウントの一覧です。いちばん近い結果が先頭に来ます。 #### パラメータ - `query` (string, 必須) — 名前、または TikTok のユーザー名。 - `limit` (integer, 任意, ≥ 1) — 返すアカウントの数。 - `region` (string, 任意, ≤ 8 chars) — KR や JP などの国コード。空なら全体を探します。 #### レスポンス ##### `Response` - `found` (boolean) — 一致したアカウントがあるか。 - `items` (object[]) — 一致したアカウントです。いちばん近い結果が先頭です。 ##### `items[]` - `account_id` (uuid) — TikTok の account_id。Instagram のものとは互換しません。 - `username` (string) — TikTok のユーザー名。 - `nickname` (string) — 表示名。 - `follower_count / video_count` (integer) — フォロワー数と動画数。 - `region` (string | null) — 国コード。追跡中のアカウントの多くは持ちません。 - `is_verified / is_private` (boolean) — 認証と非公開のフラグ。 - `is_commerce_user` (boolean) — コマースアカウントか。 - `commerce_user_category` (string | null) — コマースのカテゴリ。例: Beauty。 - `profile_url` (string) — 公開プロフィール URL。 #### 例 ```console $ solari catalog tiktok account search query=innisfree limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "items": [ { "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "nickname": "Innisfreeofficial", "follower_count": 143800, "video_count": 767, "region": "KR", "is_verified": true, "is_private": false, "is_commerce_user": true, "commerce_user_category": "Beauty", "profile_url": "https://www.tiktok.com/@innisfree_official" } ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_tiktok_account_search", "arguments": { "query": "innisfree", "limit": 5 } } ``` #### 注意点 - region を付けると指定した国だけになり、region のないアカウントは落ちます。特定の国でなければ空のままにしてください。 - 未収集のユーザー名はここには出ません。catalog tiktok account profile に渡すとその場で取りにいきます。 #### 関連ツール - [`solari_catalog_tiktok_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-profile.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-posts.md?lang=ja) - [`solari_catalog_instagram_account_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-search.md?lang=ja) ### solari catalog tiktok account profile > TikTok アカウントのプロフィールと直近の投稿です。 - **CLI**: `solari catalog tiktok account profile` - **MCP ツール**: `solari_catalog_tiktok_account_profile` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 TikTok アカウントのプロフィールと、直近投稿のプレビューを返します。 **どんなときに使うか** — TikTok アカウントの全体像がほしいときに使います。 **何が返るか** — プロフィール、直近投稿、追跡中かどうかです。 #### パラメータ - `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。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — TikTok のユーザー名。account_id があるときは無視されます。 #### レスポンス ##### `Response` - `account_id` (uuid) — TikTok の account_id。 - `username / nickname / bio` (string) — ユーザー名、表示名、Bio。 - `bio_links` (string[]) — Bio 内のリンク。 - `follower_count / following_count` (integer) — フォロワー数とフォロー数。 - `heart_count` (integer) — アカウント全体の累計いいね数。 - `video_count` (integer) — 公開した動画数。 - `is_verified / is_private` (boolean) — 認証と非公開のフラグ。 - `is_commerce_user / commerce_user_category` (boolean · string) — コマースの状態とカテゴリ。 - `region / language` (string | null) — 国コードと言語コード。 - `avatar_url / profile_url` (string) — アバターと公開プロフィールのリンク。 - `tracked` (boolean) — 定期クロールの対象か。 - `sync_status` (string) — クロールの状態。 - `synced_at` (timestamp) — 最終クロール時刻。 - `recent_posts` (object[]) — 直近投稿のプレビュー。 - `fetched_on_demand` (boolean) — この呼び出しで初めてアカウントを取得したとき true。 ##### `recent_posts[]` - `post_id` (uuid) — TikTok の post_id。Instagram のものとは互換しません。 - `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[]) — カルーセルのスライド。video では空です。 - `hashtags` (string[]) — キャプションのハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされたユーザー名。 - `transcript` (string | null) — 話し言葉の文字起こし。include_transcript=true のときだけ入ります。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog tiktok account profile username=innisfree_official ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "nickname": "Innisfreeofficial", "bio": "NATURE MEETS KOREAN SKIN SCIENCE", "bio_links": [ "https://linktr.ee/innisfree_official" ], "follower_count": 143900, "following_count": 14, "heart_count": 2200000, "video_count": 767, "is_verified": true, "is_private": false, "is_commerce_user": true, "commerce_user_category": "Beauty", "region": "KR", "language": null, "avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/3f8e48dc4a284a8ead37e93175ebdb86~tplv-tiktokx-cropcenter:720:720.jpeg?dr=10399&refresh_token=04b90255&x-expires=1788541200&x-signature=Gd3gJu4HyBZPCr%2FqEevyDs6 …", "profile_url": "https://www.tiktok.com/@innisfree_official", "sync_status": "OK", "tracked": true, "synced_at": "2026-09-02T17:16:05.835000Z", "recent_posts": [ { "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-a.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 }, "… 5 more" ], "fetched_on_demand": false } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_tiktok_account_profile", "arguments": { "username": "innisfree_official" } } ``` #### 注意点 - 未収集のユーザー名は、最初のリクエストでその場で取りにいきます(だいたい 10–40 秒)。収集が終わるまでは直近投稿だけです。 - そのあとの not-found は、TikTok にそのユーザー名がないという意味です。 #### 関連ツール - [`solari_catalog_tiktok_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-posts.md?lang=ja) - [`solari_catalog_tiktok_account_search`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-search.md?lang=ja) - [`solari_catalog_instagram_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-profile.md?lang=ja) ### solari catalog tiktok account posts > TikTok アカウントの投稿です。 - **CLI**: `solari catalog tiktok account posts` - **MCP ツール**: `solari_catalog_tiktok_account_posts` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 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。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — TikTok のユーザー名。account_id があるときは無視されます。 - `limit` (integer, 任意, ≥ 1) — 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) — TikTok にないユーザー名なら false です。 - `account_id / username` (string) — 特定したアカウント。 - `total` (integer) — フィルタに一致した投稿。 - `has_more` (boolean) — 次のページがあるか。 - `items` (object[]) — 投稿です。新しい順です。 - `fetched_on_demand` (boolean) — まだ直近の投稿しかないとき true。 ##### `items[]` - `post_id` (uuid) — TikTok の post_id。Instagram のものとは互換しません。 - `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[]) — カルーセルのスライド。video では空です。 - `hashtags` (string[]) — キャプションのハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされたユーザー名。 - `transcript` (string | null) — 話し言葉の文字起こし。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 の既定はオフです。 - This reads the catalog only. If the username is missing, call solari fetch tiktok posts username=… then retry. #### 関連ツール - [`solari_catalog_tiktok_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-profile.md?lang=ja) - [`solari_catalog_tiktok_content_detail`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-content-detail.md?lang=ja) - [`solari_catalog_instagram_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-posts.md?lang=ja) ### solari catalog tiktok content detail > TikTok の投稿を取得します。 - **CLI**: `solari catalog tiktok content detail` - **MCP ツール**: `solari_catalog_tiktok_content_detail` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 post_id、video_id、または公開 URL で TikTok 投稿を読みます。 **どんなときに使うか** — 投稿が必要なときに使います。id が多いなら content batch です。 **何が返るか** — 投稿です。文字起こしがあれば付きます。 #### パラメータ - `post_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)$) — post_id。これか video_id、url のどれかを渡します。 - `video_id` (string, 任意, pattern ^\d{15,20}$) — 公開されている TikTok の数字 id。 - `url` (string, 任意, ≤ 512 chars) — 公開されている TikTok 投稿 URL。 #### レスポンス ##### `Response` - `item` (object | null) — 投稿です。存在しないか非公開なら null。 - `fetched_on_demand` (boolean) — この呼び出しで初めて投稿を取得したとき true。 ##### `item` - `post_id` (uuid) — TikTok の post_id。Instagram のものとは互換しません。 - `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[]) — カルーセルのスライド。video では空です。 - `hashtags` (string[]) — キャプションのハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされたユーザー名。 - `transcript` (string | null) — 話し言葉の文字起こし。include_transcript=true のときだけ入ります。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog tiktok content detail video_id=7680375687139642645 include_transcript=true ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "item": { "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-c.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4", "images": [], "hashtags": [], "mentions": [], "transcript": null }, "fetched_on_demand": false } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_tiktok_content_detail", "arguments": { "video_id": "7680375687139642645" } } ``` #### 注意点 - vm.tiktok.com と vt.tiktok.com の短縮リンクも使えます。 - 未収集の video_id や URL は、最初のリクエストでその場で取りにいきます(だいたい 10–40 秒)。 #### 関連ツール - [`solari_catalog_tiktok_content_batch`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-content-batch.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-posts.md?lang=ja) ### solari catalog tiktok content batch > 複数の TikTok 投稿を一度に取得します。 - **CLI**: `solari catalog tiktok content batch` - **MCP ツール**: `solari_catalog_tiktok_content_batch` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 TikTok の投稿 id リストからキャプションと成果を読みます。見つからない id は飛ばします。 **どんなときに使うか** — 検索やアカウント投稿で得た id を一度に見たいときに使います。 **何が返るか** — 見つかった投稿だけが返ります。 #### パラメータ - `post_ids` (uuid[], 必須, 1–100 items, uuid) — 読み込む TikTok 投稿 id。最大 100。 - `sort` (enum, 任意, 既定値 "recent") — 新しい順、またはエンゲージメント順。 値: `recent`, `engagement`. - `include_transcript` (boolean, 任意, 既定値 false) — 話し言葉の文字起こしを含めるか。 #### レスポンス ##### `Response` - `requested` (integer) — 送った id の件数。 - `found` (integer) — 特定できた件数。 - `items` (object[]) — 見つかった投稿。 ##### `items[]` - `post_id` (uuid) — TikTok の post_id。Instagram のものとは互換しません。 - `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[]) — カルーセルのスライド。video では空です。 - `hashtags` (string[]) — キャプションのハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされたユーザー名。 - `transcript` (string | null) — 話し言葉の文字起こし。include_transcript=true のときだけ入ります。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog tiktok content batch post_ids='["01a0631e-f0df-7e9d-a09b-d84bc31d3834"]' ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "requested": 1, "found": 1, "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-b.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4", "images": [], "hashtags": [], "mentions": [], "transcript": null } ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_tiktok_content_batch", "arguments": { "post_ids": [ "01a0631e-f0df-7e9d-a09b-d84bc31d3834" ] } } ``` #### 注意点 - SOLARI の投稿 id だけを受けます。数字の video id は content detail の video_id に渡してください。 - TikTok の投稿 id と Instagram の投稿 id は互換しません。 #### 関連ツール - [`solari_catalog_tiktok_content_detail`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-content-detail.md?lang=ja) - [`solari_catalog_tiktok_content_search`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-content-search.md?lang=ja) ### solari catalog tiktok content search > TikTok のキャプションと動画の文字起こしを検索するときに使います。 - **CLI**: `solari catalog tiktok content search` - **MCP ツール**: `solari_catalog_tiktok_content_search` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 KR、JP、US、TW で追跡中の TikTok 投稿をキーワードで探します。だいたい直近 6 ヶ月です。 **どんなときに使うか** — ある話題の TikTok 投稿や、画面で話している内容がほしいときに使います。 **何が返るか** — 関連の高い順の投稿です。当たった文言はハイライトされます。 #### パラメータ - `query` (string, 必須) — 探す語句。 - `region` (enum, 任意, 既定値 "KR") — KR、JP、US、TW。 値: `KR`, `JP`, `US`, `TW`. - `limit` (integer, 任意, ≥ 1) — 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)。 #### レスポンス ##### `Response` - `query / region` (string) — 適用した query と国。 - `total` (integer) — 一致した総数。10,000 までは正確で、そこから先は止まります。 - `took_ms` (integer) — 検索時間。 - `items` (object[]) — ヒットです。スコアの高い順です。 ##### `items[]` - `post_id / video_id / url` (string) — 投稿の識別子と公開リンク。 - `account_id / username` (string) — 投稿したアカウント。 - `caption` (string) — キャプション。 - `user_bio` (string) — 投稿者の Bio。 - `transcription_text` (string | null) — 音声の文字起こし。検索対象テキストの一部です。 - `transcription_language` (string | null) — 文字起こしの言語コード。 - `post_type` (string) — video または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `duration_seconds` (integer) — 動画の長さ。 - `play_count / like_count / comment_count / share_count / collect_count` (integer) — エンゲージメント。 - `follower_count` (integer) — 投稿者のフォロワー数。 - `is_ad` (boolean) — TikTok 自身の広告フラグ。 - `cover_url` (string) — カバー画像。 - `score` (number) — 関連度スコア。 - `highlight` (object) — フィールドごとの一致箇所。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari catalog tiktok content search query="올리브영 세일" limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "올리브영 세일", "region": "KR", "total": 4041, "took_ms": 29, "items": [ { "post_id": "01a05c46-9a08-7e92-a40e-b1a039103118", "video_id": "7679484556189207815", "url": "https://www.tiktok.com/@flos_bonita/video/7679484556189207815", "account_id": "0196cb39-87a7-7be3-ac4a-4a80b7818a90", "username": "flos_bonita", "caption": "태닝한 산리오 키링이라니…☀️🥹💗 푸드올로지 X 산리오 콜라보 실물 너무 귀엽잖아!! 헬로키티·쿠로미·한교동·마이멜로디까지🎀 제품마다 다른 키링이라 산리오 덕후들 취향 제대로 저격💘 올영 세일 시작했으니 얼른 구경해봐요👀🛒 #푸드올로지 #태닝키티 #올리브영추천템 #올영세일", "user_bio": "화미 프로필 링크", "transcription_text": "살리오 덕후라면 절대 그냥 넘길 수 없는 영상 오늘부터 시작인 올리브영 세일과 함께 푸드올로지와 살리오 콜라보 나왔어요 이번 콜라보는 젤리 폼 앰플 젤리 3 종으로 피디아렌 앰플 젤리 글루타치원 씨 앰플 젤리 히알루론산 앰플 젤리까지 제품마다 귀여운 살리오 굿즈도 함께 만나 볼 수 있는데 헬로키티 크로미 한교동부터 마이 멜로디까지 저는 역시 헬로키티 더 쿠답게 키티 키링으로 폼구 최애 캐릭터 …", "transcription_language": "ko", "post_type": "video", "posted_at": "2026-08-29T16:02:22Z", "duration_seconds": 37, "play_count": 955, "like_count": 26, "comment_count": 0, "share_count": 0, "collect_count": 5, "follower_count": 1345, "is_ad": true, "cover_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-p-0037/oEu4VAolaEBAAYjMAjBtiyCIAABiPp9TOCAME~tplv-tiktokx-origin.image?dr=10395&x-expires=1788426000&x-signature=FAP0C10M1M1gEwD4YMB03pYd0YA%3D&t=4d5b0474&ps=13740610&sh …", "score": 53.787056, "highlight": { "caption": [ "헬로키티·쿠로미·한교동·마이멜로디까지🎀 제품마다 다른 키링이라 산리오 덕후들 취향 제대로 저격💘 올 세일 시작했으니 얼른 구경해봐요👀🛒 #푸드올로지 #태닝키티 #올리브영추천템 #올영세일" ], "user_bio": [], "transcription_text": [ "살리오 덕후라면 절대 그냥 넘길 수 없는 영상 오늘부터 시작인 올리브 세일과 함께 푸드올로지와 살리오 콜라보 나왔어요 이번 콜라보는 젤리 폼 앰플 젤리 3 종으로 피디아렌 앰플 젤리 글루타치원 씨 앰플 젤리 히알루론산 앰플 젤리까지 제품마다 귀여운 살리오 굿즈도 함께", "… 1 more" ] } }, "… 2 more" ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_catalog_tiktok_content_search", "arguments": { "query": "올리브영 세일", "limit": 3 } } ``` #### 注意点 - offset の上限は 9,800 です。もっと見るなら日付を狭めてやり直してください。 - total は 10,000 まで数えて、そこから先は止まります。 #### 関連ツール - [`solari_insight_tiktok_content_aggregate`](https://pub.brandazine.ai/docs/tools/insight-tiktok-content-aggregate.md?lang=ja) - [`solari_catalog_tiktok_content_batch`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-content-batch.md?lang=ja) - [`solari_catalog_instagram_content_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-search.md?lang=ja) ### solari insight tiktok content aggregate > TikTok の投稿数を数えるときに使います。 - **CLI**: `solari insight tiktok content aggregate` - **MCP ツール**: `solari_insight_tiktok_content_aggregate` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 アカウント、形式、ハッシュタグ、メンション、キーワードごとに TikTok 投稿数を足します。 **どんなときに使うか** — 投稿ペース、ハッシュタグの比重、平均再生が必要なときに使います。投稿そのものは content search です。 **何が返るか** — グループごとの件数です。大きいグループが先に来ます。ほかの指標は頼んだものだけ入ります。 #### パラメータ - `region` (enum, 任意, 既定値 "KR") — KR、JP、US、TW。 値: `KR`, `JP`, `US`, `TW`. - `group_by` (enum, 任意) — 件数の分け方。 値: `account`, `post_type`, `hashtag`, `mention`, `caption_keyword`. - `interval` (enum, 任意) — この暦の間隔で時系列を付けます。 値: `day`, `week`, `month`. - `metrics` (string[], 任意) — post_count 以外に欲しい指標。 値: `like_sum`, `like_avg`, `comment_sum`, `comment_avg`, `view_sum`, `view_avg`, `share_sum`, `share_avg`, `collect_sum`, `collect_avg`, `follower_avg`, `account_count`. - `query` (string, 任意) — キャプションと文字起こしで探すキーワード。 - `usernames` (string[], 任意) — これらの TikTok ユーザー名だけ。 - `hashtags` (string[], 任意) — これらのハッシュタグをすべて持つ投稿だけ。 - `mentions` (string[], 任意) — これらのユーザー名をすべてメンションした投稿だけ。 - `post_types` (string[], 任意) — これらの形式だけ。 値: `video`, `carousel`. - `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)。 - `limit` (integer, 任意, ≥ 1) — 返すグループの数。 #### レスポンス ##### `Response` - `region` (string) — 集計した国。 - `since` (date) — 実際に使った開始日。 - `until` (date | null) — 実際に使った終了日。 - `group_by` (string | null) — 適用したグループ化。 - `interval` (string | null) — 適用した時間間隔。 - `total_posts` (integer) — フィルタに一致した投稿。 - `truncated` (boolean) — limit より多くのグループがあったとき true。 - `buckets` (object[]) — グループです。大きい順です。 ##### `buckets[]` - `key` (string) — グループの値。group_by を省略すると、合計が 1 つだけです。 - `metrics.post_count` (integer) — 投稿数。常に入ります。 - `metrics.like_sum / like_avg` (number | null) — いいねの合計と平均。頼んだときだけ入ります。 - `metrics.comment_sum / comment_avg` (number | null) — コメントの合計と平均。頼んだときだけ入ります。 - `metrics.view_sum / view_avg` (number | null) — 再生数の合計と平均。頼んだときだけ入ります。 - `metrics.share_sum / collect_sum` (number | null) — シェアと保存の合計。頼んだときだけ入ります。 - `metrics.follower_avg` (number | null) — 投稿者の平均フォロワー数。 - `metrics.account_count` (integer | null) — グループ内のユニークアカウント数。 - `series` (object[] | null) — 期間ごとの内訳。interval を付けたとき。 #### 例 ```console $ solari insight tiktok content aggregate group_by=account query="이니스프리" metrics='["view_sum","like_avg","account_count"]' limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "region": "KR", "since": "2026-03-04", "until": null, "group_by": "account", "interval": null, "total_posts": 20, "truncated": true, "buckets": [ { "key": "merryview_", "metrics": { "post_count": 2, "like_sum": null, "like_avg": 2378.5, "comment_sum": null, "comment_avg": null, "view_sum": 179504, "view_avg": null, "share_sum": null, "share_avg": null, "collect_sum": null, "collect_avg": null, "follower_avg": null, "account_count": 1 }, "series": null }, { "key": "_kimdayun_", "metrics": { "post_count": 1, "like_sum": null, "like_avg": 1829, "comment_sum": null, "comment_avg": null, "view_sum": 102000, "view_avg": null, "share_sum": null, "share_avg": null, "collect_sum": null, "collect_avg": null, "follower_avg": null, "account_count": 1 }, "series": null }, "… 3 more" ] } ``` #### MCP 呼び出しとして ```json { "name": "solari_insight_tiktok_content_aggregate", "arguments": { "group_by": "account", "query": "이니스프리", "metrics": [ "view_sum", "like_avg", "account_count" ], "limit": 5 } } ``` #### 注意点 - view_* は再生数です。share_* と collect_* は Instagram と違い値が入ります。 - KR、JP、US、TW のだいたい直近 6 ヶ月です。それより古い since は切り詰められます。 #### 関連ツール - [`solari_catalog_tiktok_content_search`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-content-search.md?lang=ja) - [`solari_insight_instagram_content_aggregate`](https://pub.brandazine.ai/docs/tools/insight-instagram-content-aggregate.md?lang=ja) ### solari fetch instagram account > Ingest one Instagram handle into the catalog. - **CLI**: `solari fetch instagram account` - **MCP ツール**: `solari_fetch_instagram_account` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Add one Instagram account to the SOLARI catalog by exact username. This is not a search. If it is already stored, nothing is scraped. **どんなときに使うか** — When catalog search does not know an exact handle you already have. **何が返るか** — Whether it was ingested, the account_id, and the catalog command to read it. #### パラメータ - `username` (string, 必須, ≤ 64 chars) — Instagram username. #### レスポンス ##### `Response` - `ingested` (boolean) — true if this call collected it live. - `already_tracked` (boolean) — true if it was already in the catalog. - `fetched_on_demand` (boolean) — Same as ingested. - `account_id` (uuid) — The ingested account. - `username` (string) — Resolved handle. - `note` (string) — What to expect next. - `next` (string) — Catalog command to read the result. #### 例 ```console $ solari fetch instagram account username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": false, "already_tracked": true, "fetched_on_demand": false, "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "note": "Already in the SOLARI catalog. Nothing was scraped.", "next": "solari catalog instagram account profile username=innisfreeofficial" } ``` #### MCP 呼び出しとして ```json { "name": "solari_fetch_instagram_account", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - Do not use this to search a name. Use catalog account search first. - A first-time ingest can take several seconds. Metrics and collaborations stay empty until the crawl finishes. #### 関連ツール - [`solari_catalog_instagram_account_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-search.md?lang=ja) - [`solari_catalog_instagram_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-profile.md?lang=ja) - [`solari_fetch_instagram_posts`](https://pub.brandazine.ai/docs/tools/fetch-instagram-posts.md?lang=ja) ### solari fetch instagram posts > Collect one Instagram account's posts into the catalog. - **CLI**: `solari fetch instagram posts` - **MCP ツール**: `solari_fetch_instagram_posts` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Collect posts for one Instagram account into the SOLARI catalog by exact username. This is not a post listing. If the handle is already stored, nothing is scraped. **どんなときに使うか** — When catalog posts does not know an exact handle you already have. **何が返るか** — Whether it was ingested, how many posts came back, and the catalog command to read them. #### パラメータ - `username` (string, 必須, ≤ 64 chars) — Instagram username. #### レスポンス ##### `Response` - `ingested` (boolean) — true if this call collected it live. - `already_tracked` (boolean) — true if it was already in the catalog. - `fetched_on_demand` (boolean) — Same as ingested. - `found` (boolean) — false if the handle could not be collected. - `account_id` (uuid) — The ingested account. - `username` (string) — Resolved handle. - `total` (integer) — Posts available so far. - `note` (string) — What to expect next. - `next` (string) — Catalog command to read the result. #### 例 ```console $ solari fetch instagram posts username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": false, "already_tracked": true, "fetched_on_demand": false, "found": true, "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "total": 12, "note": "Already in the SOLARI catalog. Nothing was scraped.", "next": "solari catalog instagram account posts username=innisfreeofficial" } ``` #### MCP 呼び出しとして ```json { "name": "solari_fetch_instagram_posts", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - Do not use this to list stored posts. Use catalog instagram account posts for that. - A first-time ingest can take several seconds. Only recent posts exist until the crawl finishes. #### 関連ツール - [`solari_fetch_instagram_account`](https://pub.brandazine.ai/docs/tools/fetch-instagram-account.md?lang=ja) - [`solari_catalog_instagram_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-posts.md?lang=ja) - [`solari_catalog_instagram_account_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-search.md?lang=ja) ### solari fetch instagram account search > Find accounts on Instagram by name, live. - **CLI**: `solari fetch instagram account search` - **MCP ツール**: `solari_fetch_instagram_account_search` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Ask Instagram itself for accounts matching a name or handle fragment. Catalog account search only knows tracked accounts; this finds the rest and tells you which ones are already tracked. **どんなときに使うか** — When catalog account search returns nothing for a name, or you need the exact handle before ingesting it. **何が返るか** — Up to 50 accounts in Instagram's order, with account_id on the ones already in the catalog. #### パラメータ - `query` (string, 必須, ≤ 100 chars) — Name or handle fragment, with or without @. #### レスポンス ##### `Response` - `query` (string) — The text the lookup ran on, without @. - `items` (object[]) — Matching accounts, Instagram's order. - `found` (integer) — Accounts returned. - `tracked` (integer) — How many carry an account_id. ##### `items[]` - `username` (string) — Handle, lowercased. - `full_name` (string | null) — Display name. - `is_verified` (boolean) — Verified badge. - `is_private` (boolean) — Private account. - `profile_picture_url` (string | null) — Profile picture URL. - `account_id` (uuid | null) — SOLARI account id if already tracked; null means ingest it with fetch instagram account first. #### 例 ```console $ solari fetch instagram account search query=innisfree ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "innisfree", "items": [ { "username": "innisfreeofficial", "full_name": "innisfree official", "is_verified": true, "is_private": false, "profile_picture_url": "https://scontent.cdninstagram.com/v/t51.2885-19/example.jpg", "account_id": "018cabce-14cc-7544-8890-7811ec33ef74" }, { "username": "innisfree_jp", "full_name": "innisfree Japan", "is_verified": false, "is_private": false, "profile_picture_url": null, "account_id": null } ], "found": 2, "tracked": 1 } ``` #### MCP 呼び出しとして ```json { "name": "solari_fetch_instagram_account_search", "arguments": { "query": "innisfree" } } ``` #### 注意点 - Nothing is stored. To bring an untracked hit into the catalog, run fetch instagram account with its username. - Order and ranking are Instagram's, so the official account is not always first: check is_verified. - No follower counts here; read them with catalog account profile once the account is tracked. #### 関連ツール - [`solari_catalog_instagram_account_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-search.md?lang=ja) - [`solari_fetch_instagram_account`](https://pub.brandazine.ai/docs/tools/fetch-instagram-account.md?lang=ja) - [`solari_catalog_instagram_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-instagram-account-profile.md?lang=ja) ### solari fetch instagram hashtag posts > Collect a live page of a hashtag's posts. - **CLI**: `solari fetch instagram hashtag posts` - **MCP ツール**: `solari_fetch_instagram_hashtag_posts` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Collect one live page of an Instagram hashtag feed, store the posts, and get them back in feed order. Every call goes out to Instagram, so read catalog tag search first. **どんなときに使うか** — When a hashtag is missing or stale in catalog tag search, or you need its top posts or reels right now. **何が返るか** — The posts of that page, already stored, and a cursor for the next page. #### パラメータ - `hashtag` (string, 必須, ≤ 150 chars) — Hashtag, with or without #. - `tab` (enum, 任意) — recent, top, or clips (reels). 値: `recent`, `top`, `clips`. - `cursor` (string, 任意, ≤ 8192 chars) — next_cursor from the previous page. #### レスポンス ##### `Response` - `ingested` (boolean) — true if this call stored at least one post. - `fetched_on_demand` (boolean) — Always true: every call collects live. - `hashtag` (string) — The hashtag the fetch ran on, without #. - `tab` (string) — Feed the page came from. - `is_hidden` (boolean) — true if Instagram returns no feed for this hashtag: hidden, restricted, or nonexistent. items is empty then. - `hidden_reason` (string | null) — Instagram's label for a hidden hashtag. - `found` (integer) — Posts in items. - `fetched_count` (integer) — Posts Instagram returned for this page. Higher than found when some could not be stored. - `items` (object[]) — The posts of this page, in feed order. - `next_cursor` (string | null) — Pass back as cursor for the next page. null when the feed ends. - `note` (string) — What to expect next. - `next` (string) — Catalog command that reads the same tag later. ##### `items[]` - `id` (uuid) — Post id. - `slug` (string) — Instagram shortcode. - `text` (string) — Caption. - `posted_at` (timestamp) — Published at (UTC). - `username / user_id / account_id` (string) — Authoring account. - `like_count / comment_count` (integer) — Engagement. - `play_count` (integer | null) — Video plays. - `media_type` (string) — Post format. - `assets` (object[]) — Media files in order. Each has asset_url, media_type, and video_duration. - `assets[].asset_url` (string | null) — Direct download link to the full-size image or video. Null when no file is stored yet. #### 例 ```console $ solari fetch instagram hashtag posts hashtag=ootd tab=top ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": true, "fetched_on_demand": true, "hashtag": "ootd", "tab": "top", "is_hidden": false, "hidden_reason": null, "found": 1, "fetched_count": 1, "items": [ { "id": "01a06a16-552d-7099-ae0a-77e6b68de960", "slug": "DaS66VzJBPW", "text": "SEOUL OOTD — 這次搭配了四種完全不同風格 #ootd #lynn__ootd #穿搭販賣機 #韓國穿搭", "posted_at": "2026-07-02T15:33:13Z", "virtual_campaign": null, "username": "llling_yinnnnn", "user_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04", "account_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04", "profile_picture_url": null, "like_count": 32, "comment_count": 1, "media_type": "reel", "play_count": 888, "media": [] } ], "next_cursor": "eyJwIjoxLCJtIjoiUVZGRC4uLiJ9", "note": "These posts were collected live and are stored now. solari_catalog_instagram_tag_search lists them after its next daily refresh.", "next": "solari catalog instagram tag search query=#ootd" } ``` #### MCP 呼び出しとして ```json { "name": "solari_fetch_instagram_hashtag_posts", "arguments": { "hashtag": "ootd", "tab": "top" } } ``` #### 注意点 - One page is roughly 20 to 30 posts and takes several seconds. - A cursor only works with the hashtag and tab it came from. - The feed ends only when next_cursor is null. A page can come back with found 0 and a next_cursor: keep going. - Instagram answers a hidden, restricted, or misspelled hashtag the same way: is_hidden=true and no posts. Check the spelling with hashtag search. - The posts are stored at once, but catalog tag search lists them only after its next daily refresh. - Media files of a just-collected post can take a moment to be stored, so asset_url may be null at first. #### 関連ツール - [`solari_fetch_instagram_hashtag_search`](https://pub.brandazine.ai/docs/tools/fetch-instagram-hashtag-search.md?lang=ja) - [`solari_catalog_instagram_tag_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-tag-search.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://pub.brandazine.ai/docs/tools/catalog-instagram-content-batch.md?lang=ja) ### solari fetch instagram hashtag search > Find hashtags by keyword, with their sizes. - **CLI**: `solari fetch instagram hashtag search` - **MCP ツール**: `solari_fetch_instagram_hashtag_search` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Look hashtags up on Instagram by keyword and see how many posts each one has. Nothing is stored. **どんなときに使うか** — When you need the exact spelling or the biggest variant of a tag before reading or collecting it. **何が返るか** — Up to 20 hashtags with the post count Instagram reports. #### パラメータ - `query` (string, 必須, ≤ 100 chars) — Keyword, with or without #. #### レスポンス ##### `Response` - `query` (string) — The keyword the lookup ran on. - `hashtags` (object[]) — Matching hashtags, best match first. - `found` (integer) — Hashtags returned. ##### `hashtags[]` - `name` (string) — Hashtag without #. - `post_count` (integer | null) — Posts Instagram reports under it. #### 例 ```console $ solari fetch instagram hashtag search query=skincare ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "skincare", "hashtags": [ { "name": "skincare", "post_count": 128000000 }, { "name": "skincareroutine", "post_count": 31000000 }, { "name": "skincaretips", "post_count": 9400000 } ], "found": 3 } ``` #### MCP 呼び出しとして ```json { "name": "solari_fetch_instagram_hashtag_search", "arguments": { "query": "skincare" } } ``` #### 注意点 - post_count is Instagram's own total, not the number of posts SOLARI has collected. - There is no pagination: Instagram returns at most 20 candidates. #### 関連ツール - [`solari_fetch_instagram_hashtag_posts`](https://pub.brandazine.ai/docs/tools/fetch-instagram-hashtag-posts.md?lang=ja) - [`solari_catalog_instagram_tag_search`](https://pub.brandazine.ai/docs/tools/catalog-instagram-tag-search.md?lang=ja) ### solari fetch tiktok account > Ingest one TikTok handle into the catalog. - **CLI**: `solari fetch tiktok account` - **MCP ツール**: `solari_fetch_tiktok_account` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Add one TikTok account to the SOLARI catalog by exact username. This is not a search. If it is already stored, nothing is scraped. **どんなときに使うか** — When catalog search does not know an exact handle you already have. **何が返るか** — Whether it was ingested, the account_id, and the catalog command to read it. #### パラメータ - `username` (string, 必須, ≤ 64 chars) — TikTok username. #### レスポンス ##### `Response` - `ingested` (boolean) — true if this call collected it live. - `already_tracked` (boolean) — true if it was already in the catalog. - `fetched_on_demand` (boolean) — Same as ingested. - `account_id` (uuid) — The ingested account. - `username` (string) — Resolved handle. - `note` (string) — What to expect next. - `next` (string) — Catalog command to read the result. #### 例 ```console $ solari fetch tiktok account username=innisfree_official ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": false, "already_tracked": true, "fetched_on_demand": false, "account_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "username": "innisfree_official", "note": "Already in the SOLARI catalog. Nothing was scraped.", "next": "solari catalog tiktok account profile username=innisfree_official" } ``` #### MCP 呼び出しとして ```json { "name": "solari_fetch_tiktok_account", "arguments": { "username": "innisfree_official" } } ``` #### 注意点 - Do not use this to search a name. Use catalog account search first. - A first-time ingest can take 10 to 40 seconds. Only recent posts exist until the crawl finishes. #### 関連ツール - [`solari_catalog_tiktok_account_search`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-search.md?lang=ja) - [`solari_catalog_tiktok_account_profile`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-profile.md?lang=ja) - [`solari_fetch_tiktok_posts`](https://pub.brandazine.ai/docs/tools/fetch-tiktok-posts.md?lang=ja) ### solari fetch tiktok posts > Collect one TikTok account's posts into the catalog. - **CLI**: `solari fetch tiktok posts` - **MCP ツール**: `solari_fetch_tiktok_posts` - **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。 - **Required plan**: Free - **Credit**: 0 Collect posts for one TikTok account into the SOLARI catalog by exact username. This is not a post listing. If the handle is already stored, nothing is scraped. **どんなときに使うか** — When catalog posts does not know an exact handle you already have. **何が返るか** — Whether it was ingested, how many posts came back, and the catalog command to read them. #### パラメータ - `username` (string, 必須, ≤ 64 chars) — TikTok username. #### レスポンス ##### `Response` - `ingested` (boolean) — true if this call collected it live. - `already_tracked` (boolean) — true if it was already in the catalog. - `fetched_on_demand` (boolean) — Same as ingested. - `found` (boolean) — false if the handle could not be collected. - `account_id` (uuid) — The ingested account. - `username` (string) — Resolved handle. - `total` (integer) — Posts available so far. - `note` (string) — What to expect next. - `next` (string) — Catalog command to read the result. #### 例 ```console $ solari fetch tiktok posts username=innisfree_official ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": false, "already_tracked": true, "fetched_on_demand": false, "found": true, "account_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "username": "innisfree_official", "total": 12, "note": "Already in the SOLARI catalog. Nothing was scraped.", "next": "solari catalog tiktok account posts username=innisfree_official" } ``` #### MCP 呼び出しとして ```json { "name": "solari_fetch_tiktok_posts", "arguments": { "username": "innisfree_official" } } ``` #### 注意点 - Do not use this to list stored posts. Use catalog tiktok account posts for that. - A first-time ingest can take 10 to 40 seconds. Only recent posts exist until the crawl finishes. #### 関連ツール - [`solari_fetch_tiktok_account`](https://pub.brandazine.ai/docs/tools/fetch-tiktok-account.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-posts.md?lang=ja) - [`solari_catalog_tiktok_account_search`](https://pub.brandazine.ai/docs/tools/catalog-tiktok-account-search.md?lang=ja)