ユーザー向け外部 API
下書き、予約投稿、メディアアップロード、利用状況、分析のための Tareno API
このリファレンスでは、実際のユーザーが API キーで呼び出せる公開エンドポイントを扱います。ブログ管理ルートなど、内部用または管理者専用のエンドポイントは意図的に含めていません。
ベース URL
https://tareno.co/api/external
主な利用シーン
Claude、ChatGPT、Cursor、Gemini、Perplexity、Zapier 形式の自動化、スクリプト、社内ツール、レンダリング・パイプライン、カスタムアプリで利用できます。
AI 連携
Codex、Claude Code、Cursor から Tareno を操作
リモート MCP を使い、構造化されたツールでソーシャルメディアを管理できます。公開に影響する変更は、認証済みの Tareno ダッシュボードで承認が必要です。
認証
API キーのヘッダーとスコープ
Bearer トークンまたは X-Tareno-API-Key ヘッダーで認証できます。アカウント、利用状況、ボード、分析などの読み取り専用エンドポイントには read スコープが必要です。メディアのアップロードと投稿の作成には publish スコープが必要です。
Headers
Authorization: Bearer tk_live_your_key X-Tareno-API-Key: tk_live_your_key
API キーは次の場所で管理します: ダッシュボード → 設定 → API キー.
JavaScript example
const response = await fetch(
"https://tareno.co/api/external/analytics/overview?period=month",
{ headers: { Authorization: "Bearer tk_live_your_key" } }
)
const data = await response.json()クイックスタート
一般的な自動化フロー
ほとんどのワークフローは同じ 4 ステップです。アカウントを特定し、メディアをアップロードまたは参照し、下書きまたは予約を作成してから、分析または利用状況を確認します。
/accounts1. アカウント ID を特定
まず接続済みアカウントを取得し、ワークフローが常に正しいチャンネルまたはページを対象にするようにします。
リクエスト
curl -X GET "https://tareno.co/api/external/accounts" \ -H "Authorization: Bearer tk_live_your_key"
/media2. メディアをアップロードまたはインポート
レンダリング済みファイルをメディアライブラリにアップロードすると、同じアセットを下書き、予約投稿、今後のキャンペーンで再利用できます。
リクエスト
curl -X POST "https://tareno.co/api/external/media" \ -H "Authorization: Bearer tk_live_your_key" \ -F "file=@video.mp4"
/publish3. 下書きを保存または投稿を予約
確認用の安全な受信トレイフローには draft モードを、アカウントと時刻が決まっている場合は schedule モードを使用します。
リクエスト
curl -X POST "https://tareno.co/api/external/publish" \
-H "Authorization: Bearer tk_live_your_key" \
-H "Content-Type: application/json" \
-d '{"mode":"draft","platform":"instagram","text":"Caption"}'/analytics/overview4. 分析データをワークフローへ取得
概要またはプラットフォーム別の分析を取得し、パフォーマンスの報告、ダッシュボードへの表示、後続アクションの起動に利用します。
リクエスト
curl -X GET "https://tareno.co/api/external/analytics/overview?period=month" \ -H "Authorization: Bearer tk_live_your_key"
エンドポイント
ユーザー向けエンドポイント・リファレンス
これらは現在 External API でユーザーが利用できる公開エンドポイントです。ここに記載されたすべては API キーに対応し、公開ドキュメントに安全に掲載できます。
/me認証し、接続情報を確認
Tareno の ID、有効なプラン、API キーのスコープ、Automation API の上限を返します。Zapier はこのエンドポイントを使って接続を検証し、アカウントのメールアドレスで識別します。
リクエスト
curl -X GET "https://tareno.co/api/external/me" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"id": "user_123",
"email": "automation@example.com",
"plan": "pro",
"scopes": ["read", "publish"],
"apiUsage": { "limit": 2000, "remaining": 2000 }
}/posts?limit=3&accountId=acc_123&platform=instagram安全化された公開済み投稿の一覧
REST Hook トリガーの設定に必要な、公開関連のサンプルデータを返します。任意のアカウント・プラットフォームフィルターは Post Published トリガーのフィルターに対応します。
リクエスト
curl -X GET "https://tareno.co/api/external/posts?limit=3" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"posts": [{
"id": "post_123",
"title": "Spring promo",
"text": "Published caption",
"status": "published",
"platform": "instagram",
"accountId": "acc_123",
"publishedAt": "2026-07-09T10:00:00.000Z"
}]
}/accounts接続済みアカウント
API キー所有者に属する接続済みソーシャルアカウントを一覧表示します。これらのアカウント ID は、予約投稿、直接投稿、Pinterest ボードの検索、アカウント別分析に使用します。
リクエスト
curl -X GET "https://tareno.co/api/external/accounts" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"accounts": [{
"id": "acc_123",
"platform": "instagram",
"username": "yourhandle",
"displayName": "Your Brand",
"profilePicture": "https://..."
}],
"count": 1
}/zapier/subscriptionsZapier REST Hook を登録
即時の Post Published トリガーを登録します。targetUrl は hooks.zapier.com 上の HTTPS URL である必要があり、暗号化して保存されます。accountId と platform は任意のフィルターです。
リクエスト
curl -X POST "https://tareno.co/api/external/zapier/subscriptions" \
-H "Authorization: Bearer tk_live_your_key" \
-H "Content-Type: application/json" \
-d '{"targetUrl":"https://hooks.zapier.com/hooks/standard/123/abc","accountId":"acc_123","platform":"instagram"}'レスポンス
{
"id": "sub_123",
"event": "post.published",
"active": true
}/zapier/subscriptions/{id}Zapier REST Hook の登録を解除
認証済み API キーが所有する購読を無効化します。トリガーが無効になったり Zap が削除されたりすると、Zapier はこのエンドポイントを呼び出します。
リクエスト
curl -X DELETE "https://tareno.co/api/external/zapier/subscriptions/sub_123" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"success": true
}/publish下書き、予約投稿、即時投稿を作成
ユーザー向け投稿の主要コンテンツエンドポイントです。安全な準備には mode=draft、予約公開には mode=schedule、即時公開には mode=publish を使用します。
リクエスト
curl -X POST "https://tareno.co/api/external/publish" \
-H "Authorization: Bearer tk_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"mode": "schedule",
"accountId": "acc_instagram_123",
"title": "Spring promo",
"text": "Caption from your automation",
"mediaUrls": ["https://pub.example.com/video.mp4"],
"scheduledAt": "2026-04-20T09:00:00",
"timezone": "Europe/Berlin"
}'レスポンス
{
"success": true,
"postId": "post_123",
"status": "scheduled",
"scheduledAt": "2026-04-20T07:00:00.000Z"
}
// Immediate TikTok Photo Mode may return:
{
"success": true,
"postId": "post_123",
"publishId": "v_pub_123",
"status": "processing"
}/mediaメディアライブラリへメディアをアップロード
ファイルを直接アップロードするか、URL からインポートします。アップロードしたアセットは、下書き、予約、直接公開のフローで再利用できます。
リクエスト
curl -X POST "https://tareno.co/api/external/media" \ -H "Authorization: Bearer tk_live_your_key" \ -F "file=@promo-video.mp4"
レスポンス
{
"success": true,
"mediaId": "asset_123",
"url": "https://pub.example.com/promo-video.mp4"
}/mediaアップロード済みメディアの一覧
ユーザーのメディアライブラリにある項目を返します。毎回新しいファイルをアップロードせず、既存アセットを再利用したいワークフローに便利です。
リクエスト
curl -X GET "https://tareno.co/api/external/media" \ -H "X-Tareno-API-Key: tk_live_your_key"
レスポンス
{
"media": [{
"id": "asset_123",
"name": "promo-video.mp4",
"url": "https://pub.example.com/promo-video.mp4"
}]
}/media/sign署名付きアップロード URL を取得
R2 用の直接アップロード URL を作成し、contentHash による重複排除に対応します。大規模なメディアパイプラインや外部レンダラーに推奨するフローです。
リクエスト
curl -X POST "https://tareno.co/api/external/media/sign" \
-H "Authorization: Bearer tk_live_your_key" \
-d '{"fileName":"promo-video.mp4","contentType":"video/mp4"}'レスポンス
{
"success": true,
"signedUrl": "https://...",
"expiresIn": 3600
}/media/register-hashアップロード済みコンテンツハッシュを登録
署名付きアップロードが成功した後、重複排除フローを完了します。ファイル保存後に呼び出すと、同じハッシュを持つ今後のアップロードを再利用できます。
リクエスト
curl -X POST "https://tareno.co/api/external/media/register-hash" \
-H "Authorization: Bearer tk_live_your_key" \
-d '{"contentHash":"sha256-abc123","publicUrl":"https://..."}'レスポンス
{
"success": true,
"registered": true
}/pinterest/boards?accountId=acc_pinterest_123Pinterest ボードを取得
接続済み Pinterest アカウントで利用できるボードを返します。自動化で予約または公開する前に、正しいボード ID を設定できます。
リクエスト
curl -X GET "https://tareno.co/api/external/pinterest/boards?accountId=acc_pinterest_123" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"boards": [{
"name": "Marketing ideas",
"value": "987654321"
}]
}/usage?period=monthAPI 利用状況を確認
現在の API 利用量、エンドポイント別の内訳、最近のアクティビティ、現在の請求期間のリセット日を返します。
リクエスト
curl -X GET "https://tareno.co/api/external/usage?period=month" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"usage": {
"current": 187,
"limit": 2000,
"remaining": 1813,
"percentUsed": 9
}
}分析 API
API で分析データを取得
分析エンドポイントは同じ External API から利用できます。ダッシュボードのデータ構造を可能な限り反映しているため、レポート、自動化、カスタムダッシュボードで利用できます。
分析エンドポイントには Starter 以上のプラン と、 read スコープを持つ API キーが必要です。有料の分析アクセスがない場合、API は次を返します: ANALYTICS_PLAN_REQUIRED.
/analytics/overview?period=monthクロスプラットフォーム分析の概要
接続済みのすべてのソーシャルアカウントについて、オーディエンス、インプレッション、エンゲージメント、投稿数、プラットフォーム別内訳、上位投稿を、ダッシュボード互換のキャッシュデータで集計します。
リクエスト
curl -X GET "https://tareno.co/api/external/analytics/overview?period=month" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"totalMetrics": {
"audience": { "value": "12.4K", "change": "+5.2%" },
"impressions": { "value": "84.1K", "change": "+12%" }
}
}/analytics/audience?period=monthオーディエンス成長とフォロワー構成
スナップショットとキャッシュ済み分析履歴に基づき、総オーディエンス、新規フォロワー、成長データ、エンゲージメント、プラットフォーム別フォロワー構成、鮮度メタデータを返します。
リクエスト
curl -X GET "https://tareno.co/api/external/analytics/audience?period=month" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"totalAudience": { "value": "12.4K", "change": "+5.2%" },
"newFollowers": { "value": "613", "change": "+5.2%" }
}/analytics/{platform}?accountId=acc_instagram_123&period=monthプラットフォーム別分析の詳細
ダッシュボードと同じプラットフォームネイティブの分析構造を返します。accountId を渡すと接続済みの 1 アカウントを対象にでき、指定がない場合は最初に一致するアカウントが使われます。
リクエスト
curl -X GET "https://tareno.co/api/external/analytics/instagram?accountId=acc_instagram_123&period=month" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"account": {
"id": "acc_instagram_123",
"username": "yourhandle",
"followersCount": 5420
},
"metrics": {
"followers": 5420,
"periodImpressions": 38210
}
}/analytics/strategy?period=month&provider=youtube自社データから導く AI コンテンツ戦略
自社の投稿、メディアライブラリ、AI クリップの文字起こし、分析スナップショット、キャッシュ済みプラットフォーム指標、ニッチシグナル、推奨ルールから戦略プロファイルを作成します。
リクエスト
curl -X GET "https://tareno.co/api/external/analytics/strategy?period=month&provider=youtube" \ -H "Authorization: Bearer tk_live_your_key"
レスポンス
{
"videoStrategy": {
"bestDurationBucket": "21-35s",
"topHookType": "question"
},
"recommendations": [
"Test sharper problem-based openings for 5-8 consecutive Shorts."
]
}レンダリング・ワークフロー
バッチフローの例
これらの例は、多数のアセットを下書きまたは予約へ追加したいレンダリング・パイプラインや自動化サーバーで役立ちます。
レンダリング結果をまとめて下書きへ追加
TARENO_API_KEY=tk_live_your_key \ npm run remotion:push-tareno-api -- --mode=draft VAR-061
明示的なアカウントマッピングでまとめて予約
TARENO_API_KEY=tk_live_your_key \
TARENO_ACCOUNT_MAP='{"instagram":"acc_instagram_123"}' \
npm run remotion:push-tareno-api -- \
--mode=schedule \
--scheduled-at=2026-04-20T09:00:00エラー
共通のレスポンス形式
エラーは JSON で返され、エンドポイントに応じて追加メッセージ、詳細、プラットフォームのヒントを含む場合があります。
{
"error": "Error message here",
"message": "Optional extra details",
"details": "Platform-specific context"
}| コード | 意味 |
|---|---|
| 400 | 無効なパラメーター、または必須値の不足 |
| 401 | API キーがない、無効、期限切れ、または取り消し済み |
| 403 | 必要なスコープがない、または現在のプランでは分析を利用できない |
| 404 | アカウント、ボード、プロバイダー、またはリソースが見つからない |
| 429 | プラットフォームまたは上流プロバイダーによるレート制限 |
| 500 | 予期しないサーバーエラー |
上限
月間 API 呼び出し上限
利用上限はプランごとに適用され、/usage エンドポイントからプログラムで確認できます。
| プラン | 月間 API 呼び出し数 |
|---|---|
| Free | 利用不可 |
| Starter | 利用不可 |
| Pro | 2,000 |
| Business | 無制限 |