ClonifyDevelopersOpen panel

Getting started

  • Authentication
  • Errors
  • Pagination
  • Rate limits
  • Webhooks
  • For AI agents
  • MCP server

API reference

  • Student learning activity6
  • External API deliveries6
  • Chat with the clone1
  • Contacts & tags5
  • Academy access4
  • Conversations4
  • Product catalogue11
  • External sales2
  • Knowledge12
  • Multimedia4
  • Clones (versions in the API)3
  • Meetings & bookings3
  • Webinars6
  • Account & usage1
Clonify

Multimedia

GET/api/v1/assets

List Multimedia

Your files (videos, audios, images, documents) with their id, kind and status. Delivery pointers are not here because they expire: ask for them one at a time with the asset card. What images, audios and files that are ready do carry is public_url, the stable address under your own domain, ready to drop into your site's HTML.

Query parameters

limitinteger 1..200
starting_afterinteger

Cursor: returns files with id greater than this.

kindstring

Filter by file kind.Values: video · audio · image · file

bash
curl "https://www.clonify.com/api/v1/assets" \
  -H "Authorization: Bearer clk_live_…"
json
{
  "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

Upload a file to Multimedia

Uploads a file to your Multimedia library. Send url (a link) or file_base64 (the bytes), one of the two. VIDEO only by url, with no size limit: our engine downloads it and it stays in processing for a few minutes until it is ready. Everything else is available instantly, and images are optimised to WebP on the way in. It uses your plan's storage: with no room left, 403.

Write permission

Body (JSON)

urlstring (URL)

Publicly reachable http(s) link to the file. The good path, and the only one for video.

file_base64string (base64)

The bytes in base64, without the "data:" prefix. Small files only (about 3 MB); anything bigger goes by url.

file_namestring ..255

Name with its extension. Required with file_base64; with url it is taken from the link.

titlestring ..200
kindstring

Values: video · audio · image · file

folder_idinteger
bash
curl -X POST "https://www.clonify.com/api/v1/assets" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"url":"…","file_base64":"…"}'
json
{
  "object": "asset",
  "id": 118,
  "kind": "video",
  "title": "Clase 1",
  "file_name": "clase-1.mp4",
  "status": "processing",
  "public_url": null
}
GET/api/v1/assets/{id}

Read a Multimedia asset

One file from your Multimedia library and how to deliver it: videos come with embed_url (signed iframe, ready to embed) and everything else (image, audio, file) comes with download_url. Use it to resolve the { type: "asset", asset_id } actions returned by the chat, the same way you resolve products with their card. Only fully-processed assets are served. One still processing returns 404.

Path parameters

idintegerrequired
bash
curl "https://www.clonify.com/api/v1/assets/1" \
  -H "Authorization: Bearer clk_live_…"
json
{
  "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

Download an asset's bytes

The file's bytes (image, audio or document), using the same key as the rest of the API: this is NOT a public link to forward to an end user. Your system downloads the file and re-delivers it on its platform (Discord attachment, Telegram media…). Supports the Range header. Videos are not downloaded: embed them with the card's embed_url.

Path parameters

idintegerrequired
bash
curl "https://www.clonify.com/api/v1/assets/1/download" \
  -H "Authorization: Bearer clk_live_…"