Ktoś w Brazylii przyciął 18-sekundowy klip przed chwilą

201442 klipów zostało przyciętych za pomocą AppsGolem.

API dla deweloperów · serwer MCP

Przycinaj klipy z YouTube z poziomu swojego kodu.

Prosty REST API i serwer MCP dla agentów AI — wszystko, co robi przeglądarkowa przycinarka, ale programistycznie. Przedpłacone kredyty, bez subskrypcji.

API + MCP dla agentów kodujących →

# 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"}'
Jak to działa

Pierwszy raz tutaj? Cały model w minutę.

Kupujesz przedpłacone kredyty, tworzysz klucz API i jednym wywołaniem endpointu przycinasz klip. Przycinanie jest asynchroniczne: wysyłasz zadanie, sprawdzasz stan, aż osiągnie stan produced, a potem pobierasz plik z tokenizowanego adresu URL. Serwer MCP pakuje to wszystko w jedno wywołanie narzędzia dla agentów AI. Brak subskrypcji, brak miejsc — płacisz za każdy klip w stanie produced.

1 · Uwierzytelnianie
Wyślij swój klucz jako Authorization: Bearer ag_live_… w każdym żądaniu.
2 · Wysyłka i sprawdzanie stanu
POST /v1/cuts zwraca ID zadania; sprawdzaj stan przez GET /v1/cuts/{id}, aż osiągnie stan produced.
3 · Pobierz
Pobierz download_url z zadania w stanie produced — nagłówek nie jest potrzebny, autoryzuje go token.
Szybki start

Od zera do klipu w cztery wywołania.

01
Utwórz klucz 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
Zleć przycięcie
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
Odpytuj o URL pobierania
# GET /v1/cuts/{id} — repeat every few seconds until state is produced
{ "state": "produced",
  "download_url": "/v1/download/…/clip.mp4" }
Stany zmieniają się w kolejności accepted → queued → produced → delivered (lub failed → refunded). Krótki klip jest zwykle gotowy w kilka sekund; sprawdzaj stan co 3–5 s.
Linki do pobrania wygasają 72 godziny po wygenerowaniu klipu — pobierz go w tym czasie.
04
Pobierz klip
Zabezpieczony tokenem URL strumieniuje MP4 — można go używać wielokrotnie, aż wygaśnie. Narzędzie MCP cut_youtube_video wykonuje za Ciebie kroki 2–4 w jednym wywołaniu.
Dla agentów AI · MCP

Jedna linijka dla Claude, Cursor i Codex.

Serwer MCP udostępnia przycinarkę jako trzy narzędzia, które może wywołać dowolny klient MCP. Zainstaluj za pomocą npx — nie trzeba niczego instalować globalnie.

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()
Wyślij żądanie przycięcia (dowolny tryb, opcje lub tablica clips) i otrzymaj w odpowiedzi adres URL pobierania.
get_cut_status()
Sprawdź zadanie po id i pobierz jego adres URL pobierania.
get_account_balance()
Twoje dostępne kredyty i limit godzinowy.
Co powiedzieć swojemu agentowi — wszystkie możliwości
“Przytnij wideo od 0:30 do 1:15 w 1080p”
cut_youtube_video(url, start="0:30", end="1:15", resolution="1080p")
“Pobierz dźwięk z tego wideo od 2:00–5:00 jako MP3 320 kbps”
cut_youtube_video(…, mode="audio_only", audio_format="mp3", bitrate="320")
“Wyeksportuj wideo i MP3 pierwszych 30 sekund”
cut_youtube_video(…, end="0:30", mode="both")
“Zrób pionowe wideo short 9:16 z najlepszego momentu 10:00–10:45”
cut_youtube_video(…, start="10:00", end="10:45", mode="short")
“Zamień 0:05–0:12 na GIF”
cut_youtube_video(…, mode="gif")
“Wyodrębnij kontaktowy sheet klatek co 5 sekund od 1:00–2:00”
cut_youtube_video(…, mode="frames", interval_ms=5000, sheet=true)
“Stitch 0:10–0:20 i 1:00–1:10 w jeden klip”
cut_youtube_video(url, clips=[…], stitch=true)
“Zrób fast, stream-copy cięcie pierwszych 30 sekund”
cut_youtube_video(…, end="0:30", fast=true)
“Przytnij 0:00–0:20 z prędkością 1.5×, w 4K”
cut_youtube_video(…, speed=1.5, resolution="2160p")
“Ile kredytów API mi zostało?”
get_account_balance()
“Sprawdź zadanie e48d…b1a2”
get_cut_status(job_id="e48d…b1a2")
Agent uzupełnia parametry na podstawie Twojego żądania — nie musisz pisać JSON-a.
Dokumentacja API

Każdy endpoint z przykładami.

Cztery endpointy. Trzy endpointy do odczytu/zapisu wymagają Authorization: Bearer <key>; adres URL do pobrania jest autoryzowany własnym tokenem, więc nie wymaga nagłówka.

POST /v1/cuts Bearer
Żądanie · video
{ "url": "https://youtu.be/aqz-KE-bpKQ",
  "start": "0:00", "end": "0:10",
  "resolution": "1080p", "mode": "video" }
Odpowiedź · 202 Accepted
{ "id": "e48db1a2-…", "state": "queued", "credits_reserved": 1, "poll_url": "/v1/cuts/e48db1a2-…" }
Podaj albo start+end, albo tablicę clips (1–10 zakresów). Dodaj nagłówek Idempotency-Key (≤200 znaków), aby ponowione żądanie użyło tego samego zadania zamiast podwójnego obciążenia.
Treść żądania w zależności od trybu
audio_onlymp3 · m4a · wav · flac
{ "url":"youtu.be/…", "start":"2:00", "end":"5:00",
  "mode":"audio_only",
  "audio_format":"mp3", "bitrate":"320" }
bothMP4 + MP3, w ZIP-ie
{ "url":"youtu.be/…", "start":"0:00", "end":"0:30",
  "mode":"both", "resolution":"1080p" }
short9:16 AI smart-crop
{ "url":"youtu.be/…", "start":"10:00", "end":"10:45",
  "mode":"short" }
nosoundMP4, bez dźwięku
{ "url":"youtu.be/…", "start":"0:00", "end":"0:15",
  "mode":"nosound", "fast":true }
gif≤ 5 min, jeden klip
{ "url":"youtu.be/…", "start":"0:05", "end":"0:12",
  "mode":"gif" }
framesKlatki JPG · ≤ 1800
{ "url":"youtu.be/…", "start":"1:00", "end":"2:00",
  "mode":"frames", "interval_ms":5000,
  "sheet":true }
clips + stitch1–10 → jeden plik
{ "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
Odpowiedź · 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 to jedna z wartości accepted · queued · produced · delivered · failed · refunded. download_url pojawia się, gdy token jest gotowy — jeśli go brakuje, sprawdź ponownie.
GET /v1/account Bearer
Odpowiedź · 200
{ "balance": 412, "hourly_cap": 60 }
GET /v1/download/{token}/{file} Token w URL
Odpowiedź · 200
# streams the file
Content-Type: video/mp4
Content-Disposition: attachment; filename="clip.mp4"
Brak nagłówka Bearer — autoryzuje go token w ścieżce. Adres URL można używać wielokrotnie, aż wygaśnie.
Błędy

Każdy błąd zwraca treść JSON z kodem error i statusem HTTP. Ponów próbę 429 po retry_after sekundach; przy 400 popraw i wyślij ponownie.

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
Limit zapytań: Ograniczeniom liczby żądań podlegają tylko zgłoszenia cięcia — liczba zgłoszeń na godzinę zależy od Twojego planu (zobacz Cennik). Sprawdzanie postępu zadania nie podlega limitom przy normalnym użyciu, więc odpytywanie nigdy nie wlicza się do tego limitu. Uwzględniaj wartość poll_after w każdej odpowiedzi (a przy rzadkim błędzie 429 — nagłówek Retry-After); narzędzie MCP robi to za Ciebie automatycznie dzięki opcji wait=true.
Możliwości

Każdy tryb, jaki oferuje przeglądarkowa przycinarka.

MODE video
MP4 do 4K
144p–2160p, 60fps, bez znaku wodnego.
MODE audio_only
Dźwięk
mp3 / m4a / wav / flac, wybieralny bitrate.
MODE both
Wideo + audio
MP4 i MP3 razem, jako zip.
MODE nosound
Wideo bez dźwięku
Wideo bez ścieżki dźwiękowej.
MODE short
9:16 pionowo
Inteligentne przycinanie AI dla Shorts, Reels i TikTok; w przypadku niedostępności przechodzi na rozmyte obramowanie.
MODE gif
Animowany GIF
Do 5 minut, bezpośrednio z klipu.
MODE frames
Klatki JPG
Co 100ms–10s, znaczniki czasu + arkusz kontaktowy.
OPTION fast
Tryb szybki
Stream-copy, około 10× szybciej; zachowuje oryginalny kontener źródłowy (WebM w 1440p/2160p).
OPTION speed
Prędkość 0.5–2×
Dostosuj tempo odtwarzania podczas eksportu.
OPTION clips
Łączenie wielu klipów
Do 10 okien połączonych w jeden plik.
Dokumentacja

Parametry

Pole
Typ
Uwagi
url
string
URL YouTube typu watch / share / youtu.be.
start, end
string
"SS" / "MM:SS" / "HH:MM:SS" (≤ 300h). Pomiń, jeśli używasz clips.
resolution
enum
144p · 240p · 360p · 480p · 720p · 1080p · 1440p · 2160p (4K; łączny czas przycięcia ≤ 60 min).
mode
enum
video · audio_only · both · nosound · short · gif · frames.
audio_format
enum
mp3 · m4a · wav · flac — tylko dla audio_only; both to zawsze MP3.
bitrate
enum
Stratny bitrate 320 · 256 · 192 · 128 kbps — MP3/M4A (audio_only), MP3 (both); ignorowane dla wav/flac.
fast
boolean
Kopiowanie strumienia, około 10× szybciej — tylko video, nosound, both; wymusza speed na 1×.
speed
number
Szybkość odtwarzania 0.5 · 1 · 1.25 · 1.5 · 2 — video, nosound, both, audio_only.
interval_ms
integer
Próbkowanie klatek: 100 · 500 · 1000 · 2000 · 5000 · 10000 ms; ≤ 1800 JPG łącznie.
burn_ts
boolean
Klatki — wypala znacznik czasu źródła na każdym JPG.
sheet
boolean
Klatki — pojedynczy JPG w formie arkusza kontaktowego (pojedynczy klip); wyłącza burn_ts.
clips
array
1–10 okien {start,end}; ustaw stitch, aby połączyć w jeden plik.
stitch
boolean
Przy użyciu clips połącz je w jeden plik — video, audio_only, both, short, nosound.
Idempotency-Key
header
Wysyłane jako nagłówek HTTP (≤ 200 znaków), a nie pole treści — ponowne próby używają tego samego zadania.
Endpointy: POST /v1/cuts · GET /v1/cuts/{id} · GET /v1/account — Uwierzytelnianie za pomocą Bearer.
GET /v1/download/{token}/{file} — uwierzytelniane tokenem URL, bez nagłówka Bearer.
Cennik

Płać za klipy, nie za stanowiska.

Przedpłacone kredyty zasilają API narzędzia do cięcia AppsGolem & serwer MCP — jeden wygenerowany klip to jeden kredyt, a nieudane cięcia nigdy nie są rozliczane. Kup pakiet do okazjonalnego użytku lub subskrybuj stały miesięczny wolumen i wyższy limit szybkości.

№ 01  /  Pakiety przedpłacone

Płać na bieżąco.

Zakup jednorazowy, bez odnawiania. Kredyty są ważne przez 12 miesięcy.

Pakiet Starter
€5 jednorazowo

25 kredytów · ≈ 25 standardowych klipów

Ważne 12 miesięcy

Zacznij korzystać
Pakiet PAYG Najbardziej opłacalny wybór
€25 jednorazowo

150 kredytów · ≈ 150 standardowych klipów

Ważne 12 miesięcy · €0,17 / kredyt

Zacznij korzystać

№ 02  /  Subskrypcje

Tnij co miesiąc.

Kredyty odnawiają się co okres, a Twój limit szybkości rośnie. Anuluj w każdej chwili.

Starter
€19 / mies.

lub €190 / rok · 2 miesiące gratis

250 kredytów / miesiąc

  • 30 zapytań / godzinę
  • Kredyty odnawiają się co miesiąc
  • Anuluj w każdej chwili
Zacznij korzystać
★ Najpopularniejszy Pro
€49 / mies.

lub €490 / rok · 2 miesiące gratis

1000 kredytów / miesiąc

  • 60 zapytań / godzinę
  • Kredyty odnawiają się co miesiąc
  • Anuluj w każdej chwili
Zacznij korzystać
Skala
€149 / mies.

lub €1490 / rok · 2 miesiące gratis

5000 kredytów / miesiąc

  • 120 zapytań / godzinę
  • Kredyty odnawiają się co miesiąc
  • Anuluj w każdej chwili
Zacznij korzystać

Subskrypcje przyznają kredyty za cały okres z góry i podnoszą limit zapytań/godzinę. Plany roczne rozliczają 10 miesięcy za 12.

№ 03  /  Jak działają kredyty

Ile kosztuje cięcie.

  • Standardowy klip (do 1080p; tylko audio w dowolnej rozdzielczości)1 kredyt
  • Klip wideo 4K (2160p)4 kredyty
  • Źródło dłuższe niż 2 h (gdy znane)+1 / zadanie
  • Wsad N klipów (zip lub połączenie)N × za klip

Przykład

Trzy fragmenty 1080p + jeden klip 4K z 25-minutowego wideo → 3×1 + 4 = 7 credits.

3-godzinny podcast przycięty do jednego MP3 → 1 + 1 = 2 credits (+1 to dopłata za >2 h).

№ 04  /  FAQ

Warto wiedzieć.

Czym jest kredyt?

Jeden wygenerowany klip = jeden kredyt. Klipy 4K to 4, a wsad mnoży przez liczbę klipów.

Czy kredyty wygasają?

Kredyty z pakietu są ważne przez 12 miesięcy. Kredyty z subskrypcji są ważne przez okres rozliczeniowy, w którym zostały przyznane.

Czym jest limit zapytań/godzinę?

Ile wywołań API możesz wysłać na godzinę. Pakiety zachowują domyślne 30; Pro podnosi to do 60, a Scale do 120.

Czy mogę anulować w każdej chwili?

Tak. Subskrypcje można anulować jednym kliknięciem; zachowujesz wszystkie już przyznane kredyty do czasu ich wygaśnięcia.

Co jeśli cięcie się nie powiedzie?

Nieudane cięcia nigdy nie są rozliczane — zarezerwowane kredyty są automatycznie zwracane, dopóki przyznanie jest ważne.

Czy mogę łączyć pakiety z planem?

Tak. Kredyty z pakietów i subskrypcji się kumulują; zawsze najpierw wykorzystywana jest pula z najbliższym terminem wygaśnięcia.