GET/api/v1/assets
Listar Multimedia
Tus archivos (vídeos, audios, imágenes, documentos) con su id, tipo y estado. Los punteros de entrega no vienen aquí porque caducan: pídelos de uno en uno con la ficha del asset. Lo que sí traen las imágenes, audios y archivos ya listos es public_url, la dirección estable bajo tu dominio para usarla tal cual en el HTML de tu web.
Parámetros de consulta
starting_afterinteger
Cursor: devuelve archivos con id mayor que este.
kindstring
Filtra por tipo de archivo.Valores: video · audio · image · file
curl "https://www.clonify.com/api/v1/assets" \
-H "Authorization: Bearer clk_live_…"
{
"object": "list",
"data": [{
"object": "asset",
"id": 42,
"kind": "image",
"title": "Portada del curso",
"file_name": "portada.webp",
"mime_type": "image/webp",
"file_size_bytes": 48210,
"duration_seconds": null,
"status": "ready",
"folder_id": null,
"public_url": "https://example.com/media/42",
"created_at": "2026-06-11T09:00:00.000Z",
"updated_at": "2026-06-11T09:00:00.000Z"
}],
"has_more": false,
"next_starting_after": null
}
POST/api/v1/assets
Subir un archivo a Multimedia
Sube un archivo a tu Multimedia. Manda url (un enlace) o file_base64 (los bytes), uno de los dos. El VÍDEO solo por url, sin límite de tamaño: lo descarga nuestro motor y queda en processing unos minutos hasta que está listo. Lo demás queda disponible al instante, y las imágenes se optimizan a WebP por el camino. Ocupa espacio de almacenamiento de tu plan: sin sitio, 403.
Permiso de escritura
Cuerpo (JSON)
urlstring (URL)
Enlace http(s) accesible al archivo. La vía buena, y la única para vídeo.
file_base64string (base64)
Los bytes en base64, sin el prefijo «data:». Solo archivos pequeños (unos 3 MB): el resto, por url.
file_namestring ..255
Nombre con su extensión. Obligatorio con file_base64; con url se deduce del enlace.
kindstring
Valores: video · audio · image · file
curl -X POST "https://www.clonify.com/api/v1/assets" \
-H "Authorization: Bearer clk_live_…" \
-H "Content-Type: application/json" \
-d '{"url":"…","file_base64":"…"}'
{
"object": "asset",
"id": 118,
"kind": "video",
"title": "Clase 1",
"file_name": "clase-1.mp4",
"status": "processing",
"public_url": null
}
GET/api/v1/assets/{id}
Leer un asset de Multimedia
La ficha de un archivo de tu Multimedia y cómo entregarlo: los vídeos traen embed_url (iframe firmado, listo para incrustar) y el resto (imagen, audio, archivo) trae download_url. Úsalo para resolver las acciones { type: "asset", asset_id } que devuelve el chat, igual que resuelves los productos con su ficha. Solo se sirven assets ya procesados. Uno en proceso da 404.
curl "https://www.clonify.com/api/v1/assets/1" \
-H "Authorization: Bearer clk_live_…"
{
"object": "asset",
"id": 42,
"kind": "file",
"title": "Plantilla de avatar de cliente",
"file_name": "plantilla-avatar.pdf",
"mime_type": "application/pdf",
"file_size_bytes": 183422,
"duration_seconds": null,
"embed_url": null,
"download_url": "https://www.clonify.com/api/v1/assets/42/download"
}
GET/api/v1/assets/{id}/download
Descargar los bytes de un asset
Los bytes del archivo (imagen, audio o documento), con la misma llave que el resto de la API: NO es un enlace público para reenviar a un usuario final. Tu sistema descarga el archivo y lo re-entrega en su plataforma (adjunto de Discord, media de Telegram…). Admite la cabecera Range. Los vídeos no se descargan: se incrustan con el embed_url de la ficha.
curl "https://www.clonify.com/api/v1/assets/1/download" \
-H "Authorization: Bearer clk_live_…"