Jemand in Brasilien hat einen 7-Sekunden-Clip geschnitten gerade eben

201430 Clips wurden mit AppsGolem geschnitten.

Entwickler-API · MCP-Server

Schneide YouTube-Clips aus deinem Code.

Eine einfache REST-API und ein MCP-Server für AI-Agenten — alles, was der Web-Cutter kann, programmatisch. Prepaid-Guthaben, kein Abo.

API + MCP für Coding-Agenten →

# 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"}'
So funktioniert es

Neu hier? Das ganze Modell in einer Minute.

Du kaufst Prepaid-Credits, erstellst einen API-Schlüssel und rufst einen Endpunkt auf, um einen Clip zu schneiden. Das Schneiden ist asynchron: Du sendest einen Job, fragst ab, bis er fertig produziert ist, und lädst die Datei dann über eine tokenisierte URL herunter. Der MCP-Server verpackt das alles in einen einzigen Tool-Aufruf für KI-Agenten. Kein Abo, keine Seats — du zahlst pro produziertem Clip.

1 · Authentifizieren
Sende deinen Schlüssel als Authorization: Bearer ag_live_… bei jeder Anfrage.
2 · Senden & abfragen
POST /v1/cuts liefert eine Job-ID; frage GET /v1/cuts/{id} ab, bis sie produziert ist.
3 · Herunterladen
Rufe die download_url aus dem produzierten Job ab — kein Header nötig, der Token autorisiert sie.
Schnellstart

Von null zum Clip in vier Aufrufen.

01
API-Schlüssel erstellen
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
Schnitt einreichen
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
Nach der Download-URL pollen
# GET /v1/cuts/{id} — repeat every few seconds until state is produced
{ "state": "produced",
  "download_url": "/v1/download/…/clip.mp4" }
Status durchläuft accepted → queued → produced → delivered (oder failed → refunded). Ein kurzer Clip ist meist in Sekunden fertig; frage alle 3–5 s ab.
Download-Links laufen 72 Stunden nach der Erstellung des Clips ab — laden Sie ihn innerhalb dieses Zeitfensters herunter.
04
Clip herunterladen
Die tokenisierte URL streamt die MP4 — wiederverwendbar, bis sie abläuft. Das MCP-Tool cut_youtube_video erledigt die Schritte 2–4 für dich in einem Aufruf.
Für AI-Agenten · MCP

Eine Zeile für Claude, Cursor & Codex.

Der MCP-Server stellt den Cutter als drei Tools bereit, die jeder MCP-Client aufrufen kann. Installiere mit npx — nichts global zu installieren.

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()
Sende einen Schnitt (beliebiger Modus, Optionen oder ein clips-Array) und erhalte eine Download-URL zurück.
get_cut_status()
Prüfe einen Job anhand der id und hole seine Download-URL.
get_account_balance()
Deine verfügbaren Credits und dein Stundenlimit.
Was du deinem Agenten sagen kannst — jede Funktion
“Schneide ein Video von 0:30 bis 1:15 in 1080p”
cut_youtube_video(url, start="0:30", end="1:15", resolution="1080p")
“Extrahiere das Audio dieses Videos von 2:00–5:00 als 320 kbps MP3”
cut_youtube_video(…, mode="audio_only", audio_format="mp3", bitrate="320")
“Exportiere das Video und eine MP3 der ersten 30 Sekunden”
cut_youtube_video(…, end="0:30", mode="both")
“Erstelle einen vertikalen 9:16-Short aus dem Highlight von 10:00–10:45”
cut_youtube_video(…, start="10:00", end="10:45", mode="short")
“Wandle 0:05–0:12 in ein GIF um”
cut_youtube_video(…, mode="gif")
“Extrahiere ein Contact-Sheet mit einem Frame alle 5 Sekunden von 1:00–2:00”
cut_youtube_video(…, mode="frames", interval_ms=5000, sheet=true)
“Stitch 0:10–0:20 und 1:00–1:10 zu einem Clip zusammen”
cut_youtube_video(url, clips=[…], stitch=true)
“Mach einen fast-Schnitt per Stream-Copy der ersten 30 Sekunden”
cut_youtube_video(…, end="0:30", fast=true)
“Schneide 0:00–0:20 mit 1.5× Geschwindigkeit, in 4K”
cut_youtube_video(…, speed=1.5, resolution="2160p")
“Wie viele API-Credits habe ich noch übrig?”
get_account_balance()
“Prüfe den Status von Job e48d…b1a2”
get_cut_status(job_id="e48d…b1a2")
Der Agent füllt die Parameter anhand deiner Anfrage aus — du schreibst kein JSON.
API-Referenz

Jeder Endpunkt, mit Beispielen.

Vier Endpunkte. Die drei Lese-/Schreib-Endpunkte benötigen Authorization: Bearer <key>; die Download-URL wird durch ihr eigenes Token autorisiert und braucht daher keinen Header.

POST /v1/cuts Bearer
Anfrage · video
{ "url": "https://youtu.be/aqz-KE-bpKQ",
  "start": "0:00", "end": "0:10",
  "resolution": "1080p", "mode": "video" }
Antwort · 202 Accepted
{ "id": "e48db1a2-…", "state": "queued", "credits_reserved": 1, "poll_url": "/v1/cuts/e48db1a2-…" }
Übergib entweder start+end oder ein clips-Array (1–10 Fenster). Füge einen Idempotency-Key-Header hinzu (≤200 Zeichen), damit eine wiederholte Anfrage denselben Job wiederverwendet, statt doppelt abzurechnen.
Anfragekörper je Modus
audio_onlymp3 · m4a · wav · flac
{ "url":"youtu.be/…", "start":"2:00", "end":"5:00",
  "mode":"audio_only",
  "audio_format":"mp3", "bitrate":"320" }
bothMP4 + MP3, gezippt
{ "url":"youtu.be/…", "start":"0:00", "end":"0:30",
  "mode":"both", "resolution":"1080p" }
short9:16 KI-Smart-Crop
{ "url":"youtu.be/…", "start":"10:00", "end":"10:45",
  "mode":"short" }
nosoundMP4, ohne Ton
{ "url":"youtu.be/…", "start":"0:00", "end":"0:15",
  "mode":"nosound", "fast":true }
gif≤ 5 Min., ein Clip
{ "url":"youtu.be/…", "start":"0:05", "end":"0:12",
  "mode":"gif" }
framesJPG-Standbilder · ≤ 1800
{ "url":"youtu.be/…", "start":"1:00", "end":"2:00",
  "mode":"frames", "interval_ms":5000,
  "sheet":true }
clips + stitch1–10 → eine Datei
{ "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
Antwort · 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 ist einer von accepted · queued · produced · delivered · failed · refunded. download_url erscheint, sobald ein Token bereit ist — falls es fehlt, frage erneut ab.
GET /v1/account Bearer
Antwort · 200
{ "balance": 412, "hourly_cap": 60 }
GET /v1/download/{token}/{file} Token in der URL
Antwort · 200
# streams the file
Content-Type: video/mp4
Content-Disposition: attachment; filename="clip.mp4"
Kein Bearer-Header — der Token im Pfad autorisiert sie. Die URL ist wiederverwendbar, bis sie abläuft.
Fehler

Jeder Fehler liefert einen JSON-Body mit einem error-Code und dem HTTP-Status. Wiederhole 429 nach retry_after Sekunden; korrigiere und sende bei einem 400 erneut.

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
Rate-Limit: Nur Schnitt-Einreichungen sind ratenbegrenzt — die Einreichungen/Stunde deines Tarifs (siehe Preise). Den Fortschritt eines Jobs abzufragen ist bei normaler Nutzung nicht ratenbegrenzt, daher zählt Polling nie gegen dieses Limit. Beachte poll_after in jeder Antwort (und Retry-After beim seltenen 429); das MCP-Tool übernimmt dieses Timing für dich mit wait=true.
Funktionen

Jeder Modus, den der Web-Cutter bietet.

MODE video
MP4 bis zu 4K
144p–2160p, 60fps, ohne Wasserzeichen.
MODE audio_only
Audio
mp3 / m4a / wav / flac, wählbare Bitrate.
MODE both
Video + Audio
MP4 und MP3 zusammen, als ZIP.
MODE nosound
Stummgeschaltetes Video
Video ohne Audiospur.
MODE short
9:16 hochkant
Intelligenter AI-Zuschnitt für Shorts, Reels und TikTok; bei Nichtverfügbarkeit greift ein Letterbox-Weichzeichner.
MODE gif
Animiertes GIF
Bis zu 5 Minuten, direkt aus einem Clip.
MODE frames
JPG-Einzelbilder
Alle 100ms–10s, Zeitstempel + Kontaktbogen.
OPTION fast
Schnellmodus
Stream-Copy, etwa 10× schneller; behält den Quellcontainer bei (WebM bei 1440p/2160p).
OPTION speed
Geschwindigkeit 0.5–2×
Passe die Wiedergabegeschwindigkeit beim Export an.
OPTION clips
Mehrere Clips verbinden
Bis zu 10 Abschnitte, zusammengeführt in einer Datei.
Referenz

Parameter

Feld
Typ
Hinweise
url
string
YouTube watch / share / youtu.be URL.
start, end
string
"SS" / "MM:SS" / "HH:MM:SS" (≤ 300h). Weglassen bei Verwendung von clips.
resolution
enum
144p · 240p · 360p · 480p · 720p · 1080p · 1440p · 2160p (4K; Gesamtschnitt ≤ 60 min).
mode
enum
video · audio_only · both · nosound · short · gif · frames.
audio_format
enum
mp3 · m4a · wav · flac — nur für audio_only; both ist immer MP3.
bitrate
enum
Verlustbehaftete Bitrate 320 · 256 · 192 · 128 kbps — MP3/M4A (audio_only), MP3 (both); ignoriert für wav/flac.
fast
boolean
Stream-copy, etwa 10× schneller — nur video, nosound, both; erzwingt Geschwindigkeit 1×.
speed
number
Wiedergabegeschwindigkeit 0.5 · 1 · 1.25 · 1.5 · 2 — video, nosound, both, audio_only.
interval_ms
integer
Einzelbilder-Abtastung: 100 · 500 · 1000 · 2000 · 5000 · 10000 ms; ≤ 1800 JPGs insgesamt.
burn_ts
boolean
Einzelbilder — brennt den Quell-Zeitstempel in jedes JPG ein.
sheet
boolean
Einzelbilder — ein einzelnes Kontaktbogen-JPG (ein Clip); deaktiviert burn_ts.
clips
array
1–10 {start,end}-Abschnitte; setze stitch, um sie in einer Datei zusammenzuführen.
stitch
boolean
Mit clips werden sie zu einer Datei zusammengefügt — video, audio_only, both, short, nosound.
Idempotency-Key
header
Wird als HTTP-Header (≤ 200 Zeichen) gesendet, nicht als Feld im Body — bei Wiederholungen wird derselbe Job verwendet.
Endpunkte: POST /v1/cuts · GET /v1/cuts/{id} · GET /v1/account — Bearer-authentifiziert.
GET /v1/download/{token}/{file} — Authentifizierung über den URL-Token, kein Bearer-Header.
Preise

Bezahle für Clips, nicht für Nutzer.

Prepaid-Credits betreiben die AppsGolem-Cutter-API & den MCP-Server — ein erstellter Clip entspricht einem Credit, und fehlgeschlagene Schnitte werden nie berechnet. Kaufen Sie ein Paket für gelegentliche Nutzung oder abonnieren Sie für gleichmäßiges monatliches Volumen und ein höheres Rate Limit.

№ 01  /  Prepaid-Pakete

Zahlen nach Bedarf.

Einmaliger Kauf, keine Verlängerung. Credits bleiben 12 Monate gültig.

Starter-Paket
€5 einmalig

25 Credits · ≈ 25 Standard-Clips

12 Monate gültig

Jetzt starten
PAYG-Paket Bestes Preis-Leistungs-Verhältnis
€25 einmalig

150 Credits · ≈ 150 Standard-Clips

12 Monate gültig · €0,17 / Credit

Jetzt starten

№ 02  /  Abos

Jeden Monat schneiden.

Credits werden jede Periode erneuert und Ihr Rate Limit steigt. Jederzeit kündbar.

Starter
€19 / Mon.

oder €190 / Jahr · 2 Monate gratis

250 Credits / Monat

  • 30 Anfragen / Stunde
  • Credits werden monatlich erneuert
  • Jederzeit kündbar
Jetzt starten
★ Am beliebtesten Pro
€49 / Mon.

oder €490 / Jahr · 2 Monate gratis

1000 Credits / Monat

  • 60 Anfragen / Stunde
  • Credits werden monatlich erneuert
  • Jederzeit kündbar
Jetzt starten
Wachstum
€149 / Mon.

oder €1490 / Jahr · 2 Monate gratis

5000 Credits / Monat

  • 120 Anfragen / Stunde
  • Credits werden monatlich erneuert
  • Jederzeit kündbar
Jetzt starten

Abonnements gewähren die Credits der gesamten Periode im Voraus und erhöhen Ihr Anfragen/Stunde-Limit. Beim Jahresabo zahlen Sie 10 Monate für 12.

№ 03  /  So funktionieren Credits

Was ein Schnitt kostet.

  • Standard-Clip (bis 1080p; nur Audio in jeder Auflösung)1 Credit
  • 4K (2160p) Video-Clip4 Credits
  • Quelle länger als 2 h (falls bekannt)+1 / Job
  • Stapel von N Clips (ZIP oder zusammengefügt)N × pro Clip

Beispielrechnung

Drei 1080p-Highlights + ein 4K-Clip aus einem 25-minütigen Video → 3×1 + 4 = 7 credits.

Ein 3-stündiger Podcast, zu einer MP3 geschnitten → 1 + 1 = 2 credits (die +1 ist der >2 h-Zuschlag).

№ 04  /  FAQ

Gut zu wissen.

Was ist ein Credit?

Ein erstellter Clip = ein Credit. 4K-Clips kosten 4, und bei einem Stapel wird mit der Anzahl der Clips multipliziert.

Verfallen Credits?

Paket-Credits bleiben 12 Monate gültig. Abo-Credits gelten für den Abrechnungszeitraum, in dem sie gewährt wurden.

Was ist das Anfragen/Stunde-Limit?

Wie viele API-Aufrufe Sie pro Stunde senden können. Pakete behalten den Standardwert von 30; Pro erhöht ihn auf 60 und Scale auf 120.

Kann ich jederzeit kündigen?

Ja. Abonnements lassen sich mit einem Klick kündigen; bereits gewährte Credits behalten Sie, bis sie verfallen.

Was passiert, wenn ein Schnitt fehlschlägt?

Fehlgeschlagene Schnitte werden nie berechnet — reservierte Credits werden automatisch zurückerstattet, solange die Gewährung noch gültig ist.

Kann ich Pakete mit einem Abo kombinieren?

Ja. Paket- und Abo-Credits addieren sich; das Guthaben, das zuerst abläuft, wird immer zuerst verbraucht.