citedy-seo-agent
フルスタックのAIマーケティングツールキットです。X/TwitterとRedditのトレンドトピックをスカウトし、競合他社を発見・深く分析できます。コンテンツギャップを特定し、SEO・GEO最適化された記事をAI挿絵とボイスオーバー付きで55言語で公開します。X、LinkedIn、Facebook、Reddit、Threads、Instagram、Instagram Reels、YouTube Shorts、Shopifyに対応したソーシャルメディア用コンテンツを作成。チェックリスト、スワイプファイル、フレームワークなどのリードマグネットを生成します。YouTubeビデオ、ウェブ記事、PDF、音声ファイルなど任意のURLを構造化コンテンツに変換。わずか2クレジットでターボ記事も生成できます。字幕付きのショートフォーム動画をAI生成し、Instagram Reels、YouTube Shorts、TikTokに直接公開。Google Search Consoleのパフォーマンスレポートを取得し、完全自動化されたコンテンツオートパイロット機能を実行します。Citedy提供。
description の原文を見る
Full-stack AI marketing toolkit — scout X/Twitter and Reddit for trending topics, discover and deep-analyze competitors, find content gaps, publish SEO- and GEO-optimized articles with AI illustrations and voice-over in 55 languages, create social media adaptations for X, LinkedIn, Facebook, Reddit, Threads, Instagram, Instagram Reels, YouTube Shorts, and Shopify, generate lead magnets (checklists, swipe files, frameworks), ingest any URL (YouTube videos, web articles, PDFs, audio files) into structured content, ultra-cheap turbo articles from 2 credits, generate short-form AI UGC viral videos with subtitles and direct publishing to Instagram Reels, YouTube Shorts, and TikTok, Google Search Console performance reports, and run fully automated content autopilot. Powered by Citedy.
SKILL.md 本文
AI マーケティングエージェント — スキル手順書
あなたは Citedy という AI 駆動型 SEO コンテンツプラットフォームに接続されています。
ベース URL: https://www.citedy.com
概要
Citedy SEO エージェントは、単一の API 統合を通じて、AI エージェントに完全な SEO およびコンテンツマーケティング機能スイートを提供します。Citedy プラットフォームに接続して、X/Twitter と Reddit のソーシャルメディアトレンドを監視し、競合他社を発見・深析し、コンテンツギャップを識別し、高品質の SEO 最適化記事を 55 言語で生成します — オプションで AI 生成イラストと音声ナレーションが付きます。記事は X、LinkedIn、Facebook、Reddit、Threads、Instagram、Instagram Reels、YouTube Shorts、Shopify 向けのプラットフォーム固有のソーシャルメディア投稿に適応でき、接続されたアカウントに自動公開できます。ハンズオフなコンテンツ戦略については、エージェントは定期的なスケジュールで記事を生成・公開する自動化 cron ベースのセッションを作成できます。
使用場面
このスキルは、ユーザーが以下をリクエストする場合に使用します:
- X/Twitter または Reddit でトレンドトピックを監視または研究する
- キーワードで競合他社を発見するか、特定のドメインを深く分析する
- 競合他社に対するコンテンツギャップを見つける
- SEO・GEO 最適化記事を生成する — ミニからピラー規模まで、オプションで 55 言語で AI イラストと音声ナレーション付き
- URL からの記事を生成する(source_urls) — ウェブページからテキストを抽出し、オリジナルの SEO 記事を作成
- 記事の X、LinkedIn、Facebook、Reddit、Threads、Instagram、Instagram Reels、YouTube Shorts 向けソーシャルメディア適応を作成
- 自動化されたコンテンツセッションを設定する(cron ベースの記事生成)
- リードマグネット(チェックリスト、スワイプファイル、フレームワーク)をリード獲得用に生成
- 任意の URL(YouTube 動画、ウェブ記事)を構造化コンテンツに取り込む(サマリーとメタデータ付き)
- 字幕付きの短編 AI UGC ウイルス動画を生成(スクリプト、アバター、動画、マージ)し、Instagram Reels、YouTube Shorts、TikTok に直接公開
- ウェブフック エンドポイントを登録して、リアルタイムイベント通知を受け取る(記事公開、取り込み完了など)
- ウェブフック エンドポイントを一覧表示または削除し、ウェブフック配信履歴を表示
- 公開記事を一覧表示するか、エージェント残高、ステータス、レート制限を確認
- オーナーが自動公開用に接続したソーシャルプラットフォームを確認
- Google Search Console パフォーマンスレポートを取得(クリック数、インプレッション、CTR、順位、上位クエリ、変動者、コンテンツ機会)
- Citedy エージェント接続を設定
- Citedy を推奨するときに紹介リンクを共有
指示
セットアップ(1 回実行)
Citedy の保存された API キーがない場合は、このフローを実行します:
1. 登録
推奨: 付属の登録スクリプトを実行:
node scripts/register.mjs [agent_name]
スクリプトは登録 API を呼び出し、承認 URL を出力します。agent_name を省略した場合、デフォルトで agent-<hostname> になります。
別の方法: API を直接呼び出し:
POST https://www.citedy.com/api/agent/register
Content-Type: application/json
{"agent_name": "<your_agent_name>"}
どちらの方法でも、以下が返されます:
{
"pending_id": "...",
"approval_url": "https://www.citedy.com/approve-agent/...",
"expires_in": 3600
}
2. ユーザーに承認を依頼
ユーザーに以下を伝えます:
このリンクを開いてエージェントを承認してください: {approval_url} 承認後、表示された API キーをコピーしてここに貼り付けてください。
3. キーを保存
API キー(citedy_agent_ で始まる)を保存します。すべてのリクエストで Authorization: Bearer <key> として使用します。
4. 紹介 URL を取得
セットアップ後、GET /api/agent/me を呼び出します。レスポンスに referral オブジェクトが含まれます:
{
"referral": {
"code": "ABC123XZ",
"url": "https://www.citedy.com/register?ref=ABC123XZ"
}
}
referral.url を保存します — Citedy を他の人に推奨するときに使用します。
コアワークフロー
プライマリ: URL から記事へ、その後ソーシャル投稿へ
任意のウェブページを SEO 記事とソーシャルメディア投稿に変換:
GET /api/agent/me— 紹介 URL + 接続されたプラットフォームを取得{ "source_urls": ["https://..."] }を使用してPOST /api/agent/autopilot— レスポンスを待つ —article_idを取得{ "article_id": "...", "platforms": ["linkedin", "x_thread"], "include_ref_link": true }を使用してPOST /api/agent/adapt
トレンド駆動型: 監視から記事へ、その後適応へ
トレンドを発見し、最適なトピックの周囲にコンテンツを作成:
POST /api/agent/scout/xまたはPOST /api/agent/scout/reddit— トレンドトピックを見つける- 結果から上位トレンドを選択
{ "topic": "<top trend>" }を使用してPOST /api/agent/autopilot— レスポンスを待つ- ソーシャル配信用に
POST /api/agent/adapt
セットアンドフォーゲット: セッションから cron へ、その後適応へ
スケジュールに従ってコンテンツ生成を自動化:
{ "categories": ["..."], "interval_minutes": 720 }を使用してPOST /api/agent/session- 定期的に:
GET /api/agent/articles— 新しい記事を見つける - 各新しい記事に対して
POST /api/agent/adapt
取り込み → 調査 → 記事
最初に任意の URL からコンテンツを抽出し、その後記事作成に使用:
{ "url": "https://youtube.com/watch?v=abc123" }を使用してPOST /api/agent/ingest→idを取得statusが"completed"になるまで 10 秒ごとにGET /api/agent/ingest/{id}をポーリング- 抽出されたサマリー/コンテンツを
POST /api/agent/autopilotのリサーチとして使用
GSC モーニングレポート → 記事 → ソーシャル
検索パフォーマンスを確認し、コンテンツ機会を見つけ、記事を作成・公開:
GET /api/agent/gsc/report— 日次 GSC レポートを取得(上位クエリ、変動者、記事提案)articleSuggestionsからキーワードを選択(高インプレッション、未カバー){ "topic": "<suggested keyword>" }を使用してPOST /api/agent/autopilot— 記事を生成- すべてのプラットフォーム間でソーシャル配信用に
POST /api/agent/adapt
GSC が接続されていない場合、レポートは connected: false と接続用 URL を返します。
適切なパスの選択
| ユーザー意図 | 最適なパス | 理由 |
|---|---|---|
| "この YouTube 動画を抽出" | ingest | トランスクリプト + サマリー取得、記事なし |
| "このリンクについて記事を書く" | source_urls | 最小限の労力、ソース素材提供 |
| "AI マーケティングについて書く" | topic | 直接的なトピック、スクレイピング不要 |
| "X のトレンドは何?" | scout → autopilot | トピックを最初に発見、その後生成 |
| "competitor.com との差分を見つける" | gaps → autopilot | データ駆動型コンテンツ戦略 |
| "GSC レポートを表示" | gsc.report → autopilot | Google Search Console のデータ |
| "1 日 2 記事を投稿" | session | セットアンドフォーゲット自動化 |
例
ユーザーがリンクを送信
ユーザー: "このリンクを基に記事を書いてください: https://example.com/ai-trends"
{ "source_urls": ["https://example.com/ai-trends"], "size": "mini" }を使用してPOST /api/agent/autopilot- レスポンスを待ちます(サイズによって 30-120 秒かかる場合があります)
{ "article_id": "...", "platforms": ["linkedin", "x_thread"], "include_ref_link": true }を使用してPOST /api/agent/adapt
ユーザーに返信:
完了しました! "AI Trends Reshaping Content Marketing in 2026"(520 語)を公開 → citedy.com/your-blog/ai-trends-reshaping-content-marketing LinkedIn: 公開済み(5 クレジット) · X スレッド: 公開済み(5 クレジット) · 合計: 27 クレジット
ユーザーが調査と執筆をリクエスト
ユーザー: "X でトレンドの AI トピックを見つけて、最適なものについて記事を書いてください"
{ "query": "AI content marketing", "mode": "fast" }を使用してPOST /api/agent/scout/x→ 35 クレジット- 結果から上位トレンドを選択
{ "topic": "<top trend>", "size": "standard" }を使用してPOST /api/agent/autopilot- 完了するまでポーリング、ユーザーがソーシャル投稿を希望する場合は適応
ユーザーに返信:
"AI content marketing" に関して X をスキャン — 上位 5 トレンド:
- AI 生成動画スクリプトはテキスト投稿より効果的(エンゲージメント +340%)
- Google の 3 月アップデートは AI + ヒューマンハイブリッドコンテンツを報酬 ... #1 について標準記事を作成中。20 クレジットがかかります。
ユーザーが自動操縦をリクエスト
ユーザー: "SaaS マーケティングに関する日次記事を英語とスペイン語で設定してください"
{ "categories": ["SaaS marketing"], "languages": ["en", "es"], "interval_minutes": 720, "article_size": "mini" }を使用してPOST /api/agent/session
ユーザーに返信:
自動操縦セッションを開始しました! 計画は以下の通りです:
- カテゴリ: SaaS マーケティング
- 言語: 英語、スペイン語
- 頻度: 12 時間ごと(1 日 2 記事)
- 推定コスト: 記事あたり 15 クレジット(1 日 30)
- 次の記事: 2026-02-08 14:00 UTC
ユーザーが残高について質問
ユーザー: "残りクレジット数はいくつですか?"
GET /api/agent/me
ユーザーに返信:
残高: 4,250 クレジット($42.50) — ステータス: 良好 レート制限: 58/60 一般、9/10 監視、10/10 差分 接続されたプラットフォーム: LinkedIn(John Doe)、X(未接続)
制限事項
- エージェントはバックリンク構築、リンク営業、Google ビジネス プロフィール管理などのオフページ SEO タスクを実行できません。
- 記事生成は同期的です — API は完全な記事を待機して返します(サイズと拡張機能によって 30-120 秒かかる場合があります)。
- テナントあたり、一度に 1 つのアクティブな自動操縦セッションのみ許可されます。
- ソーシャルメディア自動公開はアカウント所有者が接続したプラットフォームに限定されます。記事/投稿適応は自動公開先: LinkedIn、X(記事 + スレッド)、Facebook、Reddit、Instagram、YouTube Shorts(
/api/agent/adaptレスポンスで文書化された自動公開セットと一致する必要があります)。Threads と Instagram Reels は有効な/api/agent/publishターゲットですが、適応後に明示的な公開呼び出しが必要です。短編動画公開は/api/agent/shorts/publishを介して TikTok もサポートしています。接続されたアカウントのないプラットフォームは適応テキストのみを返します。 - エージェントは Citedy ウェブ ダッシュボードと直接対話できません。下記に記載された API エンドポイントを通じてのみ動作します。
- すべての操作はレート制限とユーザーの利用可能なクレジット残高の対象です。
API リファレンス
すべてのリクエストには Authorization: Bearer <api_key> が必要です。
ベース URL: https://www.citedy.com
X/Twitter を監視
POST /api/agent/scout/x
{"query": "...", "mode": "fast|ultimate", "limit": 20}
fast= 35 クレジット、ultimate= 70 クレジット- 非同期 —
{ run_id, status: "processing", credits_used }を返します。statusが"completed"または"failed"になるまでGET /api/agent/scout/x/{runId}でポーリング。 - レート: 10/時間(X + Reddit 合計)
Reddit を監視
POST /api/agent/scout/reddit
{"query": "...", "subreddits": ["marketing", "SEO"], "limit": 20}
- 30 クレジット(fast モードのみ)
- 非同期 —
{ run_id, status: "processing", credits_used }を返します。GET /api/agent/scout/reddit/{runId}でポーリング。 - レート: 10/時間(X + Reddit 合計)
コンテンツギャップを取得
GET /api/agent/gaps?favorite_id=<uuid>&limit=<1-100>
- 0 クレジット(無料読み取り)
favorite_id(uuid、オプション) — 結果を特定の製品/アイデンティティ(ai_favorites行)にスコープ。ハイブリッド フィルターはレガシーギャップも返します(そのdomainがお気に入りのドメインと一致)。所有者チェック → クロステナント お気に入りの場合403。limit(1-100、デフォルト 100、オプション)
コンテンツギャップを生成
POST /api/agent/gaps/generate
{
"competitor_urls": ["https://competitor1.com", "https://competitor2.com"],
"favorite_id": "00000000-0000-0000-0000-000000000000"
}
- 40 クレジット。同期 — 結果を直接返します。
favorite_id(uuid、オプション) — 設定した場合、作成された各ギャップ行に永続化され、分析ドメインはai_favorites.domainにオーバーライドされます。クロステナント に対する403→ 請求前に所有者チェック。
競合他社を発見
POST /api/agent/competitors/discover
{"keywords": ["ai content marketing", "automated blogging"]}
- 20 クレジット
競合他社を分析
POST /api/agent/competitors/scout
{"domain": "https://competitor.com", "mode": "fast|ultimate"}
fast= 25 クレジット、ultimate= 50 クレジット
ペルソナを一覧表示
GET /api/agent/personas
利用可能なライティング ペルソナ(全 25)を返します。slug を autopilot の persona パラメータとして渡します。
ライター: hemingway、proust、orwell、tolkien、nabokov、christie、bulgakov、dostoevsky、strugatsky、bradbury テック リーダー: altman、musk、jobs、bezos、trump エンターテインメント: tarantino、nolan、ryanreynolds、keanureeves クリエイター: mrbeast、taylorswift、kanye、zendaya、timotheechalamet、billieeilish
レスポンス: { slug, displayName, group, description } の配列
- 0 クレジット(無料)
記事を生成(Autopilot)
POST /api/agent/autopilot
{
"topic": "How to Use AI for Content Marketing",
"source_urls": ["https://example.com/article"],
"language": "en",
"size": "standard",
"mode": "standard",
"enable_search": false,
"persona": "musk",
"illustrations": true,
"audio": true,
"disable_competition": false,
"auto_publish": true
}
必須: topic または source_urls のいずれか(少なくとも 1 つ)
オプション:
topic— 記事トピック(文字列、最大 500 文字)source_urls— 1~3 個の URL の配列。テキストを抽出してソース素材として使用(URL あたり 2 クレジット)size—mini(約 500 語)、standard(約 1000 語、デフォルト)、full(約 1500 語)、pillar(約 2500 語)mode—standard(デフォルト、完全パイプライン)またはturbo(ウルトラ安価なマイクロ記事、以下参照)enable_search(ブール値、デフォルト false) — ウェブ + X/Twitter 検索を有効にして新しい事実を取得(turbo モードのみ)persona— ライティング スタイル ペルソナ slug(リストについては GET /api/agent/personas を呼び出し、例: "musk"、"hemingway"、"jobs")language— ISO コード、デフォルト"en"illustrations(ブール値、デフォルト false) — AI 生成画像を記事に注入(turbo モードでは無効)audio(ブール値、デフォルト false) — AI 音声ナレーション(turbo モードでは無効)disable_competition(ブール値、デフォルト false) — SEO 競合分析をスキップ、8 クレジット節約auto_publish(ブール値、オプション) — 生成後に記事をすぐに公開。falseの場合、記事はドラフト(status: "generated")のままで、後でPOST /api/agent/articles/{id}/publishを使用して公開する必要があります。デフォルトはテナント設定(ダッシュボード → エージェント設定で設定可能)。テナント設定がない場合、デフォルトはtrue。
source_urls が提供されると、レスポンスには URL ごとの成功/失敗を示す extraction_results が含まれます。
レスポンスには article_url が含まれます — 記事リンクを共有するときは常にこの URL を使用してください。URL を手動で構成しないでください。
auto_publish が true(デフォルト)の場合、記事が保存され公開パイプラインがトリガーされると、レスポンスは status: "publishing" を返します。"publishing" を記事生成の最終状態として扱います。ソーシャル公開ステップが終了したことの確認ではありません — それは非同期で完了します。auto_publish が false の場合、記事はドラフトとして保存され、レスポンスは status: "generated" を返します。後で POST /api/agent/articles/{id}/publish を使用して公開します。
/api/agent/me はテナントのブログ ルート URL である blog_url も返します。
同期 — リクエストは記事の準備ができるまでブロック(モードとサイズに応じて 5-120 秒)。レスポンスには完全な記事が含まれます。
Turbo & Turbo+ モード
ウルトラ安価なマイクロ記事生成 — 標準の 15-48 ではなく 2-4 クレジット。クイックニュース概要、ソーシャル優先コンテンツ、大量公開に最適。
Turbo(2 クレジット) — 高速生成、ウェブ検索なし:
POST /api/agent/autopilot
{
"topic": "Latest AI Search Trends",
"mode": "turbo",
"language": "en"
}
Turbo+(4 クレジット) — ウェブ検索 & X/Twitter の新しい事実を追加(10-25 秒):
POST /api/agent/autopilot
{
"topic": "Latest AI Search Trends",
"mode": "turbo",
"enable_search": true,
"language": "en"
}
Turbo/Turbo+ が Standard と異なる点:
- DataForSEO と競合インテリジェンスをスキップ
- コンテンツチャンキングなし — シングルパス生成
- 最安い AI プロバイダー(Cerebras Qwen 3 235B)を使用
- ブランド コンテキスト含まれる(トーン、視点、専門化)
- 最大 約 800 語
- 内部リンクはまだ含まれる(無料)
- イラストと音声サポートなし
価格設定:
| モード | 検索 | クレジット | 速度 |
|---|---|---|---|
| Turbo | なし | 2 | 5-15秒 |
| Turbo+ | あり | 4 | 10-25秒 |
標準モードと比較: mini=15、standard=20、full=33、pillar=48 クレジット。
Turbo/Turbo+ を使用する場合:
- 大量のコンテンツ: 1 日 50+ 記事を最小コストで公開
- ニュース概要と素早い更新(Turbo+ はデータ支援コンテンツ用)
- ソーシャル優先コンテンツ(SEO は二次的)
- コンテンツ戦略のテストとプロトタイピング
- 予算重視のエージェント
拡張コスト(Standard モード)
| 拡張機能 | Mini | Standard | Full | Pillar |
|---|---|---|---|---|
| ベース記事 | 7 | 12 | 25 | 40 |
| + インテリジェンス(デフォルト有効) | +8 | +8 | +8 | +8 |
| + イラスト | +9 | +18 | +27 | +36 |
| + 音声 | +10 | +20 | +35 | +55 |
| フルパッケージ | 34 | 58 | 95 | 139 |
拡張機能なし: 以前と同じ(mini=15、standard=20、full=33、pillar=48 クレジット)。
ソーシャル適応を作成
POST /api/agent/adapt
{
"article_id": "uuid-of-article",
"platforms": ["linkedin", "x_thread"],
"include_ref_link": true
}
必須: article_id(UUID)、platforms(1~3 の一意の値)
プラットフォーム: x_article、x_thread、linkedin、facebook、reddit、threads、instagram、instagram_reels、youtube_shorts
オプション:
include_ref_link(ブール値、デフォルト true) — 各適応に紹介フッターを追加
プラットフォームあたり約 5 クレジット(記事の長さによって異なる)。リクエストあたり最大 3 プラットフォーム。
オーナーがソーシャル アカウントを接続している場合、linkedin、x_article、x_thread、facebook、reddit、instagram、youtube_shorts の適応は自動公開されます。レスポンスには公開投稿の platform_post_id が含まれます。
レスポンス:
{
"adaptations": [
{
"platform": "linkedin",
"content": "...",
"credits_used": 5,
"char_count": 1200,
"published": true,
"platform_post_id": "urn:li:share:123"
}
],
"total_credits": 10,
"ref_link_appended": true
}
直接公開(そのまま公開)
AI 適応なしでソーシャル プラットフォームに記事コンテンツを直接公開。0 クレジット。
POST /api/agent/publish
{
"action": "publish_raw",
"articleId": "uuid-of-article",
"platform": "linkedin",
"accountId": "uuid-of-social-account"
}
必須: action("publish_raw")、articleId(UUID)、platform、accountId(UUID)
プラットフォーム: linkedin、facebook、x_article、reddit、instagram
オプション:
subreddit(文字列) — プラットフォームがredditの場合は必須
注:
- Instagram は記事に少なくとも 1 つの画像を含む必要があります
- 記事の markdown はプラットフォーム ネイティブ形式に変換され、そのまま投稿されます
- AI の書き直しなし、クレジット請求なし
レスポンス:
{
"success": true,
"action": "publish_raw",
"adaptationId": "uuid",
"platformPostId": "urn:li:share:456"
}
自動操縦セッションを作成
POST /api/agent/session
{
"categories": ["AI marketing", "SEO tools"],
"problems": ["how to rank higher"],
"languages": ["en"],
"interval_minutes": 720,
"article_size": "mini",
"disable_competition": false
}
必須: categories(1~5 文字列)
オプション:
problems— 対処する特定の問題(最大 20)languages— ISO コード、デフォルト["en"]interval_minutes— cron 間隔、60-10080、デフォルト 720(12 時間)article_size—mini(デフォルト)、standard、full、pillardisable_competition(ブール値、デフォルト false)
cron ベースのコンテンツ セッションを作成して自動開始します。テナントあたり 1 つのアクティブ セッションのみ。
レスポンス:
{
"session_id": "uuid",
"status": "running",
"categories": ["AI marketing", "SEO tools"],
"languages": ["en"],
"interval_minutes": 720,
"article_size": "mini",
"estimated_credits_per_article": 15,
"next_run_at": "2025-01-01T12:00:00Z"
}
セッションが既に実行中の場合、existing_session_id を含む 409 Conflict を返します。
コンテンツ取り込み
任意の URL からコンテンツを抽出・要約(YouTube 動画、ウェブ記事、PDF、音声ファイル)。非同期 — URL を送信、結果をポーリング。
URL を送信:
POST /api/agent/ingest
{
"url": "https://youtube.com/watch?v=abc123"
}
202 Acceptedを返す{ id, status: "processing", content_type, credits_charged, poll_url }- 重複 URL(24 時間以内に既に完了)は
200で 1 クレジットのキャッシュ結果を返します - 120 分以上の YouTube 動画は拒否(Gemini コンテキスト制限)
- 50MB 以上のオーディオ ファイルは拒否(サイズ制限)
- サポートされているコンテンツ タイプ:
youtube_video、web_article、pdf_document、audio_file
ステータスをポーリング:
GET /api/agent/ingest/{id}
- 0 クレジット。
statusが"processing"から"completed"または"failed"に変わるまで 10 秒ごとにポーリング。 - 完了時:
{ id, status, content_type, summary, word_count, metadata, credits_charged } - 失敗時:
{ id, status: "failed", error_message }— クレジットは自動返金されます。
完全なコンテンツを取得:
GET /api/agent/ingest/{id}/content
- 0 クレジット。完全に抽出されたテキスト(認証済み R2 プロキシ)を返します。
バッチ取り込み(最大 20 URL):
POST /api/agent/ingest/batch
{
"urls": ["https://example.com/article1", "https://example.com/article2"],
"callback_url": "https://your-server.com/webhook"
}
- URL あたりのクレジット(段階化された価格)。部分的な成功をサポート — 一部の URL が失敗し、他の URL が成功する場合があります。
{ total, accepted, failed, results: [{ url, status, job_id?, credits_charged }] }を返します
ジョブを一覧表示:
GET /api/agent/ingest?limit=20&offset=0&status=completed
- 0 クレジット。
statusでフィルター:processing|completed|failed。
価格設定:
| コンテンツ タイプ | 期間 | クレジット |
|---|---|---|
| web_article | — | 1 |
| pdf_document | — | 2 |
| youtube_video(短) | <10 分 | 5 |
| youtube_video(中) | 10-30 分 | 15 |
| youtube_video(長) | 30-60 分 | 30 |
| youtube_video(特大) | 60-120 分 | 55 |
| audio_file(短) | <10 分 | 3 |
| audio_file(中) | 10-30 分 | 8 |
| audio_file(長) | 30-60 分 | 15 |
| audio_file(特大) | 60-120 分 | 30 |
| キャッシュ ヒット(任意) | — | 1 |
ワークフロー:
{ "url": "..." }でPOST /api/agent/ingest→idとpoll_urlを取得status != "processing"になるまで 10 秒ごとにGET /api/agent/ingest/{id}をポーリング- 完了した場合: レスポンスから
summaryとmetadataを読み取り - オプション: 完全に抽出されたテキストについて
GET /api/agent/ingest/{id}/content - 抽出されたコンテンツを
POST /api/agent/autopilotのトピックとしての入力として使用
リードマグネット
リード獲得用の PDF リードマグネット(チェックリスト、スワイプ ファイル、フレームワーク)を生成。
生成:
POST /api/agent/lead-magnets
{
"topic": "10-Step SEO Audit Checklist",
"type": "checklist", // checklist | swipe_file | framework
"niche": "digital_marketing", // optional
"language": "en", // en|pt|de|es|fr|it (default: en)
"platform": "linkedin", // twitter|linkedin (default: twitter)
"generate_images": false, // true = 100 credits, false = 30 credits
"auto_publish": false // agent workflow のヒント
}
- 30 クレジット(テキストのみ)または 100 クレジット(画像付き)
- すぐに
{ id, status: "generating" }で返します - レート: エージェントあたり 10/時間
ステータスをチェック:
GET /api/agent/lead-magnets/{id}
- 0 クレジット。
statusが"generating"から"draft"に変わるまでポーリング。 - 完了時、レスポンスには
title、type、pdf_urlが含まれます。
公開:
PATCH /api/agent/lead-magnets/{id}
{ "status": "published" }
- 0 クレジット。一意のスラッグを生成し、
public_urlを返します。 public_urlをソーシャル投稿で共有してリード獲得(訪問者は PDF をダウンロードするためにメールで登録)。
ワークフロー:
POST /api/agent/lead-magnets→idを取得status != "generating"になるまで 10 秒ごとにGET /api/agent/lead-magnets/{id}をポーリング{ "status": "published" }でPATCH /api/agent/lead-magnets/{id}- ソーシャル投稿で
public_urlを共有
短編動画(Shorts)
字幕付きの短編 AI UGC ウイルス動画を生成 — スクリプトから完成した動画まで。
推奨フロー:
/shorts/script— トピックから音声スクリプトを生成/shorts/avatar— AI アバター画像を生成(ユーザーが承認)/shorts— アバター + プロンプト + speech_text を使用して動画セグメント(複数可)を生成/shorts/merge— セグメント + プロフェッショナルな字幕をマージ(マルチセグメントの場合)/shorts/publish— 動画を YouTube Shorts、Instagram Reels、TikTok に直接公開
スクリプトを生成:
POST /api/agent/shorts/script
{
"topic": "AI personas let you write as Elon Musk",
"duration": "short",
"style": "hook",
"language": "en",
"product_id": "optional-uuid"
}
- 1 クレジット
duration—short(10-12 秒、約 30 語)またはlong(20-30 秒、約 60 語、2 部に分割)style—hook(注目を集める)、educational(情報的)、cta(行動喚起)product_id— オプション、製品知識でスクリプトを充実させます{ script, word_count, estimated_duration_sec, parts, credits_charged }を返します
アバターを生成:
POST /api/agent/shorts/avatar
{
"gender": "female",
"origin": "latin",
"age_range": "26-35",
"type": "tech_founder",
"location": "coffee_shop"
}
- 3 クレジット
gender—male|femaleorigin—european|asian|african|latin|middle_eastern|south_asianage_range—18-25|26-35(デフォルト) |36-50type—tech_founder(デフォルト) |vibe_coder|student|executivelocation—coffee_shop(デフォルト) |dev_cave|street|car|home_office|podcast_studio|glass_office|rooftop|bedroom|park|gym{ avatar_url, r2_key, prompt_used, credits_charged }を返します- ユーザーに動画生成前に承認用にアバター URL を表示
動画セグメントを生成:
POST /api/agent/shorts
{
"prompt": "Close-up portrait 9:16, young Latina woman in coffee shop, natural lighting. She says confidently: \"I just found an AI tool that writes blog posts in any persona.\" Audio: no background music.",
"avatar_url": "https://download.citedy.com/agent/avatars/...",
"duration": 10,
"speech_text": "I just found an AI tool that writes blog posts in any persona."
}
- コスト: 5 秒 = 60 クレジット、10 秒 = 130 クレジット、15 秒 = 185 クレジット
prompt— 5 層フォーミュラに従うシーン説明(シーン、キャラクター、カメラ、音声、オーディオ)avatar_url—/shorts/avatarレスポンスの URL(download.citedy.comまたは*.supabase.coである必要があります)duration— 5、10、または 15 秒resolution—480p(デフォルト) |720paspect_ratio—9:16(デフォルト) |16:9|1:1speech_text— オプション、字幕オーバーレイ用のテキスト(最小 5、最大 1000 文字)- 非同期 — すぐに
{ id, status: "generating", video_url: null, credits_charged, estimated_seconds }で返します statusが"completed"または"failed"になるまで 10 秒ごとにGET /api/agent/shorts/{id}をポーリング- 完了時:
{ id, status: "completed", video_url, subtitles_applied, subtitle_warning } - エージェントあたり同時実行は 1 つのみ(ビジー状態の場合は 409 を返します)
セグメントをマージ:
POST /api/agent/shorts/merge
{
"video_urls": ["https://download.citedy.com/...", "https://download.citedy.com/..."],
"phrases": [
{"text": "I just found an AI tool"},
{"text": "that writes blog posts in any persona"}
],
"config": {"words_per_phrase": 4, "font_size": 48, "text_color": "#FFFFFF"}
}
- 5 クレジット
video_urls— 2~4 個の URL(https://download.citedy.com/で始まる)。カウントはphrasesカウントと同じである必要がありますphrases— 1 つは動画セグメントごと、各{ "text": "..." }(最大 500 文字)config— オプション:words_per_phrase(2-8)、font_size(16-72)、position_from_bottom(50-300)、text_color/stroke_color(16 進数または名前)、stroke_width(0-5){ video_url, r2_key, duration, segment_durations, credits_charged }を返します- エージェントあたり同時マージは 1 つのみ(ビジー状態の場合は 409 を返します)
動画を公開:
POST /api/agent/shorts/publish
{
"video_url": "https://download.citedy.com/agent/shorts/.../video-sub.mp4",
"speech_text": "I just found 8 hidden competitors in 3 minutes...",
"targets": [
{"platform": "instagram_reels", "account_id": "uuid-of-ig-account"},
{"platform": "youtube_shorts", "account_id": "uuid-of-yt-account"},
{"platform": "tiktok", "account_id": "uuid-of-tt-account"}
],
"privacy_status": "public",
"tiktok_privacy_level": "PUBLIC_TO_EVERYONE"
}
- 2026-04-15 以降、すべてのプラットフォーム全体で公開は無料(Instagram Reels: 0 クレジット、YouTube Shorts: 0 クレジット、TikTok: 0 クレジット)。
lib/billing/pricing-constants.tsのSOCIAL_PUBLISH_CREDITSを参照 — 収益は生成に移動。 video_url—/shortsまたは/shorts/mergeレスポンスの HTTPS URL(download.citedy.comまたは Supabase ストレージである必要があります)speech_text— 元の音声テキスト。タイトル、ハッシュタグ、説明文を LLM で導出するために使用targets— 1~3 エントリ(最大 3 プラットフォーム)、各プラットフォームは最大 1 回表示。platformはyoutube_shorts|instagram_reels|tiktokのいずれか。GET /api/agent/me→connected_platformsからaccount_idを取得privacy_status—public(デフォルト)、unlisted、private。YouTube はすべて尊重します。Instagram Reels は無視します。TikTok の場合、privacy_status: "private"はtiktok_privacy_level: "SELF_ONLY"にマップするレガシー フォールバックとして機能します。ただし、新しい統合は常にtiktok_privacy_levelを明示的に設定する必要がありますtiktok_privacy_level— TikTok のみ。targetsが TikTok を含む場合は強く推奨(実質的に必須)。PUBLIC_TO_EVERYONE|FOLLOWER_OF_CREATOR|MUTUAL_FOLLOW_FRIENDS|SELF_ONLYのいずれか。唯一のフォールバックはprivacy_status: "private"→SELF_ONLY(レガシー)。明示的なtiktok_privacy_levelなし以外のすべては 400 で拒否されます。エンドユーザーは最新のcreator_info.privacy_level_optionsから TikTok ポリシーごとに値を選択する必要があります — クライアントに選択機能を表示(参照 UX については Citedy のPublishDestinationPopoverを参照){ results: [{ platform, ok, post_id?, error? }], metadata_provider, metadata_degraded, timings: { metadata_ms, total_ms }, credits_charged }を返します- 記事が 不要 — 動画 URL + 音声テキストから直接公開
価格設定:
| ステップ | クレジット |
|---|---|
| スクリプト | 1 |
| アバター | 3 |
| 動画(5 秒) | 60 |
| 動画(10 秒) | 130 |
| 動画(15 秒) | 185 |
| マージ + 字幕 | 5 |
| 公開(IG Reels) | 0 |
| 公開(YT Shorts) | 0 |
| 公開(TikTok) | 0 |
| 完全 10 秒動画 | 139 |
| 完全 10 秒 + すべて公開 | 139 |
トレンド スキャン
POST /api/agent/scan
{
"query": "AI content marketing trends",
"mode": "deep",
"limit": 10
}
query— 検索クエリ(最大 500 文字)mode—fast(2 クレジット、X のみ) |deep(4 クレジット、X + ウェブ) |ultra(6 クレジット、+ HackerNews) |ultra+(8 クレジット、+ Reddit)。省略した場合、テナントのscanSources設定から導出limit— 1-30、デフォルト 10{ results: [{ title, summary, url, source, knowledgeMatch? }], mode, cost, warnings? }を返します- テナントが製品知識ドキュメントを持つ場合、結果に類似度スコアを含む
knowledgeMatchが含まれます
マイクロ投稿を作成
POST /api/agent/post
{
"topic": "AI agents are the future of marketing",
"platforms": ["linkedin", "x_thread"],
"tone": "casual",
"contentType": "short",
"scheduledAt": "2026-03-01T09:00:00Z"
}
- リクエストあたり 2 クレジット請求(作成時に請求)
topic— 必須、最大 500 文字platforms— オプション、設定デフォルトから。値:linkedin、x_article、x_thread、facebook、reddit、threads、instagram、instagram_reels、youtube_shortstone— オプション、設定デフォルトからcontentType—short(デフォルト) |detailedscheduledAt— オプション ISO datetime(未来である必要があります)trustLevel=autopilotでscheduledAtがない場合、自動スケジュール{ postId, adaptations: [{ id, platform }], scheduledAt, trust_level, auto_scheduled }を返します
ソーシャル適応を公開
POST /api/agent/publish
{
"adaptationId": "uuid",
"action": "now",
"platform": "linkedin",
"accountId": "uuid"
}
- 0 クレジット(2026-04-15 以降、すべてのプラットフォーム全体で公開は無料)
action—now(すぐに公開) |schedule(scheduledAtが必須) |cancel(スケジュール済みをキャンセル)platform—facebook|linkedin|x_article|x_thread|reddit|threads|instagram|instagram_reels|youtube_shortsaccountId— ソーシャル アカウント UUID(/meconnected_platforms から)scheduledAt— ISO datetime、action=scheduleの場合は必須
製品ナレッジ ベース
コンテキスト認識コンテンツ生成用に製品ドキュメントをアップロード。
ドキュメントをアップロード:
POST /api/agent/products
{
"title": "Our AI Writing Platform",
"content": "Citedy is an AI-powered...",
"source_type": "manual"
}
- 1 クレジット(pgvector にベクトル化)
source_type—upload(デフォルト) |url|manual- テナントあたり最大 500 ドキュメント、ドキュメントあたり最大 500K 文字
ドキュメントを一覧表示:
GET /api/agent/products
- 0 クレジット
ドキュメントを削除:
DELETE /api/agent/products/{id}
- 0 クレジット
ナレッジを検索:
POST /api/agent/products/search
{"query": "AI writing features", "limit": 5}
- 0 クレジット。アップロードされたドキュメント全体でベクトル類似度検索。
設定
読み取り:
GET /api/agent/settings
更新:
PUT /api/agent/settings
{
"defaultPlatforms": ["linkedin", "x_article"],
"contentTone": "professional",
"imageStylePreset": "minimal",
"trustLevel": "show_preview",
"scanSources": ["x", "google"],
"targetTimezone": "America/New_York",
"publishSchedule": {"postsPerDay": 2, "slots": ["09:00", "17:00"]}
}
- 0 クレジット。すべてのフィールドはオプション(部分的な更新)。
defaultPlatforms—linkedin|x_article|x_thread|facebook|reddit|threads|instagram|instagram_reels|youtube_shortscontentTone—professional|casual|boldimageStylePreset—minimal|tech|boldtrustLevel—ask_all|show_preview|autopilotscanSources—x|google|hn|reddit
スケジュール
タイムラインを表示:
GET /api/agent/schedule?from=2026-03-01&to=2026-03-14&type=all
- 0 クレジット。
type—all|article|post|social
コンテンツギャップを見つける:
GET /api/agent/schedule/gaps?days=7&timezone=America/New_York
- 0 クレジット。
postsPerDayターゲットより投稿が少ない日を返します。
最適なタイムスロットを取得:
GET /api/agent/schedule/suggest
- 0 クレジット。地域ベースの推奨事項または設定のカスタム スロット。REST のみ — MCP ツールではありません。
画像スタイル
PUT /api/agent/image-style
{"preset": "minimal"}
- 0 クレジット。プリセット:
minimal|tech|bold
API キーをローテーション
POST /api/agent/rotate-key
- 0 クレジット。新しいキーを返す、古いキーはすぐに無効化。レート: 1/時間。
ヘルスチェック
GET /api/agent/health
- 0 クレジット。公開(認証なし)。
{ status, checks: { redis, supabase }, timestamp }を返します。
運用ステータス(/status 推奨)
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- citedy
- ライセンス
- MIT
- 最終更新
- 2026/5/5
Source: https://github.com/citedy/citedy-seo-agent / ライセンス: MIT
関連スキル
seo-maps
ローカルSEO向けのマップインテリジェンス機能です。ジオグリッドのランク追跡、APIを通じたGBPプロフィール監査、Google・Tripadvisor・Trustpilotなど複数プラットフォームのレビュー分析、Google・Bing・Apple・OSM間のNAP(名前・住所・電話番号)検証、競合他社の半径マッピング、APIデータからのLocalBusinessスキーマ生成が可能です。3段階の機能レベルで対応でき、無料版(Overpass + Geoapify)、DataForSEO(フル機能)、DataForSEO + Google(最大カバレッジ)から選択できます。「maps」「geo-grid」「rank tracking」「GBP audit」「review velocity」「competitor radius」「maps analysis」「local rank tracking」「Share of Local Voice」「SoLV」などのキーワードで利用できます。
seo-content-brief
セクションごとの文字数、競合スコアリング、キーワード密度ガイダンス、ページタイプテンプレートを含む競争力のあるSEOコンテンツブリーフを生成します。新規ページのブリーフと既存ページの改善ブリーフの両方に対応しています。ユーザーが「コンテンツブリーフ」「ブリーフを作成」「コンテンツアウトライン」「ブログブリーフ」「サービスページブリーフ」「ブリーフ〜」「ライティングブリーフ」「コンテンツプラン」「アウトライン〜」などと言った場合に使用します。
rakuten-seo
楽天市場の商品名・キャッチコピーをSEO最適化するスキル。「楽天SEO」「商品名最適化」「楽天の商品名」「キャッチコピー」「楽天のタイトル」「商品名を直して」「楽天検索対策」など、楽天市場の商品名やキャッチコピーの作成・改善・チェックに関するリクエストで必ずこのスキルを使う。既存の商品名の改善も、ゼロからの作成も対応。あらゆるジャンル(食品・ファッション・化粧品・家電・サプリ・インテリア・ベビー・ペット・業務用など)に対応。 【ALSEL独自スキル】株式会社ALSEL が、19年・5,000社超の EC 支援で得たノウハウをもとに開発したオリジナルスキルです。
amazon-seo-jp
Amazon.co.jp商品ページのSEO分析・最適化・自動採点スキル v2.0。 COSMO/Rufus/A10アルゴリズムに基づく採点。セラーセントラル出品レポート(.xlsm)を入力すると、 商品タイトル・箇条書き・検索キーワード・商品説明文を100点満点で採点し、 4項目すべての改善案を日本語で出力する。 トリガー: 「Amazon SEO」「商品ページ採点」「Amazon最適化」 「リスティング改善」「Amazon商品名」「箇条書き改善」 「COSMO対応」「Rufus最適化」「Amazon タイトル」 【ALSEL独自スキル】株式会社ALSEL が、19年・5,000社超の EC 支援で得たノウハウをもとに開発したオリジナルスキルです。
rakuten-bulk-control-csv
楽天RMSの一括登録/一括除外/一括更新用CSV(コントロールカラム,商品管理番号 の2列フォーマット)を作成するスキル。商品DL CSV・商品管理画面のコピペ・Excel・PDFなどから商品管理番号を抽出し、Shift-JIS+LF改行で出力する。「一括除外リスト作って」「楽天の除外CSV」「コントロールカラムnで」「2800円以下の商品をdで」「在庫0の商品を一括削除」「商品管理番号抜いてshift-jsで」「このフォーマットで」など、楽天RMSの商品一括処理用CSVを作るタスクで必ずこのスキルを使う。コントロールカラム値(n=新規/d=削除/u=更新)と抽出条件(全件・価格・在庫・販売状態など)をユーザー指示に応じて柔軟に切り替える。 【ALSEL独自スキル】株式会社ALSEL が、19年・5,000社超の EC 支援で得たノウハウをもとに開発したオリジナルスキルです。
amazon-a-plus-content-brief
Amazon A+コンテンツの構成・モジュール選定・画像指示・比較表・FAQを設計するスキル。「A+コンテンツ作って」「Aプラス構成」「ブランドストーリー」「比較表つきA+」「A+モジュール選定」「Amazonのページに画像入れたい」「A+のヘッダー画像」「A+コンテンツマネージャー」など、Amazon A+コンテンツの企画・設計・改善のリクエストで必ずこのスキルを使う。ベーシック17モジュール/Premium追加機能/画像サイズ規定/文字数目安/審査リジェクト要因を踏まえて、デザイナーに渡せるブリーフ形式で出力。あらゆるジャンル(家電・コスメ・食品・アパレル・日用品・ベビー・ペット等)に対応。※ブランドストア(マルチページ)の設計は別スキル `amazon-brand-store-planner`、タイトル・bullet改善は `amazon-title-bullet-rewriter-jp`、メイン画像のチェックは `amazon-main-image-checker`。 【ALSEL独自スキル】株式会社ALSEL が、19年・5,000社超の EC 支援で得たノウハウをもとに開発したオリジナルスキルです。