Seseorang di Brasil memotong klip 15 detik 11 menit yang lalu

201441 klip telah dipotong dengan AppsGolem.

API Developer · Server MCP

Potong klip YouTube langsung dari kodemu.

REST API sederhana dan server MCP untuk agen AI — semua kemampuan pemotong video web, tapi secara terprogram. Kredit prabayar, tanpa langganan.

API + MCP untuk coding agent →

# 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"}'
Cara kerjanya

Baru pertama kali? Pahami seluruh cara kerjanya dalam satu menit.

Anda membeli kredit prabayar, membuat API key, lalu memanggil satu endpoint untuk memotong klip. Proses pemotongan bersifat asinkron: Anda mengirim job, memeriksa statusnya secara berkala hingga selesai dibuat, lalu mengunduh file dari URL yang dilindungi token. Server MCP membungkus semua langkah itu menjadi satu panggilan tool untuk AI agent. Tanpa langganan, tanpa kursi pengguna — Anda hanya membayar per klip yang berhasil dibuat.

1 · Autentikasi
Kirim key Anda sebagai Authorization: Bearer ag_live_… pada setiap permintaan.
2 · Kirim & periksa status
POST /v1/cuts mengembalikan job id; periksa statusnya dengan GET /v1/cuts/{id} hingga selesai dibuat.
3 · Unduh
Ambil download_url dari job yang sudah selesai — tidak perlu header, token sudah mengotorisasinya.
Mulai Cepat

Dari nol hingga klip dalam empat panggilan.

01
Buat kunci 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
Kirim permintaan potong
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
Pantau URL unduhan
# GET /v1/cuts/{id} — repeat every few seconds until state is produced
{ "state": "produced",
  "download_url": "/v1/download/…/clip.mp4" }
Status berjalan melalui urutan accepted → queued → produced → delivered (atau failed → refunded). Klip pendek biasanya siap hanya dalam hitungan detik; periksa status setiap 3–5 s.
Tautan unduhan akan kedaluwarsa 72 jam setelah klip dibuat — unduh dalam rentang waktu tersebut.
04
Unduh klip
URL bertoken men-stream MP4 — dapat digunakan kembali hingga kedaluwarsa. Alat MCP cut_youtube_video menjalankan langkah 2–4 untukmu dalam satu panggilan.
Untuk agen AI · MCP

Satu baris untuk Claude, Cursor & Codex.

Server MCP menyediakan pemotong video sebagai tiga alat yang dapat dipanggil oleh klien MCP mana pun. Instal dengan npx — tidak perlu instalasi apa pun secara global.

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()
Kirim permintaan potong (mode apa pun, opsi, atau array clips) dan dapatkan URL unduhan sebagai balasan.
get_cut_status()
Periksa status tugas berdasarkan id dan ambil URL unduhannya.
get_account_balance()
Kredit yang bisa Anda gunakan dan batas per jam.
Apa yang harus dikatakan ke agent Anda — semua kemampuan
“Potong video dari 0:30 hingga 1:15 dalam 1080p”
cut_youtube_video(url, start="0:30", end="1:15", resolution="1080p")
“Ambil audio video itu dari 2:00–5:00 sebagai MP3 320 kbps”
cut_youtube_video(…, mode="audio_only", audio_format="mp3", bitrate="320")
“Ekspor video dan MP3 dari 30 detik pertama”
cut_youtube_video(…, end="0:30", mode="both")
“Buat video vertikal 9:16 dari momen sorotan 10:00–10:45”
cut_youtube_video(…, start="10:00", end="10:45", mode="short")
“Ubah bagian 0:05–0:12 menjadi GIF”
cut_youtube_video(…, mode="gif")
“Ambil contact sheet berisi frame setiap 5 detik dari 1:00–2:00”
cut_youtube_video(…, mode="frames", interval_ms=5000, sheet=true)
“Stitch bagian 0:10–0:20 dan 1:00–1:10 menjadi satu klip”
cut_youtube_video(url, clips=[…], stitch=true)
“Lakukan potongan fast dengan stream-copy untuk 30 detik pertama”
cut_youtube_video(…, end="0:30", fast=true)
“Potong bagian 0:00–0:20 pada kecepatan 1.5×, dalam 4K”
cut_youtube_video(…, speed=1.5, resolution="2160p")
“Berapa sisa kredit API saya?”
get_account_balance()
“Cek status job e48d…b1a2”
get_cut_status(job_id="e48d…b1a2")
Agent akan mengisi parameter dari permintaan Anda — Anda tidak perlu menulis JSON.
Referensi API

Semua endpoint, lengkap dengan contoh.

Ada empat endpoint. Tiga endpoint baca/tulis memerlukan Authorization: Bearer <key>; sedangkan URL unduhan diotorisasi oleh tokennya sendiri, jadi tidak perlu header.

POST /v1/cuts Bearer
Permintaan · video
{ "url": "https://youtu.be/aqz-KE-bpKQ",
  "start": "0:00", "end": "0:10",
  "resolution": "1080p", "mode": "video" }
Respons · 202 Accepted
{ "id": "e48db1a2-…", "state": "queued", "credits_reserved": 1, "poll_url": "/v1/cuts/e48db1a2-…" }
Kirim start+end atau array clips (1–10 rentang). Tambahkan header Idempotency-Key (≤200 karakter) agar permintaan yang dicoba ulang memakai job yang sama, bukan dikenai biaya dua kali.
Isi permintaan per mode
audio_onlymp3 · m4a · wav · flac
{ "url":"youtu.be/…", "start":"2:00", "end":"5:00",
  "mode":"audio_only",
  "audio_format":"mp3", "bitrate":"320" }
bothMP4 + MP3, dalam bentuk zip
{ "url":"youtu.be/…", "start":"0:00", "end":"0:30",
  "mode":"both", "resolution":"1080p" }
short9:16, smart-crop dengan AI
{ "url":"youtu.be/…", "start":"10:00", "end":"10:45",
  "mode":"short" }
nosoundMP4, tanpa audio
{ "url":"youtu.be/…", "start":"0:00", "end":"0:15",
  "mode":"nosound", "fast":true }
gif≤ 5 menit, satu klip
{ "url":"youtu.be/…", "start":"0:05", "end":"0:12",
  "mode":"gif" }
framesGambar diam JPG · ≤ 1800
{ "url":"youtu.be/…", "start":"1:00", "end":"2:00",
  "mode":"frames", "interval_ms":5000,
  "sheet":true }
clips + stitch1–10 → satu file
{ "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
Respons · 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 bernilai salah satu dari accepted · queued · produced · delivered · failed · refunded. download_url akan muncul begitu token siap — jika belum ada, periksa lagi.
GET /v1/account Bearer
Respons · 200
{ "balance": 412, "hourly_cap": 60 }
GET /v1/download/{token}/{file} Token di dalam URL
Respons · 200
# streams the file
Content-Type: video/mp4
Content-Disposition: attachment; filename="clip.mp4"
Tidak perlu header Bearer — token pada path sudah mengotorisasinya. URL ini bisa dipakai berulang kali hingga masa berlakunya habis.
Kesalahan

Setiap kegagalan mengembalikan body JSON dengan kode error dan status HTTP. Coba lagi untuk 429 setelah retry_after detik; perbaiki dan kirim ulang untuk 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
Batas laju permintaan: Hanya pengiriman pemotongan yang dibatasi kecepatannya — sesuai jumlah pengiriman/jam pada paket Anda (lihat Harga). Memeriksa progres suatu pekerjaan tidak dibatasi kecepatannya untuk penggunaan normal, jadi polling tidak pernah dihitung terhadap batas tersebut. Patuhi poll_after pada setiap respons (dan Retry-After pada 429 yang jarang terjadi); alat MCP mengatur ritme ini untukmu dengan wait=true.
Kemampuan

Setiap mode yang dimiliki pemotong video web.

MODE video
MP4 hingga 4K
144p–2160p, 60fps, tanpa watermark.
MODE audio_only
Audio
mp3 / m4a / wav / flac, bitrate dapat dipilih.
MODE both
Video + audio
MP4 dan MP3 sekaligus, dalam bentuk zip.
MODE nosound
Video tanpa suara
Video tanpa trek audio.
MODE short
9:16 vertikal
Smart-crop AI untuk Shorts, Reels, dan TikTok; jika tidak tersedia, akan beralih ke letterboxing buram.
MODE gif
GIF animasi
Hingga 5 menit, langsung dari klip.
MODE frames
Frame JPG
Setiap 100ms–10s, timestamp + contact sheet.
OPTION fast
Mode cepat
Stream-copy, sekitar 10× lebih cepat; mempertahankan container sumber (WebM pada 1440p/2160p).
OPTION speed
Kecepatan 0.5–2×
Ubah kecepatan pemutaran saat ekspor.
OPTION clips
Penggabungan multi-klip
Hingga 10 segmen digabung menjadi satu file.
Referensi

Parameter

Bidang
Jenis
Catatan
url
string
URL YouTube watch / share / youtu.be.
start, end
string
"SS" / "MM:SS" / "HH:MM:SS" (≤ 300h). Kosongkan jika menggunakan clips.
resolution
enum
144p · 240p · 360p · 480p · 720p · 1080p · 1440p · 2160p (4K; total potongan ≤ 60 min).
mode
enum
video · audio_only · both · nosound · short · gif · frames.
audio_format
enum
mp3 · m4a · wav · flac — hanya untuk audio_only; both selalu MP3.
bitrate
enum
Bitrate lossy 320 · 256 · 192 · 128 kbps — MP3/M4A (audio_only), MP3 (both); diabaikan untuk wav/flac.
fast
boolean
Stream-copy, sekitar 10× lebih cepat — hanya video, nosound, both; memaksa speed menjadi 1×.
speed
number
Kecepatan pemutaran 0.5 · 1 · 1.25 · 1.5 · 2 — video, nosound, both, audio_only.
interval_ms
integer
Sampling frame: 100 · 500 · 1000 · 2000 · 5000 · 10000 ms; total ≤ 1800 JPG.
burn_ts
boolean
Frame — membakar stempel waktu sumber ke setiap JPG.
sheet
boolean
Frame — satu JPG contact-sheet (satu klip); menonaktifkan burn_ts.
clips
array
1–10 segmen {start,end}; atur stitch untuk menggabungkannya menjadi satu file.
stitch
boolean
Dengan clips, digabungkan menjadi satu file — video, audio_only, both, short, nosound.
Idempotency-Key
header
Dikirim sebagai header HTTP (≤ 200 karakter), bukan field body — percobaan ulang menggunakan job yang sama.
Endpoint: POST /v1/cuts · GET /v1/cuts/{id} · GET /v1/account — Diautentikasi via Bearer.
GET /v1/download/{token}/{file} — diautentikasi via token URL, tanpa header Bearer.
Harga

Bayar untuk klip, bukan seat.

Kredit prabayar menggerakkan API pemotong AppsGolem & server MCP — satu klip yang berhasil dibuat setara dengan satu kredit, dan pemotongan yang gagal tidak pernah dikenakan biaya. Beli paket untuk penggunaan sesekali, atau berlangganan untuk volume bulanan yang stabil dan batas kecepatan yang lebih tinggi.

№ 01  /  Paket prabayar

Bayar sesuai pemakaian.

Pembelian sekali bayar, tanpa perpanjangan otomatis. Kredit berlaku selama 12 bulan.

Paket Starter
€5 sekali bayar

25 kredit · ≈ 25 klip standar

Berlaku 12 bulan

Mulai sekarang
Paket PAYG Nilai terbaik
€25 sekali bayar

150 kredit · ≈ 150 klip standar

Berlaku 12 bulan · €0,17 / kredit

Mulai sekarang

№ 02  /  Langganan

Potong video setiap bulan.

Kredit diperbarui setiap periode dan batas kecepatan Anda meningkat. Batalkan kapan saja.

Starter
€19 / bln

atau €190 / thn · gratis 2 bulan

250 kredit / bulan

  • 30 permintaan / jam
  • Kredit diperbarui setiap bulan
  • Batalkan kapan saja
Mulai sekarang
★ Paling populer Pro
€49 / bln

atau €490 / thn · gratis 2 bulan

1000 kredit / bulan

  • 60 permintaan / jam
  • Kredit diperbarui setiap bulan
  • Batalkan kapan saja
Mulai sekarang
Scale
€149 / bln

atau €1490 / thn · gratis 2 bulan

5000 kredit / bulan

  • 120 permintaan / jam
  • Kredit diperbarui setiap bulan
  • Batalkan kapan saja
Mulai sekarang

Langganan memberikan kredit satu periode penuh di muka dan menaikkan batas permintaan/jam Anda. Paket tahunan menagih 10 bulan untuk masa berlaku 12 bulan.

№ 03  /  Cara kerja kredit

Biaya setiap pemotongan.

  • Klip standar (hingga 1080p; audio saja pada resolusi berapa pun)1 kredit
  • Klip video 4K (2160p)4 kredit
  • Video sumber lebih dari 2 jam (bila diketahui)+1 / tugas
  • Batch N klip (zip atau digabung)N × per klip

Contoh perhitungan

Tiga klip sorotan 1080p + satu klip 4K dari video berdurasi 25 menit → 3×1 + 4 = 7 credits.

Podcast berdurasi 3 jam dipotong menjadi satu file MP3 → 1 + 1 = 2 credits (+1 adalah biaya tambahan untuk >2 h).

№ 04  /  FAQ

Perlu diketahui.

Apa itu kredit?

Satu klip yang berhasil dibuat = satu kredit. Klip 4K bernilai 4 kredit, dan batch dikalikan sesuai jumlah klip.

Apakah kredit memiliki masa berlaku?

Kredit dari paket berlaku selama 12 bulan. Kredit dari langganan hanya berlaku selama periode penagihan saat kredit tersebut diberikan.

Apa itu batas permintaan/jam?

Jumlah panggilan API yang dapat Anda kirim per jam. Paket menggunakan batas default 30; Pro menaikkannya menjadi 60 dan Scale menjadi 120.

Bisakah saya membatalkan kapan saja?

Bisa. Langganan dapat dibatalkan hanya dengan satu klik; kredit yang sudah diberikan tetap menjadi milik Anda hingga masa berlakunya habis.

Bagaimana jika pemotongan gagal?

Pemotongan yang gagal tidak pernah dikenakan biaya — kredit yang dicadangkan akan dikembalikan secara otomatis selama masa berlaku pemberian kredit belum habis.

Bisakah saya menggabungkan paket dengan langganan?

Bisa. Kredit dari paket dan langganan digabungkan; kelompok kredit yang paling cepat kedaluwarsa akan selalu digunakan lebih dulu.