Alguien en Brasil cortó un clip de 18 segundos hace 1 minuto

Se han cortado 201442 clips con AppsGolem.

API para desarrolladores · Servidor MCP

Corta clips de YouTube desde tu código.

Una API REST sencilla y un servidor MCP para agentes de AI — todo lo que hace el cortador web, mediante código. Créditos de prepago, sin suscripción.

API + MCP para agentes de código →

# 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"}'
Cómo funciona

¿Eres nuevo aquí? Todo el modelo en un minuto.

Compras créditos prepagados, creas una clave de API y llamas a un único endpoint para cortar un clip. El corte es asíncrono: envías un job, consultas su estado hasta que se produce y luego descargas el archivo desde una URL con token. El servidor MCP envuelve todo eso en una sola llamada de herramienta para agentes de IA. Sin suscripción, sin asientos — pagas por cada clip producido.

1 · Autenticarse
Envía tu clave como Authorization: Bearer ag_live_… en cada solicitud.
2 · Enviar y consultar
POST /v1/cuts devuelve un id de job; consulta GET /v1/cuts/{id} hasta que se produzca.
3 · Descargar
Obtén el download_url del job producido — no se necesita cabecera, el token lo autoriza.
Inicio rápido

De cero a un clip en cuatro llamadas.

01
Crea una clave de 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
Envía un corte
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
Consulta la URL de descarga
# GET /v1/cuts/{id} — repeat every few seconds until state is produced
{ "state": "produced",
  "download_url": "/v1/download/…/clip.mp4" }
Los estados pasan por accepted → queued → produced → delivered (o failed → refunded). Un clip corto suele estar listo en segundos; consulta cada 3–5 s.
Los enlaces de descarga caducan 72 horas después de generarse el clip — descárguelo dentro de ese plazo.
04
Descarga el clip
La URL con token transmite el MP4 — reutilizable hasta que caduca. La herramienta MCP cut_youtube_video hace los pasos 2–4 por ti en una sola llamada.
Para agentes de AI · MCP

Una línea para Claude, Cursor y Codex.

El servidor MCP expone el cortador como tres herramientas que cualquier cliente MCP puede llamar. Instálalo con npx — no hay nada que instalar globalmente.

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()
Envía un corte (cualquier modo, opciones o un array de clips) y recibe de vuelta una URL de descarga.
get_cut_status()
Consulta un trabajo por id y obtén su URL de descarga.
get_account_balance()
Tus créditos disponibles y tu límite por hora.
Qué decirle a tu agente — todas las funciones
“Cortar de 0:30 a 1:15 de un vídeo en 1080p”
cut_youtube_video(url, start="0:30", end="1:15", resolution="1080p")
“Extraer el audio de ese vídeo de 2:00–5:00 como MP3 de 320 kbps”
cut_youtube_video(…, mode="audio_only", audio_format="mp3", bitrate="320")
“Exportar el vídeo y un MP3 de los primeros 30 segundos”
cut_youtube_video(…, end="0:30", mode="both")
“Crear un short vertical 9:16 del momento destacado 10:00–10:45”
cut_youtube_video(…, start="10:00", end="10:45", mode="short")
“Convertir 0:05–0:12 en un GIF”
cut_youtube_video(…, mode="gif")
“Extraer un contact sheet de fotogramas cada 5 segundos de 1:00–2:00”
cut_youtube_video(…, mode="frames", interval_ms=5000, sheet=true)
“Stitch 0:10–0:20 y 1:00–1:10 en un solo clip”
cut_youtube_video(url, clips=[…], stitch=true)
“Hacer un corte fast en stream-copy de los primeros 30 segundos”
cut_youtube_video(…, end="0:30", fast=true)
“Cortar 0:00–0:20 a una velocidad de 1.5×, en 4K”
cut_youtube_video(…, speed=1.5, resolution="2160p")
“¿Cuántos créditos de API me quedan?”
get_account_balance()
“Consultar el job e48d…b1a2”
get_cut_status(job_id="e48d…b1a2")
El agente rellena los parámetros a partir de tu solicitud — no escribes JSON.
Referencia de la API

Cada endpoint, con ejemplos.

Cuatro endpoints. Los tres endpoints de lectura/escritura requieren Authorization: Bearer <key>; la URL de descarga está autorizada por su propio token, así que no necesita cabecera.

POST /v1/cuts Bearer
Solicitud · video
{ "url": "https://youtu.be/aqz-KE-bpKQ",
  "start": "0:00", "end": "0:10",
  "resolution": "1080p", "mode": "video" }
Respuesta · 202 Accepted
{ "id": "e48db1a2-…", "state": "queued", "credits_reserved": 1, "poll_url": "/v1/cuts/e48db1a2-…" }
Indica start+end o un array clips (1–10 ventanas). Añade una cabecera Idempotency-Key (≤200 caracteres) para que una solicitud reintentada reutilice el mismo job en lugar de cobrar dos veces.
Cuerpo de la solicitud por modo
audio_onlymp3 · m4a · wav · flac
{ "url":"youtu.be/…", "start":"2:00", "end":"5:00",
  "mode":"audio_only",
  "audio_format":"mp3", "bitrate":"320" }
bothMP4 + MP3, en zip
{ "url":"youtu.be/…", "start":"0:00", "end":"0:30",
  "mode":"both", "resolution":"1080p" }
short9:16 smart-crop por IA
{ "url":"youtu.be/…", "start":"10:00", "end":"10:45",
  "mode":"short" }
nosoundMP4, sin audio
{ "url":"youtu.be/…", "start":"0:00", "end":"0:15",
  "mode":"nosound", "fast":true }
gif≤ 5 min, un solo clip
{ "url":"youtu.be/…", "start":"0:05", "end":"0:12",
  "mode":"gif" }
framesFotogramas JPG · ≤ 1800
{ "url":"youtu.be/…", "start":"1:00", "end":"2:00",
  "mode":"frames", "interval_ms":5000,
  "sheet":true }
clips + stitch1–10 → un solo archivo
{ "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
Respuesta · 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 es uno de: accepted · queued · produced · delivered · failed · refunded. download_url aparece cuando un token está listo — si está ausente, vuelve a consultar.
GET /v1/account Bearer
Respuesta · 200
{ "balance": 412, "hourly_cap": 60 }
GET /v1/download/{token}/{file} Token en la URL
Respuesta · 200
# streams the file
Content-Type: video/mp4
Content-Disposition: attachment; filename="clip.mp4"
Sin cabecera Bearer — el token en la ruta lo autoriza. La URL es reutilizable hasta que caduca.
Errores

Cada fallo devuelve un cuerpo JSON con un código error y el estado HTTP. Reintenta un 429 tras retry_after segundos; corrige y reenvía ante un 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
Límite de tasa: Solo los envíos de recorte están limitados por frecuencia — los envíos/hora de tu plan (consulta Precios). Consultar el progreso de un trabajo no está limitado en uso normal, así que el sondeo nunca cuenta para ese límite. Respeta poll_after en cada respuesta (y Retry-After en el raro caso de un 429); la herramienta MCP se encarga de este ritmo por ti con wait=true.
Capacidades

Todos los modos del cortador web.

MODE video
MP4 hasta 4K
144p–2160p, 60fps, sin marca de agua.
MODE audio_only
Audio
mp3 / m4a / wav / flac, bitrate seleccionable.
MODE both
Video + audio
MP4 y MP3 juntos, en un zip.
MODE nosound
Vídeo sin audio
Vídeo sin la pista de audio.
MODE short
vertical 9:16
Recorte inteligente con AI para Shorts, Reels y TikTok; recurre a bandas negras difuminadas cuando no está disponible.
MODE gif
GIF animado
Hasta 5 minutos, directamente desde un clip.
MODE frames
Fotogramas JPG
Cada 100ms–10s, marcas de tiempo + hoja de contactos.
OPTION fast
Modo rápido
Copia de flujo (stream-copy), unas 10× más rápida; conserva el contenedor original (WebM en 1440p/2160p).
OPTION speed
Velocidad 0.5–2×
Reajusta la velocidad de reproducción al exportar.
OPTION clips
Unión de varios clips
Hasta 10 ventanas unidas en un solo archivo.
Referencia

Parámetros

Campo
Tipo
Notas
url
string
URL de YouTube watch / share / youtu.be.
start, end
string
"SS" / "MM:SS" / "HH:MM:SS" (≤ 300h). Omítelo si usas clips.
resolution
enum
144p · 240p · 360p · 480p · 720p · 1080p · 1440p · 2160p (4K; corte total ≤ 60 min).
mode
enum
video · audio_only · both · nosound · short · gif · frames.
audio_format
enum
mp3 · m4a · wav · flac — solo para audio_only; both siempre es MP3.
bitrate
enum
Bitrate con pérdida 320 · 256 · 192 · 128 kbps — MP3/M4A (audio_only), MP3 (both); ignorado para wav/flac.
fast
boolean
Stream-copy, unas 10× más rápido — solo video, nosound, both; fuerza speed a 1×.
speed
number
Velocidad de reproducción 0.5 · 1 · 1.25 · 1.5 · 2 — video, nosound, both, audio_only.
interval_ms
integer
Muestreo de fotogramas: 100 · 500 · 1000 · 2000 · 5000 · 10000 ms; ≤ 1800 JPG en total.
burn_ts
boolean
Fotogramas — incrusta la marca de tiempo de origen en cada JPG.
sheet
boolean
Fotogramas — un único JPG en formato hoja de contactos (un solo clip); desactiva burn_ts.
clips
array
1–10 ventanas {start,end}; activa stitch para unirlas en un solo archivo.
stitch
boolean
Con clips, los une en un solo archivo — video, audio_only, both, short, nosound.
Idempotency-Key
header
Se envía como cabecera HTTP (≤ 200 caracteres), no como campo del cuerpo — los reintentos reutilizan el mismo trabajo.
Extremos: POST /v1/cuts · GET /v1/cuts/{id} · GET /v1/account — Autenticado con Bearer.
GET /v1/download/{token}/{file} — autenticado mediante el token de la URL, sin cabecera Bearer.
Precios

Paga por clips, no por asientos.

Los créditos prepago impulsan la API de recorte de AppsGolem & el servidor MCP — cada clip generado es un crédito, y los recortes fallidos nunca se cobran. Compra un pack para uso ocasional, o suscríbete para un volumen mensual constante y un límite de solicitudes más alto.

№ 01  /  Paquetes prepago

Pago por uso.

Compra única, sin renovación. Los créditos son válidos durante 12 meses.

Pack inicial
€5 pago único

25 créditos · ≈ 25 clips estándar

Válido 12 meses

Empezar
Pack PAYG La mejor relación calidad-precio
€25 pago único

150 créditos · ≈ 150 clips estándar

Válido 12 meses · €0,17 / crédito

Empezar

№ 02  /  Suscripciones

Recorta cada mes.

Los créditos se renuevan cada periodo y tu límite de solicitudes aumenta. Cancela cuando quieras.

Inicial
€19 / mes

o €190 / año · 2 meses gratis

250 créditos / mes

  • 30 solicitudes / hora
  • Los créditos se renuevan mensualmente
  • Cancela cuando quieras
Empezar
★ Más popular Pro
€49 / mes

o €490 / año · 2 meses gratis

1000 créditos / mes

  • 60 solicitudes / hora
  • Los créditos se renuevan mensualmente
  • Cancela cuando quieras
Empezar
Escala
€149 / mes

o €1490 / año · 2 meses gratis

5000 créditos / mes

  • 120 solicitudes / hora
  • Los créditos se renuevan mensualmente
  • Cancela cuando quieras
Empezar

Las suscripciones otorgan por adelantado los créditos de todo el periodo y aumentan tu límite de solicitudes/hora. Los planes anuales cobran 10 meses por 12.

№ 03  /  Cómo funcionan los créditos

Cuánto cuesta un recorte.

  • Clip estándar (hasta 1080p; solo audio en cualquier resolución)1 crédito
  • Clip de vídeo 4K (2160p)4 créditos
  • Fuente de más de 2 h (cuando se conoce)+1 / tarea
  • Lote de N clips (zip o unidos)N × por clip

Ejemplo práctico

Tres momentos destacados en 1080p + un clip en 4K de un vídeo de 25 minutos → 3×1 + 4 = 7 credits.

Un pódcast de 3 horas recortado a un MP3 → 1 + 1 = 2 credits (el +1 es el recargo por >2 h).

№ 04  /  FAQ

Es bueno saberlo.

¿Qué es un crédito?

Un clip generado = un crédito. Los clips 4K cuestan 4, y un lote se multiplica por el número de clips.

¿Caducan los créditos?

Los créditos de un pack son válidos durante 12 meses. Los créditos de suscripción duran el periodo de facturación en el que se concedieron.

¿Cuál es el límite de solicitudes/hora?

Cuántas llamadas a la API puedes hacer por hora. Los packs mantienen el valor predeterminado de 30; Pro lo eleva a 60 y Scale a 120.

¿Puedo cancelar cuando quiera?

Sí. Las suscripciones se cancelan con un clic; conservas los créditos ya concedidos hasta que caduquen.

¿Qué pasa si falla un recorte?

Los recortes fallidos nunca se cobran: los créditos reservados se reembolsan automáticamente mientras la concesión siga vigente.

¿Puedo combinar packs y un plan?

Sí. Los créditos de pack y de suscripción se acumulan; siempre se gasta primero el lote que caduca antes.