# Uploadcare

> Upload files to Uploadcare's CDN and get public links, convert documents, images and videos, resize images, and manage, label and group your files.

App · File Storage · 9 actions. Web page: https://docs.lodol.com/docs/integrations/uploadcare

## Actions

### Convert a file

Turn a document, image, video or audio file into another format, such as Word to PDF, PDF to JPG or MOV to MP4. Returns the converted file's link, and the file ready to attach.

**Inputs**

- File (`file`, text, required): The file to convert: upload one, pick a file from an earlier step, or paste a public link or an Uploadcare file ID.
- Convert to (`convert_to`, text, required): The format to make. Converting documents, audio and video needs Uploadcare's Pro plan or free trial; images to JPG, PNG or WebP work on every plan. One of: `pdf`, `docx` (Word document (DOCX)), `jpg` (JPG image), `png` (PNG image), `webp` (WebP image), `txt` (Plain text (TXT)), `xlsx` (Excel spreadsheet (XLSX)), `csv`, `pptx` (PowerPoint (PPTX)), `html` (Web page (HTML)), and 16 more.
- Page (`page`, number): Optional, for a document turned into a JPG or PNG: the page to make an image of. Leave blank for every page, which comes back as a ZIP of images. At least 1.
- Save as (`save_as`, text): Optional. A name for the new file, such as invoice. Leave blank to keep the original name; the right extension is added.
- Delete after (`delete_after`, text): Never keeps the file for good. 1 day makes it temporary: Uploadcare deletes it after a day unless a 'Store a file' step keeps it. One of: `never`, `1_day` (1 day). Default: `never`.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `delete_after` (text): never when Uploadcare keeps the file, 1_day when it deletes it a day after upload.
- `deleted` (true/false): True once the file is deleted.
- `document_ref` (text): Reference to the file saved in Lodol, for a later step to attach. Empty when the file is over 200 MB; use url instead.
- `documents` (list): The file saved in Lodol, ready to attach.
- `duration_seconds` (number): Length in seconds, for a video; empty otherwise.
- `file_id` (text): Uploadcare's ID for the file (a UUID), for other steps.
- `filename` (text): The file's name.
- `height` (number): Height in pixels, for an image; empty otherwise.
- `is_image` (true/false): True when Uploadcare can process the file as an image.
- `metadata` (object): The names and values kept with the file.
- `size_bytes` (number): Size of the file in bytes.
- `source_file_id` (text): Uploadcare's ID for the file it was made from.
- `status` (text): Status of the action execution ("success" on success).
- `stored` (true/false): True when Uploadcare keeps the file for good; false for a temporary file it deletes a day after upload.
- `uploaded_at` (text): When the file was uploaded (ISO 8601, UTC).
- `url` (text): The file's public link on Uploadcare's CDN, ready to share, embed or download.
- `width` (number): Width in pixels, for an image; empty otherwise.

**Example output**

```json
{
  "content_type": "application/pdf",
  "delete_after": "never",
  "deleted": false,
  "document_ref": "doc_8f2a6c4e1b3d5f7a9c0e2b4d6f8a0c1e",
  "documents": [
    {
      "content_type": "application/pdf",
      "document_ref": "doc_8f2a6c4e1b3d5f7a9c0e2b4d6f8a0c1e",
      "filename": "proposal.pdf",
      "size_bytes": 182406,
      "url": "/actions/core/serve-document/doc_8f2a6c4e1b3d5f7a9c0e2b4d6f8a0c1e"
    }
  ],
  "duration_seconds": null,
  "file_id": "c7d2e1f0-9a8b-4c6d-8e5f-4a3b2c1d0e9f",
  "filename": "proposal.pdf",
  "height": null,
  "is_image": false,
  "metadata": {},
  "size_bytes": 182406,
  "source_file_id": "5e4d3c2b-1a09-4f8e-b7d6-c5b4a3928170",
  "status": "success",
  "stored": true,
  "uploaded_at": "2026-10-03T09:12:44.512730Z",
  "url": "https://a1b2c3d4e5.ucarecd.net/c7d2e1f0-9a8b-4c6d-8e5f-4a3b2c1d0e9f/proposal.pdf",
  "width": null
}
```

### Create a group

Gather several Uploadcare files under one link, with a ZIP download of them all.

**Inputs**

- Files (`files`, list, required): The files to gather, up to 1,000. Pick recent ones, or use files' IDs or links from earlier steps.

**Outputs**

- `files` (list): The files, in the order they were given.
- `files_count` (number): How many files the group holds.
- `group_id` (text): Uploadcare's ID for the group.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The group's public link, listing its files.
- `zip_url` (text): A link that downloads every file as one ZIP.

**Example output**

```json
{
  "files": [
    {
      "file_id": "8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f",
      "filename": "team-photo.jpg",
      "url": "https://a1b2c3d4e5.ucarecd.net/d1d8c4b0-3c3e-473b-b8b5-8f6c83e26787~2/nth/0/"
    },
    {
      "file_id": "3f5c2a9e-6b1d-4e8a-9c7f-2d4b6a8e0c13",
      "filename": "invoice-1042.pdf",
      "url": "https://a1b2c3d4e5.ucarecd.net/d1d8c4b0-3c3e-473b-b8b5-8f6c83e26787~2/nth/1/"
    }
  ],
  "files_count": 2,
  "group_id": "d1d8c4b0-3c3e-473b-b8b5-8f6c83e26787~2",
  "status": "success",
  "url": "https://a1b2c3d4e5.ucarecd.net/d1d8c4b0-3c3e-473b-b8b5-8f6c83e26787~2/",
  "zip_url": "https://a1b2c3d4e5.ucarecd.net/d1d8c4b0-3c3e-473b-b8b5-8f6c83e26787~2/archive/zip/"
}
```

### Delete a file

Delete a file from Uploadcare. Its link stops working; there is no undo.

**Inputs**

- File (`file`, text, required): The file to delete. Pick a recent one, or use a file's ID or link from an earlier step.

**Outputs**

- `deleted` (true/false): True once it is gone.
- `file_id` (text): Uploadcare's ID for the file (a UUID), for other steps.
- `filename` (text): The file's name.
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "deleted": true,
  "file_id": "3f5c2a9e-6b1d-4e8a-9c7f-2d4b6a8e0c13",
  "filename": "invoice-1042.pdf",
  "status": "success"
}
```

### Get a file

Look up a file on Uploadcare: its link, name, type, size, dimensions and metadata.

**Inputs**

- File (`file`, text, required): The file to look up. Pick a recent one, or use a file's ID or link from an earlier step.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `deleted` (true/false): True once the file is deleted.
- `duration_seconds` (number): Length in seconds, for a video; empty otherwise.
- `file_id` (text): Uploadcare's ID for the file (a UUID), for other steps.
- `filename` (text): The file's name.
- `height` (number): Height in pixels, for an image; empty otherwise.
- `is_image` (true/false): True when Uploadcare can process the file as an image.
- `metadata` (object): The names and values kept with the file.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `stored` (true/false): True when Uploadcare keeps the file for good; false for a temporary file it deletes a day after upload.
- `uploaded_at` (text): When the file was uploaded (ISO 8601, UTC).
- `url` (text): The file's public link on Uploadcare's CDN, ready to share, embed or download.
- `width` (number): Width in pixels, for an image; empty otherwise.

**Example output**

```json
{
  "content_type": "image/jpeg",
  "deleted": false,
  "duration_seconds": null,
  "file_id": "8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f",
  "filename": "team-photo.jpg",
  "height": 1600,
  "is_image": true,
  "metadata": {
    "order": "1042"
  },
  "size_bytes": 1204331,
  "status": "success",
  "stored": true,
  "uploaded_at": "2026-10-03T09:12:44.512730Z",
  "url": "https://a1b2c3d4e5.ucarecd.net/8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f/team-photo.jpg",
  "width": 2400
}
```

### List files

List the files in your Uploadcare project, newest first, optionally only those uploaded in a date range.

**Inputs**

- Show (`show`, text): Stored files are kept for good; temporary ones are deleted a day after upload. One of: `all` (All files), `stored` (Stored files), `temporary` (Temporary files), `deleted` (Deleted files). Default: `all`.
- Uploaded after (`uploaded_after`, date and time): Optional. Only files uploaded after this moment.
- Uploaded before (`uploaded_before`, date and time): Optional. Only files uploaded before this moment.
- How many (`limit`, number): The most files to list, newest first, up to 1,000. From 1 to 1000. Default: `100`.

**Outputs**

- `count` (number): How many files came back.
- `files` (list): The files, newest first.
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "count": 2,
  "files": [
    {
      "content_type": "image/jpeg",
      "deleted": false,
      "duration_seconds": null,
      "file_id": "8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f",
      "filename": "team-photo.jpg",
      "height": 1600,
      "is_image": true,
      "metadata": {
        "order": "1042"
      },
      "size_bytes": 1204331,
      "stored": true,
      "uploaded_at": "2026-10-03T09:12:44.512730Z",
      "url": "https://a1b2c3d4e5.ucarecd.net/8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f/team-photo.jpg",
      "width": 2400
    },
    {
      "content_type": "application/pdf",
      "deleted": false,
      "duration_seconds": null,
      "file_id": "3f5c2a9e-6b1d-4e8a-9c7f-2d4b6a8e0c13",
      "filename": "invoice-1042.pdf",
      "height": null,
      "is_image": false,
      "metadata": {},
      "size_bytes": 48213,
      "stored": true,
      "uploaded_at": "2026-10-03T09:12:44.512730Z",
      "url": "https://a1b2c3d4e5.ucarecd.net/3f5c2a9e-6b1d-4e8a-9c7f-2d4b6a8e0c13/invoice-1042.pdf",
      "width": null
    }
  ],
  "status": "success"
}
```

### Resize an image

Make a resized copy of an image, such as a thumbnail or a social-media size, and get its link and the image ready to attach.

**Inputs**

- Image (`image`, text, required): The image to resize: upload one, pick an image from an earlier step, or paste a public link or an Uploadcare file ID.
- Width (`width`, number): In pixels, up to 3,000. Leave blank to follow the height and keep the proportions. From 1 to 3000.
- Height (`height`, number): In pixels, up to 3,000. Leave blank to follow the width and keep the proportions. From 1 to 3000.
- Fit (`fit`, text): With both a width and a height: keep the whole image inside that size, or fill it exactly and crop what spills over. One of: `fit` (Fit inside, keeping proportions), `fill` (Fill the size, cropping the edges). Default: `fit`.
- Save as (`save_as`, text): Optional. A name for the new file, such as invoice. Leave blank to keep the original name; the right extension is added.
- Delete after (`delete_after`, text): Never keeps the file for good. 1 day makes it temporary: Uploadcare deletes it after a day unless a 'Store a file' step keeps it. One of: `never`, `1_day` (1 day). Default: `never`.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `delete_after` (text): never when Uploadcare keeps the file, 1_day when it deletes it a day after upload.
- `deleted` (true/false): True once the file is deleted.
- `document_ref` (text): Reference to the file saved in Lodol, for a later step to attach. Empty when the file is over 200 MB; use url instead.
- `documents` (list): The file saved in Lodol, ready to attach.
- `duration_seconds` (number): Length in seconds, for a video; empty otherwise.
- `file_id` (text): Uploadcare's ID for the file (a UUID), for other steps.
- `filename` (text): The file's name.
- `height` (number): Height in pixels, for an image; empty otherwise.
- `is_image` (true/false): True when Uploadcare can process the file as an image.
- `metadata` (object): The names and values kept with the file.
- `size_bytes` (number): Size of the file in bytes.
- `source_file_id` (text): Uploadcare's ID for the file it was made from.
- `status` (text): Status of the action execution ("success" on success).
- `stored` (true/false): True when Uploadcare keeps the file for good; false for a temporary file it deletes a day after upload.
- `uploaded_at` (text): When the file was uploaded (ISO 8601, UTC).
- `url` (text): The file's public link on Uploadcare's CDN, ready to share, embed or download.
- `width` (number): Width in pixels, for an image; empty otherwise.

**Example output**

```json
{
  "content_type": "image/jpeg",
  "delete_after": "never",
  "deleted": false,
  "document_ref": "doc_1d3f5a7c9e0b2d4f6a8c0e1b3d5f7a9c",
  "documents": [
    {
      "content_type": "image/jpeg",
      "document_ref": "doc_1d3f5a7c9e0b2d4f6a8c0e1b3d5f7a9c",
      "filename": "team-photo.jpg",
      "size_bytes": 96512,
      "url": "/actions/core/serve-document/doc_1d3f5a7c9e0b2d4f6a8c0e1b3d5f7a9c"
    }
  ],
  "duration_seconds": null,
  "file_id": "b9a8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d",
  "filename": "team-photo.jpg",
  "height": 400,
  "is_image": true,
  "metadata": {},
  "size_bytes": 96512,
  "source_file_id": "8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f",
  "status": "success",
  "stored": true,
  "uploaded_at": "2026-10-03T09:12:44.512730Z",
  "url": "https://a1b2c3d4e5.ucarecd.net/b9a8c7d6-e5f4-4a3b-8c2d-1e0f9a8b7c6d/team-photo.jpg",
  "width": 600
}
```

### Store a file

Keep a temporary file for good, such as one sent through Uploadcare's File Uploader on your website. Uploadcare otherwise deletes it a day after upload.

**Inputs**

- File (`file`, text, required): The file to keep. Pick a recent one, or use a file's ID or link from an earlier step.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `deleted` (true/false): True once the file is deleted.
- `duration_seconds` (number): Length in seconds, for a video; empty otherwise.
- `file_id` (text): Uploadcare's ID for the file (a UUID), for other steps.
- `filename` (text): The file's name.
- `height` (number): Height in pixels, for an image; empty otherwise.
- `is_image` (true/false): True when Uploadcare can process the file as an image.
- `metadata` (object): The names and values kept with the file.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `stored` (true/false): True when Uploadcare keeps the file for good; false for a temporary file it deletes a day after upload.
- `uploaded_at` (text): When the file was uploaded (ISO 8601, UTC).
- `url` (text): The file's public link on Uploadcare's CDN, ready to share, embed or download.
- `width` (number): Width in pixels, for an image; empty otherwise.

**Example output**

```json
{
  "content_type": "image/jpeg",
  "deleted": false,
  "duration_seconds": null,
  "file_id": "8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f",
  "filename": "team-photo.jpg",
  "height": 1600,
  "is_image": true,
  "metadata": {
    "order": "1042"
  },
  "size_bytes": 1204331,
  "status": "success",
  "stored": true,
  "uploaded_at": "2026-10-03T09:12:44.512730Z",
  "url": "https://a1b2c3d4e5.ucarecd.net/8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f/team-photo.jpg",
  "width": 2400
}
```

### Update a file's metadata

Add, change or remove the names and values kept with a file, such as an order number or a customer ID.

**Inputs**

- File (`file`, text, required): The file to label. Pick a recent one, or use a file's ID or link from an earlier step.
- Metadata (`metadata`, object, required): Names and values to set. Names you leave out stay as they are; leave a value empty to remove that name. Names use letters, digits, '_', '-', '.' or ':'.

**Outputs**

- `file_id` (text): Uploadcare's ID for the file (a UUID), for other steps.
- `filename` (text): The file's name.
- `metadata` (object): All the file's metadata after the change.
- `status` (text): Status of the action execution ("success" on success).
- `url` (text): The file's public link on Uploadcare's CDN, ready to share, embed or download.

**Example output**

```json
{
  "file_id": "8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f",
  "filename": "team-photo.jpg",
  "metadata": {
    "customer": "C-311",
    "order": "1042"
  },
  "status": "success",
  "url": "https://a1b2c3d4e5.ucarecd.net/8a1e4c6f-2b3d-4f5a-9e7c-1d2b3c4d5e6f/team-photo.jpg"
}
```

### Upload a file

Put a file on Uploadcare and get its public link to share or embed. Upload a file, use one from an earlier step, or give a link for Uploadcare to fetch.

**Inputs**

- File (`file`, text, required): The file to upload: upload one, pick a file from an earlier step, or paste a public link.
- Save as (`save_as`, text): Optional. A name for the new file, such as invoice. Leave blank to keep the original name; the right extension is added.
- Delete after (`delete_after`, text): Never keeps the file for good. 1 day makes it temporary: Uploadcare deletes it after a day unless a 'Store a file' step keeps it. One of: `never`, `1_day` (1 day). Default: `never`.
- Metadata (`metadata`, object): Optional names and values to keep with the file, such as an order number. Names use letters, digits, '_', '-', '.' or ':'.

**Outputs**

- `content_type` (text): The file's media type, e.g. image/png.
- `delete_after` (text): never when Uploadcare keeps the file, 1_day when it deletes it a day after upload.
- `deleted` (true/false): True once the file is deleted.
- `duration_seconds` (number): Length in seconds, for a video; empty otherwise.
- `file_id` (text): Uploadcare's ID for the file (a UUID), for other steps.
- `filename` (text): The file's name.
- `height` (number): Height in pixels, for an image; empty otherwise.
- `is_image` (true/false): True when Uploadcare can process the file as an image.
- `metadata` (object): The names and values kept with the file.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `stored` (true/false): True when Uploadcare keeps the file for good; false for a temporary file it deletes a day after upload.
- `uploaded_at` (text): When the file was uploaded (ISO 8601, UTC).
- `url` (text): The file's public link on Uploadcare's CDN, ready to share, embed or download.
- `width` (number): Width in pixels, for an image; empty otherwise.

**Example output**

```json
{
  "content_type": "application/pdf",
  "delete_after": "never",
  "deleted": false,
  "duration_seconds": null,
  "file_id": "3f5c2a9e-6b1d-4e8a-9c7f-2d4b6a8e0c13",
  "filename": "invoice-1042.pdf",
  "height": null,
  "is_image": false,
  "metadata": {},
  "size_bytes": 48213,
  "status": "success",
  "stored": true,
  "uploaded_at": "2026-10-03T09:12:44.512730Z",
  "url": "https://a1b2c3d4e5.ucarecd.net/3f5c2a9e-6b1d-4e8a-9c7f-2d4b6a8e0c13/invoice-1042.pdf",
  "width": null
}
```
