ブラジルのユーザーが15秒のクリップを切り取りました 10分前

AppsGolemで201441本のクリップがカットされました

開発者向け API · MCP サーバー

YouTube クリップをあなたのコードからカット。

AI エージェント向けのシンプルな REST API と MCP サーバー — ウェブカッターの全機能を、そのままコードから利用できます。前払いクレジット制で、サブスクリプション不要。

コーディングエージェント向けのAPI + MCP →

# one clip = 1 credit — failed cuts never billed
curl -X POST https://appsgolem.com/v1/cuts \
  -H "Authorization: Bearer ag_live_…" \
  -d '{"url":"youtu.be/…","start":"0:00",
       "end":"0:10","mode":"video"}'
使い方

初めての方ですか?仕組み全体を1分で。

プリペイドクレジットを購入し、APIキーを作成し、1つのエンドポイントを呼び出してクリップを切り出します。切り出しは非同期で行われます。ジョブを送信し、生成されるまでポーリングし、トークン付きURLからファイルをダウンロードします。MCPサーバーはこれらすべてを、AIエージェント向けの1回のツール呼び出しにまとめます。サブスクリプションもシートもなく — 生成したクリップ数に応じて支払います。

1 · 認証する
すべてのリクエストで、キーをAuthorization: Bearer ag_live_…として送信します。
2 · 送信してポーリング
POST /v1/cutsはジョブIDを返します。生成されるまでGET /v1/cuts/{id}をポーリングします。
3 · ダウンロード
生成されたジョブからdownload_urlを取得します — ヘッダーは不要で、トークンが認可します。
クイックスタート

4回の呼び出しで、ゼロからクリップまで。

01
API キーを作成
Buy a credit pack (from €5), then generate a key in your dashboard. Keys look like ag_live_… and are shown once — store it somewhere safe.
02
カットを送信
curl -X POST https://appsgolem.com/v1/cuts \
  -H "Authorization: Bearer ag_live_…" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://youtu.be/aqz-KE-bpKQ",
       "start":"0:00","end":"0:10",
       "resolution":"1080p","mode":"video"}'
202 Accepted
{ "id": "e48d…b1a2", "state": "queued", "credits_reserved": 1, "poll_url": "/v1/cuts/e48d…b1a2" }
03
ダウンロード URL をポーリング
# GET /v1/cuts/{id} — repeat every few seconds until state is produced
{ "state": "produced",
  "download_url": "/v1/download/…/clip.mp4" }
状態はaccepted → queued → produced → deliveredの順に遷移します(またはfailed → refunded)。短いクリップは通常数秒で準備できます。3–5秒ごとにポーリングしてください。
ダウンロードリンクはクリップ生成から72時間で失効します。その間にダウンロードしてください。
04
クリップをダウンロード
トークン付き URL から MP4 をストリーミングでき、期限が切れるまで再利用できます。MCP ツールの cut_youtube_video なら、手順2–4を1回の呼び出しでまとめて実行します。
AI エージェント向け · MCP

Claude、Cursor、Codexへ一言で。

MCP サーバーは、カッターを任意の MCP クライアントから呼び出せる3つのツールとして公開します。npxでインストールできます — グローバルインストールは不要です。

Claude Desktop — claude_desktop_config.json
{ "mcpServers": {
  "appsgolem": {
    "command": "npx",
    "args": ["-y","appsgolem-mcp"],
    "env": { "APPSGOLEM_API_KEY":
      "ag_live_…" } } } }
Claude Code
claude mcp add appsgolem \
  -e APPSGOLEM_API_KEY=ag_live_… \
  -- npx -y appsgolem-mcp
Codex CLI — ~/.codex/config.toml
[mcp_servers.appsgolem]
command = "npx"
args = ["-y", "appsgolem-mcp"]
env = { APPSGOLEM_API_KEY = "ag_live_…" }
cut_youtube_video()
カットを送信すると(モード、オプション、または clips 配列を指定可能)、ダウンロード URL が返されます。
get_cut_status()
id でジョブを確認し、ダウンロード URL を取得します。
get_account_balance()
利用可能なクレジットと1時間あたりの上限。
エージェントに伝える内容 — すべての機能
“動画の0:30から1:15までを1080pで切り出す”
cut_youtube_video(url, start="0:30", end="1:15", resolution="1080p")
“その動画の2:00–5:00の音声を320 kbpsのMP3として取得する”
cut_youtube_video(…, mode="audio_only", audio_format="mp3", bitrate="320")
“最初の30秒の動画とMP3を書き出す”
cut_youtube_video(…, end="0:30", mode="both")
“10:00–10:45のハイライトを9:16の縦型ショート動画にする”
cut_youtube_video(…, start="10:00", end="10:45", mode="short")
“0:05–0:12をGIFに変換する”
cut_youtube_video(…, mode="gif")
“1:00–2:00から5秒ごとのフレームでcontact sheetを作成する”
cut_youtube_video(…, mode="frames", interval_ms=5000, sheet=true)
“0:10–0:20と1:00–1:10をstitchして1つのクリップにする”
cut_youtube_video(url, clips=[…], stitch=true)
“最初の30秒をfastなストリームコピーで切り出す”
cut_youtube_video(…, end="0:30", fast=true)
“0:00–0:20を1.5×速度で、4Kで切り出す”
cut_youtube_video(…, speed=1.5, resolution="2160p")
“APIクレジットの残りはいくつですか?”
get_account_balance()
“ジョブ e48d…b1a2 の状況を確認する”
get_cut_status(job_id="e48d…b1a2")
エージェントがリクエスト内容からパラメータを埋めます — JSONを書く必要はありません。
APIリファレンス

すべてのエンドポイントを、例とともに。

4つのエンドポイント。読み書きを行う3つのエンドポイントはAuthorization: Bearer <key>を必要とします。ダウンロードURLは独自のトークンで認可されるため、ヘッダーは不要です。

POST /v1/cuts Bearer
リクエスト · video
{ "url": "https://youtu.be/aqz-KE-bpKQ",
  "start": "0:00", "end": "0:10",
  "resolution": "1080p", "mode": "video" }
レスポンス · 202 Accepted
{ "id": "e48db1a2-…", "state": "queued", "credits_reserved": 1, "poll_url": "/v1/cuts/e48db1a2-…" }
start+end、またはclips配列(1–10区間)のいずれかを渡します。再試行したリクエストが二重課金にならず同じジョブを再利用するように、Idempotency-Keyヘッダー(≤200文字)を追加してください。
モードごとのリクエストボディ
audio_onlymp3 · m4a · wav · flac
{ "url":"youtu.be/…", "start":"2:00", "end":"5:00",
  "mode":"audio_only",
  "audio_format":"mp3", "bitrate":"320" }
bothMP4 + MP3、zip形式
{ "url":"youtu.be/…", "start":"0:00", "end":"0:30",
  "mode":"both", "resolution":"1080p" }
short9:16 AIスマートクロップ
{ "url":"youtu.be/…", "start":"10:00", "end":"10:45",
  "mode":"short" }
nosoundMP4、音声なし
{ "url":"youtu.be/…", "start":"0:00", "end":"0:15",
  "mode":"nosound", "fast":true }
gif≤ 5分、単一クリップ
{ "url":"youtu.be/…", "start":"0:05", "end":"0:12",
  "mode":"gif" }
framesJPG静止画 · ≤ 1800
{ "url":"youtu.be/…", "start":"1:00", "end":"2:00",
  "mode":"frames", "interval_ms":5000,
  "sheet":true }
clips + stitch1–10 → 1ファイル
{ "url":"youtu.be/…", "mode":"video",
  "clips":[{"start":"0:10","end":"0:20"},
          {"start":"1:00","end":"1:10"}],
  "stitch":true }
speed · 4K0.5–2× · 2160p
{ "url":"youtu.be/…", "start":"0:00", "end":"0:20",
  "mode":"video", "speed":1.5,
  "resolution":"2160p" }
GET /v1/cuts/{id} Bearer
レスポンス · 200 · produced
{ "id": "e48db1a2-…", "state": "produced", "credits_reserved": 1,
  "created_at": "2026-08-22T12:00:00+00:00",
  "download_url": "/v1/download/…/clip.mp4" }
stateはaccepted · queued · produced · delivered · failed · refundedのいずれかです。download_urlはトークンの準備ができると表示されます — 存在しない場合は再度ポーリングしてください。
GET /v1/account Bearer
レスポンス · 200
{ "balance": 412, "hourly_cap": 60 }
GET /v1/download/{token}/{file} URL内のトークン
レスポンス · 200
# streams the file
Content-Type: video/mp4
Content-Disposition: attachment; filename="clip.mp4"
Bearerヘッダーは不要です — パス内のトークンが認可します。URLは有効期限が切れるまで再利用できます。
エラー

失敗時はerrorコードとHTTPステータスを含むJSONボディが返されます。429retry_after秒後に再試行し、400は修正して再送信してください。

402 insufficient_credits
{ "error":"insufficient_credits",
  "message":"need 2 credits", "balance":1 }
429 rate_limited
{ "error":"rate_limited",
  "retry_after":12 }
400 invalid_*
{ "error":"invalid_resolution",
  "message":"resolution must be…" }
401 · 404
{ "error":"invalid_api_key" }  // 401
{ "error":"not_found" }        // 404
レート制限: カット送信のみがレート制限の対象です — プランの1時間あたりの送信数までです(料金を参照)。ジョブの進行状況を確認する操作は通常の利用ではレート制限されないため、ポーリングがこの上限にカウントされることはありません。各レスポンスのpoll_afterに従ってください(まれに429が返る場合はRetry-Afterにも従ってください)。MCPツールはwait=trueを使うことでこれを自動的に調整します。
機能

ウェブカッターの全モードに対応。

MODE video
4KまでのMP4
144p–2160p、60fps、透かしなし。
MODE audio_only
音声
mp3 / m4a / wav / flac、選択可能なビットレート。
MODE both
動画 + 音声
MP4 と MP3 をひとつの zip にまとめて。
MODE nosound
音声なし動画
音声トラックを削除した動画。
MODE short
9:16 縦型
Shorts、Reels、TikTok 向けの AI スマートクロップ; 利用できない場合はぼかしレターボックスにフォールバック。
MODE gif
アニメーション GIF
最大5分、クリップからそのまま生成。
MODE frames
JPG フレーム
100ms–10s ごとに、タイムスタンプ + コンタクトシート付き。
OPTION fast
高速モード
ストリームコピーにより約10×高速。元のコンテナ形式を維持(1440p/2160pはWebM)。
OPTION speed
速度 0.5–2×
書き出し時に再生速度を変更。
OPTION clips
マルチクリップ結合
最大10個の区間を1つのファイルに結合。
リファレンス

パラメーター

フィールド
種類
備考
url
string
YouTube の watch / share / youtu.be URL。
start, end
string
"SS" / "MM:SS" / "HH:MM:SS" (≤ 300h)。clips 使用時は省略可能。
resolution
enum
144p · 240p · 360p · 480p · 720p · 1080p · 1440p · 2160p (4K; 合計カット時間 ≤ 60分)。
mode
enum
video · audio_only · both · nosound · short · gif · frames。
audio_format
enum
mp3 · m4a · wav · flac — audio_only専用;bothは常にMP3。
bitrate
enum
非可逆ビットレート 320 · 256 · 192 · 128 kbps — MP3/M4A (audio_only)、MP3 (both);wav/flacでは無視。
fast
boolean
ストリームコピー、約10×高速 — video、nosound、bothのみ;speedを1×に固定。
speed
number
再生速度 0.5 · 1 · 1.25 · 1.5 · 2 — video、nosound、both、audio_only。
interval_ms
integer
フレームサンプリング: 100 · 500 · 1000 · 2000 · 5000 · 10000 ms;合計 ≤ 1800 JPG。
burn_ts
boolean
フレーム — 各JPGに元のタイムスタンプを焼き込む。
sheet
boolean
フレーム — 1枚のコンタクトシートJPG (クリップ1本の場合);burn_tsを無効化。
clips
array
1–10個の {start,end} 区間;1つのファイルに結合するには stitch を設定。
stitch
boolean
clipsを使う場合、1つのファイルに結合 — video、audio_only、both、short、nosound。
Idempotency-Key
header
HTTPヘッダー(≤ 200 文字)として送信、ボディフィールドではない — リトライは同じジョブを再利用。
エンドポイント: POST /v1/cuts · GET /v1/cuts/{id} · GET /v1/account — Bearer認証。
GET /v1/download/{token}/{file} — URLトークンで認証、Bearerヘッダーは不要。
料金

料金はクリップ単位。シート課金ではありません。

プリペイドクレジットが、AppsGolemのカッターAPI & MCPサーバーを支えています——生成したクリップ1本につき1クレジットで、失敗したカットには一切課金されません。たまに使うだけならパックを購入、毎月安定した量を使うならサブスクリプションでより高いレート制限を。

№ 01  /  前払いパック

都度払い。

一回限りの購入で、自動更新なし。クレジットの有効期限は12か月です。

Starterパック
€5 一回限り

25 クレジット · ≈ 25 本の標準クリップ

有効期限12か月

はじめる
PAYGパック お得なプラン
€25 一回限り

150 クレジット · ≈ 150 本の標準クリップ

有効期限12か月 · €0.17 / クレジット

はじめる

№ 02  /  サブスクリプション

毎月カット。

クレジットは各期間ごとに更新され、レート制限も上がります。いつでも解約可能です。

Starter
€19 / 月

または €190 / 年 · 2か月無料

250 クレジット / 月

  • 30 リクエスト / 時間
  • クレジットは毎月更新
  • いつでも解約可能
はじめる
★ 一番人気 Pro
€49 / 月

または €490 / 年 · 2か月無料

1000 クレジット / 月

  • 60 リクエスト / 時間
  • クレジットは毎月更新
  • いつでも解約可能
はじめる
Scale
€149 / 月

または €1490 / 年 · 2か月無料

5000 クレジット / 月

  • 120 リクエスト / 時間
  • クレジットは毎月更新
  • いつでも解約可能
はじめる

サブスクリプションは期間全体のクレジットを前払いで付与し、リクエスト/時間の上限も引き上げます。年間プランは12か月分を10か月分の料金で請求します。

№ 03  /  クレジットの仕組み

カットにかかる料金。

  • 標準クリップ (1080pまで、音声のみは解像度を問わず)1クレジット
  • 4K (2160p) 動画クリップ4クレジット
  • 元動画が2時間を超える場合 (判明している場合)+1 / ジョブ
  • N本のクリップをまとめて処理 (zipまたは結合)N × クリップごと

計算例

25分の動画から1080pのハイライト3本+4Kクリップ1本を作成 → 3×1 + 4 = 7 credits

3時間のポッドキャストを1本のMP3にトリミング → 1 + 1 = 2 credits(+1は>2 hの追加料金)。

№ 04  /  FAQ

知っておきたいこと。

クレジットとは?

生成されたクリップ1本 = 1クレジット。4Kクリップは4クレジットで、バッチの場合はクリップ数に応じて倍増します。

クレジットに有効期限はありますか?

パックのクレジットは12か月間有効です。サブスクリプションのクレジットは付与された請求期間内のみ有効です。

リクエスト/時間の上限とは?

1時間あたりに送信できるAPI呼び出しの回数です。パックはデフォルトの30のままですが、Proは60、Scaleは120に引き上げられます。

いつでも解約できますか?

はい。サブスクリプションはワンクリックで解約でき、すでに付与されたクレジットは期限が切れるまで保持されます。

カットに失敗した場合は?

失敗したカットには課金されません——付与が有効な間、確保されたクレジットは自動的に返還されます。

パックとプランを併用できますか?

はい。パックとサブスクリプションのクレジットは合算され、常に有効期限が早いものから使用されます。