Операции · В PDF

Фото в PDF

Собирает фото с телефона в PDF: каждое фото — лист A4 в его ориентации, файл легче за счёт уменьшения. Режим «Скан документа» находит лист на фото, выравнивает перспективу и делает белый фон.

Запрос
POST /v1/pdf/photo-to-pdf
Инструмент MCP
photo_to_pdf
Вход
JPG, PNG, WEBP, HEIC, TIFF, BMP — до 10 файлов на бесплатном тарифе, 20 на Про, 50 на Бизнесе
Результат
PDF
Единица цены
10 МБ суммы файлов — как считается

Параметры

Тело запроса — JSON. Лишние поля API игнорирует.

ПараметрТипОписание
file_idsобязательныйstring[]file_id загруженных файлов (POST /v1/upload) — в нужном порядке.
orderinteger[]Порядок страниц — индексы file_ids от 0, каждый ровно один раз. Без него — порядок file_ids.
pagestringa4 — лист A4 в ориентации фото; photo — страница по размеру фото.Значения: "a4", "photo"По умолчанию: "a4"
compactbooleanУменьшить фото до 2000 пикселей по длинной стороне и убрать EXIF и геометку.По умолчанию: true
grayscalebooleanОттенки серого.По умолчанию: false
modestringscan — «Скан документа»: лист выравнивается во весь A4; page, compact и grayscale тогда не действуют.Значения: "photo", "scan"По умолчанию: "photo"
scan_colorstringДля mode: scan — bw: чёрно-белый как со сканера; color: цветной с белым фоном.Значения: "bw", "color"По умолчанию: "bw"
cornersarray | nullДля mode: scan — углы листа на каждом фото в порядке file_ids: [[x, y] × 4] долями кадра (левый верхний, правый верхний, правый нижний, левый нижний) или null — найти автоматически. Без параметра — у всех автоматически.
webhook_urlstringhttps-адрес: по завершении SmartPDF отправит на него POST с результатом и подписью — вместо опроса статуса (раздел «Вебхуки»).

Запрос

Это шаг 2 полного цикла: файл уже загружен, а статус и скачивание — как в быстром старте. Функция call и переменные — оттуда же.

POST /v1/pdf/photo-to-pdf
BODY=$(jq -n --arg file_id_1 "$FILE_ID_1" --arg file_id_2 "$FILE_ID_2" '{file_ids: [$file_id_1, $file_id_2], page: "a4", compact: true}')
curl -sS --fail-with-body -H "X-API-Key: $SMARTPDF_API_KEY" -H "Content-Type: application/json" \
  -d "$BODY" https://api.smartpdf.ru/v1/pdf/photo-to-pdf

Ответ

202 Accepted — операция оплачена и поставлена в очередь. Дальше — опрос GET /v1/tasks/{task_id} или вебхук.

202 Accepted
{
  "task_id": "3f2c5b0e-8a41-4d7e-9c1f-5d0b8f2e7a64"
}

Эта страница для агентов: Markdown · llms.txt