{
  "openapi": "3.0.1",
  "info": {
    "title": "Images to PDF & PDF to Images Converter [$1.50/1K 💰]",
    "description": "💰 $1.50 per 1,000 pages; failed files and pages free, no start fee. Convert images to PDF in bulk (JPG, PNG, WebP, AVIF, GIF, HEIC, SVG into one PDF, A4, Letter or fit) and PDF to images (every page as PNG, JPG or WebP at your DPI, plus a ZIP). Links or any dataset in.",
    "version": "0.1",
    "x-build-id": "lNmYYEPn9bGdXf6oH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cybermax~image-to-pdf/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cybermax-image-to-pdf",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/cybermax~image-to-pdf/runs": {
      "post": {
        "operationId": "runs-sync-cybermax-image-to-pdf",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/cybermax~image-to-pdf/run-sync": {
      "post": {
        "operationId": "run-sync-cybermax-image-to-pdf",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "title": "Image or PDF links",
            "type": "array",
            "description": "Image links (JPG, PNG, WebP, AVIF, GIF, HEIC, TIFF, SVG) become pages of one PDF, in this order. PDF links come back as one image per page. Mix both freely.",
            "items": {
              "type": "string"
            }
          },
          "datasetId": {
            "title": "Or: an Apify dataset",
            "type": "string",
            "description": "A dataset from another run, e.g. Picpail's image list or a product scraper: its image or PDF links are converted (imageUrl, fileUrl, url… detected)."
          },
          "urlField": {
            "title": "Link field in the dataset",
            "type": "string",
            "description": "Optional: the field that holds the link. Leave empty to detect it."
          },
          "mode": {
            "title": "Direction",
            "enum": [
              "auto",
              "imagesToPdf",
              "pdfToImages"
            ],
            "type": "string",
            "description": "Auto reads each file's real type from its bytes.",
            "default": "auto"
          },
          "onePdf": {
            "title": "One PDF for all images",
            "type": "boolean",
            "description": "Off: one PDF per image.",
            "default": true
          },
          "pdfName": {
            "title": "PDF file name",
            "type": "string",
            "description": "Name of the combined PDF (images.pdf by default).",
            "default": "images"
          },
          "pageSize": {
            "title": "Page size",
            "enum": [
              "fit",
              "a4",
              "letter",
              "legal",
              "a3",
              "a5"
            ],
            "type": "string",
            "description": "Fit = each page the size of its image. Paper sizes center each image; wide images get landscape pages.",
            "default": "fit"
          },
          "marginMm": {
            "title": "Margin (mm)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "White border around each image.",
            "default": 0
          },
          "maxImageSide": {
            "title": "Largest image side (px)",
            "minimum": 500,
            "maximum": 10000,
            "type": "integer",
            "description": "Bigger images are scaled down to keep the PDF a sensible size.",
            "default": 4000
          },
          "jpegQuality": {
            "title": "JPEG / WebP quality",
            "minimum": 40,
            "maximum": 100,
            "type": "integer",
            "description": "For images re-encoded into the PDF and for JPG/WebP page images.",
            "default": 90
          },
          "format": {
            "title": "Image format",
            "enum": [
              "png",
              "jpeg",
              "webp"
            ],
            "type": "string",
            "description": "Format of each page image.",
            "default": "png"
          },
          "dpi": {
            "title": "Resolution (DPI)",
            "minimum": 36,
            "maximum": 300,
            "type": "integer",
            "description": "150 for screens and OCR, 300 for print. A4 at 150 DPI = 1240 x 1754 px.",
            "default": 150
          },
          "pages": {
            "title": "Pages",
            "type": "string",
            "description": "Optional, e.g. \"1-3, 5, 10-\" or \"last\". Empty = every page."
          },
          "maxPagesPerPdf": {
            "title": "Max pages per PDF",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Safety cap per PDF.",
            "default": 300
          },
          "zip": {
            "title": "Also a ZIP per PDF",
            "type": "boolean",
            "description": "All page images of each PDF in one ZIP.",
            "default": true
          },
          "maxFileMb": {
            "title": "Largest file to download (MB)",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Bigger files are skipped (free).",
            "default": 100
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}