---
title: "Media · Image · Combine images into a single PDF"
method: POST
path: "/api/v1/tools/images-to-pdf"
tags: ["convert"]
---

# Media · Image · Combine images into a single PDF

`POST /api/v1/tools/images-to-pdf`

## Request

- Base URL: `https://api.simplified.com`
- URL: `https://api.simplified.com/api/v1/tools/images-to-pdf`
- Auth: API key in header `Authorization`

Combine multiple images — mixed formats supported (PNG, JPEG, WEBP,
HEIC/HEIF) — into a single PDF, one page per image, in the given
order. Each entry in `images` is a remote URL or an existing
Simplified asset UUID (resolved server-side, scoped to the caller's
workspace). This produces a NEW combined PDF from separate source
images — for converting a single image's own container format use
`convertImageFormat` instead. Async — returns a task_id (auto-polled).

## Request body

- object
  - `images` string[], required: Ordered list of image sources — each a remote URL or an existing Simplified asset UUID. Page order matches this order.
  - `name` string: Output PDF filename. Defaults to "images.pdf".
  - `page_layout` 'fit-to-image' | 'a4' | 'letter': "fit-to-image": each page sized to its own source image. "a4" / "letter": fixed page size, image centered and scaled to fit within margins.
  - `on_error` 'fail' | 'skip': "fail": abort if any image can't be fetched or decoded. "skip": best-effort — assemble from whatever succeeded; skipped inputs are reported in the result.

## Response `202`

Async task queued.

- AsyncTaskResponse
  - `task_id` string: Poll GET /api/v1/tasks/{task_id} until SUCCESS or FAILURE.

---

[API](https://skmtc.dev/simplified/apis/image-tools.md) - [All operations](https://skmtc.dev/simplified/apis/image-tools/llms.txt) - [OpenAPI document](https://skmtc.dev/simplified/apis/image-tools/revisions/7de7bf8f6707?raw)
