# Bulk Image Converter & Compressor: WebP, AVIF, JPG, PNG, Resize (`plotpointtech/bulk-image-converter-compressor`) Actor

Convert and compress images in bulk to WebP, AVIF, JPG or PNG. Resize with cover/contain/fit modes, strip EXIF, fix orientation. From URLs, a ZIP, a dataset or key-value store. $1 per 1,000 images (up to 4 MP).

- **URL**: https://apify.com/plotpointtech/bulk-image-converter-compressor.md
- **Developed by:** [Plot Point Technologies](https://apify.com/plotpointtech) (community)
- **Categories:** Automation, Developer tools, SEO tools
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.62 / 1,000 converted images

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Bulk Image Converter & Compressor: WebP, AVIF, JPG, PNG, Resize

**Convert and compress thousands of images in one run: WebP, AVIF, JPG or PNG, resized the way you want, with metadata stripped and phone photos turned upright.** Give it image links, a ZIP, an Apify dataset or a key-value store, and get back a download link for every converted file, the size before and after, and an optional ZIP of everything. **$1 per 1,000 images** (up to 4 megapixels each).

### What can this image converter do?

- **Convert to WebP, AVIF, JPG or PNG**, or keep the original format and only compress or resize. Reads JPEG, PNG, WebP, AVIF, HEIC/HEIF (iPhone photos), GIF, BMP, TIFF and ICO.
- **Compress** with a quality setting (default 80 for WebP and JPG, 60 for AVIF), lossless WebP, progressive JPG, and PNG palette reduction to 256 colors or fewer (often 60-80% smaller for graphics and screenshots).
- **Resize** to a maximum width and/or height, or to an exact size with the same fit modes as sharp/libvips: **inside**, **cover** (crop), **contain** (pad), **fill** (stretch) and **outside**, with a crop/pad anchor such as top or center. Images are never enlarged unless you allow it.
- **Strip metadata** (EXIF, GPS location, camera data) and **apply the EXIF orientation** so photos display upright everywhere.
- **Handle transparency**: keep it for WebP, AVIF and PNG, or fill it with any background color (always for JPG).
- **Manage color**: convert Adobe RGB / Display P3 photos to sRGB for the web, keep the ICC profile, or drop it.
- **Keep animations** when converting animated GIF/WebP to animated WebP, AVIF or PNG.
- **Name files your way** with a pattern such as `{name}-{width}w.{ext}` or `{index4}-{name}.{ext}`.
- **Pack all results into one ZIP** next to the individual files.

### What data do you get?

One record per converted image:

| Field | Description |
|---|---|
| `fileName`, `downloadUrl` | Name and direct download link of the converted file in your Apify key-value store |
| `source`, `sourceType` | Original link (or dataset / key-value store / ZIP entry) |
| `originalFormat`, `outputFormat` | For example `png` to `webp` |
| `originalBytes`, `outputBytes`, `savedBytes`, `savingsPercent` | File size before and after |
| `originalWidth`, `originalHeight`, `width`, `height` | Dimensions before and after |
| `quality`, `frames`, `hasAlpha` | Encoder quality, animation frames, transparency kept |
| `orientationApplied`, `metadataStripped` | What was done to the metadata |
| `megapixels`, `extraMegapixelBlocks` | Source size and the extra 4 MP blocks charged (see pricing) |
| `processingMs`, `sha256` | Conversion time and a hash of the original file |

The run's `OUTPUT` record has totals (bytes in and out, overall savings), the ZIP link and the list of any files that could not be converted.

### Who uses it?

- **Web developers and SEO teams** converting a site's images to WebP or AVIF to speed up pages and pass Core Web Vitals.
- **E-commerce teams** resizing product photos to a fixed square (cover or contain with a white background) for marketplaces and feeds.
- **Agencies and content teams** compressing client uploads and removing GPS data from photos before publishing.
- **Automation builders** adding an image-processing step after a scraper, an upload form or a cloud folder.

### How to use it

1. Click **Try for free** (or **Start**).
2. Add **Image URLs**, upload a **ZIP**, or pick an **Apify dataset** or **key-value store** (for example the output of [Bulk Image Downloader](https://apify.com/plotpointtech/bulk-image-downloader-extractor)).
3. Choose **Convert to**, and optionally **Quality**, **Width**, **Height** and **Fit mode**.
4. Turn on **Also create one ZIP** if you want a single download.
5. Run it. Open the **Output** tab to preview and download each image, or use the ZIP link.

### Input example

```json
{
  "imageUrls": [
    "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/The_Great_Wave_off_Kanagawa.jpg/1280px-The_Great_Wave_off_Kanagawa.jpg",
    "https://example.com/photos/IMG_0042.HEIC"
  ],
  "outputFormat": "webp",
  "quality": 80,
  "width": 1200,
  "height": 1200,
  "fit": "inside",
  "stripMetadata": true,
  "autoOrient": true,
  "filenamePattern": "{name}-{width}w.{ext}",
  "createZip": true
}
```

### Output example

From a real run with the default sample images (a 1280 px PNG converted to WebP):

```json
{
  "fileName": "1280px-Earth_Western_Hemisphere_transparent_background.webp",
  "downloadUrl": "https://api.apify.com/v2/key-value-stores/6Y2npyTxKig6BKP66/records/1280px-Earth_Western_Hemisphere_transparent_background.webp?signature=1MKVdcs3J1fhArl4cAwxa",
  "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Earth_Western_Hemisphere_transparent_background.png/1280px-Earth_Western_Hemisphere_transparent_background.png",
  "sourceType": "url",
  "originalFormat": "png",
  "outputFormat": "webp",
  "originalBytes": 2361249,
  "outputBytes": 212468,
  "savedBytes": 2148781,
  "savingsPercent": 91,
  "originalWidth": 1280,
  "originalHeight": 1280,
  "width": 1280,
  "height": 1280,
  "quality": 80,
  "frames": 1,
  "hasAlpha": false,
  "orientationApplied": false,
  "metadataStripped": true,
  "megapixels": 1.64,
  "extraMegapixelBlocks": 0,
  "processingMs": 177
}
```

### How much does it cost?

**$1 per 1,000 converted images** ($0.001 each) for images up to 4 megapixels (for example 2560 x 1440 or smaller), plus a $0.00005 start fee per run. Larger source images cost **$0.50 per 1,000 for each additional 4 megapixels** (or part), because they take more computing time.

| You convert | You pay |
|---|---|
| 5 sample images (default run) | $0.005 |
| 1,000 web images up to 4 MP | $1.00 |
| 1,000 phone photos of 12 MP (2 extra blocks each) | $2.00 |
| 10,000 product photos of 2 MP | $10.00 |
| 1,000 camera photos of 24 MP (5 extra blocks each) | $3.50 |

Files that fail to download or cannot be decoded are not charged; they are listed in the `OUTPUT` record. Set a maximum cost per run in Apify Console and the tool stops when it is reached.

**Volume discounts on higher Apify plans.** The prices above are for the Apify Free plan. On paid plans the per-result price drops automatically: about 15% lower on Bronze, 25% lower on Silver and 38% lower on Gold and above.

### Use it via API, Make, Zapier, n8n or an AI agent

**Apify API.** Start a run and get the results back in one HTTP request (replace `YOUR_API_TOKEN` with the token from Apify Console > Settings > Integrations):

```bash
curl -X POST "https://api.apify.com/v2/acts/plotpointtech~bulk-image-converter-compressor/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"imageUrls": ["https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/The_Great_Wave_off_Kanagawa.jpg/1280px-The_Great_Wave_off_Kanagawa.jpg", "https://example.com/photos/IMG_0042.HEIC"], "outputFormat": "webp", "quality": 80, "width": 1200, "height": 1200, "fit": "inside", "stripMetadata": true, "autoOrient": true, "filenamePattern": "{name}-{width}w.{ext}", "createZip": true}'
```

For longer jobs, start the run asynchronously and read the dataset when it finishes. Official `apify-client` libraries exist for Python and JavaScript; the **API** tab on this page has ready-made code.

**No-code automation.** Connect the tool to **Make, Zapier, n8n, Google Sheets, Slack, Airtable** or any webhook with Apify integrations, and use **Schedules** in Apify Console to run it hourly, daily or weekly.

**AI agents (MCP).** Give Claude, ChatGPT, Cursor, VS Code or any MCP-compatible agent direct access to this tool through the hosted Apify MCP server. Add this server URL to your client:

```
https://mcp.apify.com?tools=plotpointtech/bulk-image-converter-compressor
```

The agent can then call the tool with the same input fields shown above and read the results.

### FAQ

**Which format should I choose?**
WebP is the safe choice for websites: supported by every current browser and usually 25-35% smaller than JPG at the same visual quality. AVIF is smaller still (often 40-50% smaller than JPG) but slower to encode. Use JPG for email and older software, and PNG for lossless graphics, logos and screenshots (try **PNG palette colors** = 256 for big savings).

**What quality setting should I use?**
Leave it empty for the recommended defaults: 80 for WebP and JPG, 60 for AVIF. AVIF 60 looks roughly like JPG 80. Go lower for thumbnails, higher (90+) for photography portfolios.

**Will my images be enlarged?**
No. By default images only shrink. Turn on **Allow enlarging small images** if you need every output at an exact size.

**Are my files private? Is this legal?**
Only convert images you own or are allowed to use. The tool downloads only the links and files you provide; it does not crawl websites. Converted files are stored in your own Apify storage. The download links contain a signature, so anyone you share a link with can open that file; delete the run's storage if you do not want to keep them.

**How large can images be?**
Up to 150 megapixels and 100 MB per file by default (both adjustable). Memory use is controlled automatically; for many very large photos in AVIF, run with 2 GB or 4 GB memory to go faster.

**How long are the files kept?**
As long as your Apify plan keeps run storage (named stores are kept indefinitely). Download what you need or use the ZIP.

**Can I use it with Make, Zapier, n8n or an AI agent?**
Yes, see the API section above. An agent can call it through the Apify MCP server with a list of image URLs and receive the download links.

### Related tools from Plot Point Technologies

- [Bulk Image Downloader - All Images from Any Website + ZIP](https://apify.com/plotpointtech/bulk-image-downloader-extractor): every image from a page or site, de-duplicated, with ZIP.
- [Image OCR - Image to Text in Bulk, Tesseract & AI Vision](https://apify.com/plotpointtech/image-to-text-ocr-bulk): text from images in bulk, with AI mode for receipts and handwriting.
- [Website Screenshot & PDF API - Full Page, Mobile, $1.50/1K](https://apify.com/plotpointtech/website-screenshot-pdf-generator): full-page PNG, JPEG or PDF captures of any web page.
- [PDF to Text & Tables Extractor - Markdown + OCR, $0.40/1K](https://apify.com/plotpointtech/pdf-text-markdown-tables-extractor): PDFs to text, Markdown and CSV tables, with OCR for scans.

Plot Point Technologies is not affiliated with the Wikimedia Foundation (source of the public-domain sample images), Google (WebP) or the Alliance for Open Media (AVIF). Questions: support@plotpoint.tech.

***

If this tool saved you time, we would be grateful for a short review on this page; it helps other people find it. If something did not work as expected, please open an issue on the **Issues** tab and we will look into it quickly.

# Actor input Schema

## `imageUrls` (type: `array`):

Direct links to image files (JPEG, PNG, WebP, AVIF, HEIC, GIF, BMP, TIFF, ICO). data:image URLs also work. Leave all inputs empty to convert 5 public-domain sample images.

## `zipFile` (type: `string`):

Upload a .zip with your images (folders are fine). Every image inside is converted.

## `zipUrls` (type: `array`):

Links to .zip archives of images, e.g. a Dropbox/Google Drive direct-download link or the ZIP from another Apify run.

## `datasetId` (type: `string`):

Convert every image URL in an Apify dataset, e.g. the output of an image downloader or product scraper. The URL column is detected automatically (downloadUrl, storedFileUrl, imageUrl, image, url, src) unless you set the field below. Pick one of your storages or paste its ID.

## `datasetUrlField` (type: `string`):

Optional: name of the dataset field that holds the image URL.

## `keyValueStoreId` (type: `string`):

Convert every image file stored in an Apify key-value store (records that are images, or text records holding an image URL). Pick one of your storages or paste its ID.

## `keyValueStorePrefix` (type: `string`):

Optional: only records whose key starts with this text.

## `outputFormat` (type: `string`):

Output format. WebP is the best all-round choice for websites; AVIF is smaller still but slower to encode; JPG for maximum compatibility; PNG for lossless graphics.

## `quality` (type: `integer`):

Compression quality for WebP, AVIF and JPG. Leave empty for the recommended default: 80 for WebP and JPG, 60 for AVIF (AVIF 60 looks about like JPG 80). Ignored for PNG.

## `lossless` (type: `boolean`):

Encode WebP losslessly (AVIF at maximum quality, 4:4:4). Larger files, pixel-exact output.

## `effort` (type: `integer`):

Higher = smaller files but slower encoding (WebP method, AVIF speed, PNG zlib level). 4 is a good balance; 6 is the slowest and smallest.

## `pngColors` (type: `integer`):

For PNG output: reduce to this many colors (e.g. 256 or 128), like TinyPNG. Often 60-80% smaller for graphics and screenshots. 0 keeps full color.

## `progressiveJpeg` (type: `boolean`):

Write progressive JPEGs (load gradually in browsers, usually slightly smaller).

## `width` (type: `integer`):

Target or maximum width. Leave empty to keep the original width. With only width set, height scales proportionally.

## `height` (type: `integer`):

Target or maximum height. Leave empty to keep proportional height.

## `fit` (type: `string`):

How to resize when both width and height are set (same modes as sharp/libvips).

## `position` (type: `string`):

Where to anchor the image for Cover crops and Contain padding.

## `allowUpscale` (type: `boolean`):

By default images are never made larger than the original. Turn on to enlarge to the exact target size.

## `backgroundColor` (type: `string`):

Used to fill transparent areas when converting to JPG (no transparency support) and for Contain padding. Hex like #ffffff or a color name; 'transparent' keeps padding transparent for WebP/AVIF/PNG.

## `flattenTransparency` (type: `boolean`):

Fill transparent areas with the background color even for WebP/AVIF/PNG output.

## `stripMetadata` (type: `boolean`):

Remove EXIF data such as GPS location, camera model and timestamps. Saves bytes and protects privacy.

## `autoOrient` (type: `boolean`):

Rotate phone photos upright using their EXIF orientation tag, so they display correctly after metadata is removed.

## `colorProfile` (type: `string`):

How to handle embedded ICC color profiles (Adobe RGB, Display P3, etc.).

## `keepAnimation` (type: `boolean`):

Animated GIF/WebP/AVIF/PNG stay animated when converting to WebP, AVIF or PNG (APNG). JPG output always uses the first frame.

## `filenamePattern` (type: `string`):

Tokens: {name} original file name without extension, {ext}, {format}, {width}, {height}, {index}, {index4} (0001), {hash} (from the original's SHA-256), {quality}. Example: {name}-{width}w.{ext}. Duplicate names get -2, -3.

## `createZip` (type: `boolean`):

Pack every converted image into converted-images.zip in the key-value store (split into 300 MB parts if needed).

## `maxImages` (type: `integer`):

Stop after this many converted images (0 = no limit).

## `maxImageSizeMb` (type: `integer`):

Larger files are skipped (not charged).

## `maxMegapixels` (type: `integer`):

Images with more pixels are skipped. Very large images need more memory: about 1 GB per 60-80 megapixels.

## `maxConcurrency` (type: `integer`):

How many images to process at once. Memory use is also capped automatically by pixel count.

## Actor input object example

```json
{
  "imageUrls": [
    "https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/1280px-The_Earth_seen_from_Apollo_17.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/The_Great_Wave_off_Kanagawa.jpg/1280px-The_Great_Wave_off_Kanagawa.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/1280px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Earth_Western_Hemisphere_transparent_background.png/1280px-Earth_Western_Hemisphere_transparent_background.png"
  ],
  "outputFormat": "webp",
  "lossless": false,
  "effort": 4,
  "pngColors": 0,
  "progressiveJpeg": true,
  "fit": "inside",
  "position": "center",
  "allowUpscale": false,
  "backgroundColor": "#ffffff",
  "flattenTransparency": false,
  "stripMetadata": true,
  "autoOrient": true,
  "colorProfile": "srgb",
  "keepAnimation": true,
  "filenamePattern": "{name}.{ext}",
  "createZip": false,
  "maxImages": 0,
  "maxImageSizeMb": 100,
  "maxMegapixels": 150,
  "maxConcurrency": 4
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `files` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "imageUrls": [
        "https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/1280px-The_Earth_seen_from_Apollo_17.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/The_Great_Wave_off_Kanagawa.jpg/1280px-The_Great_Wave_off_Kanagawa.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/1280px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Earth_Western_Hemisphere_transparent_background.png/1280px-Earth_Western_Hemisphere_transparent_background.png"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("plotpointtech/bulk-image-converter-compressor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "imageUrls": [
        "https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/1280px-The_Earth_seen_from_Apollo_17.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/The_Great_Wave_off_Kanagawa.jpg/1280px-The_Great_Wave_off_Kanagawa.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/1280px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg",
        "https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Earth_Western_Hemisphere_transparent_background.png/1280px-Earth_Western_Hemisphere_transparent_background.png",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("plotpointtech/bulk-image-converter-compressor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "imageUrls": [
    "https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/1280px-The_Earth_seen_from_Apollo_17.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/The_Great_Wave_off_Kanagawa.jpg/1280px-The_Great_Wave_off_Kanagawa.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/1280px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Earth_Western_Hemisphere_transparent_background.png/1280px-Earth_Western_Hemisphere_transparent_background.png"
  ]
}' |
apify call plotpointtech/bulk-image-converter-compressor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,plotpointtech/bulk-image-converter-compressor"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/YHda7QdJCJGEqy5ny/builds/nsbSRT72l5b2f6ajd/openapi.json
