Noen i Brasil klippet et 15-sekunders klipp 11 minutter siden

201441 klipp har blitt klippet med AppsGolem.

Utvikler-API · MCP-server

Klipp YouTube-klipp fra koden din.

Et enkelt REST API og en MCP-server for AI-agenter — alt nettklipperen gjør, programmatisk. Forhåndsbetalte kreditter, ikke noe abonnement.

API + MCP for kodeagenter →

# 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"}'
Slik fungerer det

Ny her? Hele modellen på ett minutt.

Du kjøper forhåndsbetalte credits, oppretter en API-nøkkel og kaller et endepunkt for å klippe et klipp. Klipping er asynkron: du sender inn et jobb, poller til det er produsert, og laster deretter ned filen fra en tokenisert URL. MCP-serveren pakker alt dette inn i ett enkelt verktøykall for AI-agenter. Ingen abonnement, ingen seats — du betaler per produserte klipp.

1 · Autentiser
Send nøkkelen din som Authorization: Bearer ag_live_… med hver forespørsel.
2 · Send inn & poll
POST /v1/cuts returnerer en jobb-id; poll GET /v1/cuts/{id} til den er produsert.
3 · Last ned
Hent download_url fra det produserte jobbet — ingen header nødvendig, tokenet autoriserer den.
Hurtigstart

Fra null til et klipp på fire kall.

01
Opprett en API-nøkkel
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
Send inn en klippejobb
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
Spør om nedlastings-URL-en
# GET /v1/cuts/{id} — repeat every few seconds until state is produced
{ "state": "produced",
  "download_url": "/v1/download/…/clip.mp4" }
Status beveger seg accepted → queued → produced → delivered (eller failed → refunded). Et kort klipp er vanligvis klart på sekunder; poll hvert 3–5 s.
Nedlastingslenker utløper 72 timer etter at klippet er produsert — hent det innenfor dette tidsvinduet.
04
Last ned klippet
Den tokeniserte URL-en strømmer MP4-en — gjenbrukbar til den utløper. MCP-verktøyet cut_youtube_video gjør steg 2–4 for deg i ett kall.
For AI-agenter · MCP

Én linje for Claude, Cursor & Codex.

MCP-serveren eksponerer klipperen som tre verktøy enhver MCP-klient kan kalle. Installer med npx — ingenting å installere globalt.

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()
Send inn en klippejobb (hvilken som helst modus, alternativer, eller et klipp-array) og få tilbake en nedlastings-URL.
get_cut_status()
Sjekk en jobb med id og hent nedlastings-URL-en.
get_account_balance()
Dine tilgjengelige kreditter og timesgrense.
Hva du kan si til agenten din — alle funksjoner
“Klipp en video fra 0:30 til 1:15 i 1080p”
cut_youtube_video(url, start="0:30", end="1:15", resolution="1080p")
“Hent lyden fra videoen fra 2:00–5:00 som en 320 kbps MP3”
cut_youtube_video(…, mode="audio_only", audio_format="mp3", bitrate="320")
“Eksporter videoen og en MP3 av de første 30 sekundene”
cut_youtube_video(…, end="0:30", mode="both")
“Lag en vertikal 9:16-short av høydepunktet fra 10:00–10:45”
cut_youtube_video(…, start="10:00", end="10:45", mode="short")
“Gjør 0:05–0:12 om til en GIF”
cut_youtube_video(…, mode="gif")
“Lag et contact sheet med ett bilde hvert 5. sekund fra 1:00–2:00”
cut_youtube_video(…, mode="frames", interval_ms=5000, sheet=true)
“Stitch 0:10–0:20 og 1:00–1:10 sammen til én klipp”
cut_youtube_video(url, clips=[…], stitch=true)
“Gjør et fast, stream-copy-klipp av de første 30 sekundene”
cut_youtube_video(…, end="0:30", fast=true)
“Klipp 0:00–0:20 med 1.5× hastighet, i 4K”
cut_youtube_video(…, speed=1.5, resolution="2160p")
“Hvor mange API-credits har jeg igjen?”
get_account_balance()
“Sjekk status på jobb e48d…b1a2”
get_cut_status(job_id="e48d…b1a2")
Agenten fyller ut parameterne basert på forespørselen din — du skriver ikke JSON.
API-referanse

Hvert endepunkt, med eksempler.

Fire endepunkter. De tre lese-/skriveendepunktene krever Authorization: Bearer <key>; nedlastings-URL-en autoriseres av sitt eget token og trenger derfor ingen header.

POST /v1/cuts Bearer
Forespørsel · video
{ "url": "https://youtu.be/aqz-KE-bpKQ",
  "start": "0:00", "end": "0:10",
  "resolution": "1080p", "mode": "video" }
Svar · 202 Accepted
{ "id": "e48db1a2-…", "state": "queued", "credits_reserved": 1, "poll_url": "/v1/cuts/e48db1a2-…" }
Send enten start+end eller et clips-array (1–10 vinduer). Legg til en Idempotency-Key-header (≤200 tegn), slik at en gjentatt forespørsel gjenbruker samme jobb i stedet for å bli belastet to ganger.
Forespørselsinnhold per 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, zippet
{ "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, uten lyd
{ "url":"youtu.be/…", "start":"0:00", "end":"0:15",
  "mode":"nosound", "fast":true }
gif≤ 5 min, ett klipp
{ "url":"youtu.be/…", "start":"0:05", "end":"0:12",
  "mode":"gif" }
framesJPG-stillbilder · ≤ 1800
{ "url":"youtu.be/…", "start":"1:00", "end":"2:00",
  "mode":"frames", "interval_ms":5000,
  "sheet":true }
clips + stitch1–10 → én fil
{ "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
Svar · 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 er en av accepted · queued · produced · delivered · failed · refunded. download_url vises når et token er klart — hvis det mangler, poll på nytt.
GET /v1/account Bearer
Svar · 200
{ "balance": 412, "hourly_cap": 60 }
GET /v1/download/{token}/{file} Token i URL
Svar · 200
# streams the file
Content-Type: video/mp4
Content-Disposition: attachment; filename="clip.mp4"
Ingen Bearer-header — tokenet i stien autoriserer den. URL-en kan gjenbrukes til den utløper.
Feil

Hver feil returnerer en JSON-body med en error-kode og HTTP-statusen. Prøv 429 på nytt etter retry_after sekunder; rett opp og send inn på nytt ved en 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
Rate limit: Bare klippinnsendinger er hastighetsbegrensede — innsendinger/time for planen din (se Priser). Å sjekke fremdriften til en jobb er ikke hastighetsbegrenset ved normal bruk, så polling teller aldri mot den grensen. Følg poll_after i hvert svar (og Retry-After ved den sjeldne 429); MCP-verktøyet styrer tempoet for deg med wait=true.
Funksjoner

Alle modusene nettklipperen har.

MODE video
MP4 opp til 4K
144p–2160p, 60fps, uten vannmerke.
MODE audio_only
Lyd
mp3 / m4a / wav / flac, valgbar bitrate.
MODE both
Video + lyd
MP4 og MP3 sammen, som en zip-fil.
MODE nosound
Video uten lyd
Video uten lydspor.
MODE short
9:16 stående format
AI smart-beskjæring for Shorts, Reels og TikTok; faller tilbake på uskarp letterboxing når det ikke er tilgjengelig.
MODE gif
Animert GIF
Opptil 5 minutter, rett fra et klipp.
MODE frames
JPG-bilder
Hver 100ms–10s, tidsstempler + kontaktark.
OPTION fast
Rask modus
Stream-kopiering, omtrent 10× raskere; beholder kildecontaineren (WebM ved 1440p/2160p).
OPTION speed
Hastighet 0.5–2×
Endre avspillingshastighet ved eksport.
OPTION clips
Sammenslåing av flere klipp
Opptil 10 vinduer, slått sammen til én fil.
Referanse

Parametere

Felt
Type
Merknader
url
string
YouTube watch / share / youtu.be URL.
start, end
string
"SS" / "MM:SS" / "HH:MM:SS" (≤ 300h). Utelates ved bruk av klipp.
resolution
enum
144p · 240p · 360p · 480p · 720p · 1080p · 1440p · 2160p (4K; total klippelengde ≤ 60 min).
mode
enum
video · audio_only · both · nosound · short · gif · frames.
audio_format
enum
mp3 · m4a · wav · flac — kun for audio_only; both er alltid MP3.
bitrate
enum
Tapsbehaftet bitrate 320 · 256 · 192 · 128 kbps — MP3/M4A (audio_only), MP3 (both); ignoreres for wav/flac.
fast
boolean
Streamkopiering, omtrent 10× raskere — kun video, nosound, both; tvinger hastighet til 1×.
speed
number
Avspillingshastighet 0.5 · 1 · 1.25 · 1.5 · 2 — video, nosound, both, audio_only.
interval_ms
integer
Sampling av bilder: 100 · 500 · 1000 · 2000 · 5000 · 10000 ms; ≤ 1800 JPG-er totalt.
burn_ts
boolean
Bilder — brenner kildens tidsstempel inn i hver JPG.
sheet
boolean
Bilder — én kontaktark-JPG (én klipp); deaktiverer burn_ts.
clips
array
1–10 {start,end}-vinduer; sett stitch for å slå dem sammen til én fil.
stitch
boolean
Med clips slår du dem sammen til én fil — video, audio_only, both, short, nosound.
Idempotency-Key
header
Sendes som en HTTP-header (≤ 200 tegn), ikke et body-felt — nye forsøk gjenbruker samme jobb.
Endepunkter: POST /v1/cuts · GET /v1/cuts/{id} · GET /v1/account — Bearer-autentisert.
GET /v1/download/{token}/{file} — autentisert via URL-tokenet, ingen Bearer-header.
Priser

Betal for klipp, ikke brukere.

Forhåndsbetalte kreditter driver AppsGolems cutter-API & MCP-server — ett produsert klipp er én kreditt, og mislykkede klipp blir aldri fakturert. Kjøp en pakke for sporadisk bruk, eller abonner for jevnt månedlig volum og en høyere rate limit.

№ 01  /  Forhåndsbetalte pakker

Betal etter bruk.

Engangskjøp, ingen fornyelse. Kreditter er gyldige i 12 måneder.

Starterpakke
€5 engangskjøp

25 kreditter · ≈ 25 standardklipp

Gyldig i 12 måneder

Kom i gang
PAYG-pakke Best verdi
€25 engangskjøp

150 kreditter · ≈ 150 standardklipp

Gyldig i 12 måneder · €0.17 / kreditt

Kom i gang

№ 02  /  Abonnementer

Klipp hver måned.

Kreditter fornyes hver periode, og rate limiten din øker. Kan sies opp når som helst.

Starter
€19 / mnd.

eller €190 / år · 2 måneder gratis

250 kreditter / måned

  • 30 forespørsler / time
  • Kreditter fornyes månedlig
  • Kan sies opp når som helst
Kom i gang
★ Mest populær Pro
€49 / mnd.

eller €490 / år · 2 måneder gratis

1000 kreditter / måned

  • 60 forespørsler / time
  • Kreditter fornyes månedlig
  • Kan sies opp når som helst
Kom i gang
Scale
€149 / mnd.

eller €1490 / år · 2 måneder gratis

5000 kreditter / måned

  • 120 forespørsler / time
  • Kreditter fornyes månedlig
  • Kan sies opp når som helst
Kom i gang

Abonnementer gir hele periodens kreditter på forhånd og øker forespørsler/time-grensen din. Årsabonnementer fakturerer 10 måneder for 12.

№ 03  /  Slik fungerer kreditter

Hva et klipp koster.

  • Standardklipp (opptil 1080p; kun lyd i enhver oppløsning)1 kreditt
  • 4K (2160p) videoklipp4 kreditter
  • Kilde lengre enn 2 h (når det er kjent)+1 / jobb
  • Batch med N klipp (zip eller sammensatt)N × per klipp

Utregnet eksempel

Tre 1080p-høydepunkter + ett 4K-klipp fra en 25-minutters video → 3×1 + 4 = 7 credits.

En 3-timers podcast klippet ned til én MP3 → 1 + 1 = 2 credits (+1 er >2 h-tillegget).

№ 04  /  FAQ

Godt å vite.

Hva er en kreditt?

Ett produsert klipp = én kreditt. 4K-klipp koster 4, og en batch multipliseres med antall klipp.

Utløper kreditter?

Pakkekreditter er gyldige i 12 måneder. Abonnementskreditter varer ut faktureringsperioden de ble tildelt i.

Hva er forespørsler/time-grensen?

Hvor mange API-kall du kan sende per time. Pakker beholder standarden på 30; Pro øker den til 60 og Scale til 120.

Kan jeg si opp når som helst?

Ja. Abonnementer sies opp med ett klikk; du beholder eventuelle allerede tildelte kreditter til de utløper.

Hva om et klipp mislykkes?

Mislykkede klipp blir aldri fakturert — reserverte kreditter refunderes automatisk så lenge tildelingen fortsatt er gyldig.

Kan jeg blande pakker og et abonnement?

Ja. Kreditter fra pakker og abonnement legges sammen; saldoen som utløper først, brukes alltid først.