---
title: Generate Book and Manuscript PDF API
slug: generate-book-and-manuscript-pdf
url: https://apyhub.com/freedailypro/service/generate-book-and-manuscript-pdf
provider: FreeDailyPro
categories: [Output Kit]
tags: [book-typesetting, print-ready-pdf, manuscript-layout, publishing, pdf-generation]
auth: api_key
version: 1.0.0
service_type: sync
endpoints: 2
atoms: 10-30
mcp: true
---

# Generate Book and Manuscript PDF API

Turn JSON chapters into a print-ready book PDF or a standard-format manuscript PDF. Set trim size, fonts, covers and front matter with one API call.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyhub.com/freedailypro/generate-book-and-manuscript-pdf/typeset-book` | What it does Typesets a print-ready book PDF from a structured book manuscript. The request body de… | 10 |
| POST | `https://api.eu.apyhub.com/freedailypro/generate-book-and-manuscript-pdf/typeset-manuscript` | What it does Typesets a manuscript into a Shunn standard-format PDF. You send the book metadata and… | 30 |

## Endpoint reference

### Typeset a print-ready book PDF (trim size, fonts, front and back matter)

`POST https://api.eu.apyhub.com/freedailypro/generate-book-and-manuscript-pdf/typeset-book` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `isbn` | body | string | no | Printed on the copyright page as given (not validated; use /v1/publishing/isbn to check it). |
| `eisbn` | body | string | no | Electronic ISBN, printed on the copyright page. |
| `index` | body | array | no |  |
| `praise` | body | array | no |  |
| `authors` | body | array of object | no |  |
| `authors[].bio` | body | array | no | Shown on the About the Author page. |
| `authors[].name` | body | string | yes |  |
| `authors[].role` | body | string | yes | main authors are named in the default copyright holder and on the title page. One of: main, contributing, illustrator, editor. |
| `authors[].photoDataUri` | body | string | no | Author photo as an image data URI. |
| `edition` | body | string | no | For example 2nd Edition; shown on the title page and covers. |
| `preface` | body | array | no |  |
| `appendix` | body | array | no |  |
| `chapters` | body | array of object | yes | The chapters, in order, up to 100. |
| `chapters[].title` | body | string | yes | The chapter title, printed as the chapter heading and used in the table of contents. |
| `chapters[].blocks` | body | array | yes | The chapter content in reading order, up to 800 blocks. |
| `chapters[].partTitle` | body | string | no | Groups this chapter and the following ones with the same partTitle under a Part divider page, such as Part One. |
| `endnotes` | body | array | no |  |
| `epigraph` | body | array | no |  |
| `foreword.blocks` | body | array | yes |  |
| `foreword.authorName` | body | string | yes | Who wrote the foreword; printed under it. |
| `glossary` | body | array | no |  |
| `subtitle` | body | string | no |  |
| `answerKey` | body | array | no |  |
| `backCover.blurb` | body | array | no | The back-cover text. |
| `backCover.imageDataUri` | body | string | no |  |
| `backCover.publisherName` | body | string | no |  |
| `backCover.qrCodeDataUri` | body | string | no | A QR code image you made yourself; it is placed, not generated. |
| `backCover.barcodeDataUri` | body | string | no | A barcode image you made yourself (for example with /v1/security/barcode-code128 or an EAN-13 image); it is placed, not generated. |
| `backCover.publisherLogoDataUri` | body | string | no |  |
| `bookTitle` | body | string | yes | The book title: title page, cover, running header. |
| `direction` | body | string | no | Reading direction: auto (the default), ltr or rtl. With auto, a book whose text is mostly Arabic or Hebrew is laid out right to left and anything else left to right; ltr or rtl overrides that. Right… |
| `publisher.name` | body | string | yes |  |
| `publisher.intro` | body | array | no |  |
| `publisher.logoDataUri` | body | string | no |  |
| `watermark` | body | boolean | no | Opt-in preview watermark. Default false: the file is clean, with no promotional text. true adds a visible PREVIEW marking: in the PDF a light diagonal PREVIEW tiled across every page, in the EPUB and… |
| `dedication` | body | array | no |  |
| `frontCover.imageDataUri` | body | string | no | Full-bleed cover image as a data URI. |
| `frontCover.publisherName` | body | string | no |  |
| `frontCover.publisherLogoDataUri` | body | string | no |  |
| `includeToc` | body | boolean | no |  |
| `seriesName` | body | string | no |  |
| `authorsNote` | body | array | no |  |
| `gutterModel` | body | string | no | Margin model. kdp-scaled (default): Amazon KDP inside margins that grow with page count. flat-0.5: 0.5 in all round (IngramSpark, Lulu). flat-0.75-inside: 0.75 in inside margin (B&N Press). One of: k… |
| `trimWidthIn` | body | number | yes | Page width in inches (3 to 14), for example 5.5 for a 5.5 x 8.5 in book. |
| `alsoByAuthor` | body | array | no |  |
| `bibliography` | body | array | no |  |
| `listOfGraphs` | body | array | no |  |
| `listOfTables` | body | array | no |  |
| `trimHeightIn` | body | number | yes | Page height in inches (3 to 14). |
| `copyrightYear` | body | integer | no | Default: the current year. |
| `bodyFontFamily` | body | string | no | Body font, embedded in the PDF. Default literata. Eight OFL fonts: literata, eb-garamond, merriweather, lora, tinos (serif), inter, arimo (sans), playfair-display (display). All draw Latin (including… |
| `peerReviewNote` | body | array | no |  |
| `acknowledgments` | body | array | no |  |
| `backMatterOrder` | body | array of string | no | Order of the back-matter sections. Default: acknowledgments, also-by-author, appendix, bibliography, endnotes, glossary, answer-key, index. |
| `copyrightHolder` | body | string | no | Name printed after the copyright symbol. Default: the names of the authors with role main; if there are none, the line shows only the year (the book title is never used). |
| `frontMatterOrder` | body | array of string | no | Order of the front-matter sections. Default: praise, title-page, copyright-page, authors, dedication, epigraph, foreword, authors-note, preface, how-to-use, publisher, peer-review, toc, list-of-image… |
| `howToUseThisBook` | body | array | no |  |
| `titlePageContent` | body | array | no |  |
| `epigraphShowLabel` | body | boolean | no |  |
| `dedicationShowLabel` | body | boolean | no |  |
| `includeListOfImages` | body | boolean | no |  |
| `copyrightPageContent` | body | array | no | Extra copyright-page text, after the standard notice. |
| `epigraphImageDataUri` | body | string | no |  |
| `titlePageImageDataUri` | body | string | no |  |
| `dedicationImageDataUri` | body | string | no |  |
| `copyrightPageImageDataUri` | body | string | no |  |

#### Quickstart

Create a book layout and download the generated file.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/generate-book-and-manuscript-pdf/typeset-book" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "bookTitle": "My First Book",
    "trimWidthIn": 5.5,
    "trimHeightIn": 8.5,
    "chapters": [
      {
        "title": "Chapter 1",
        "blocks": [
          {
            "type": "paragraph",
            "runs": [
              {
                "text": "Hello, world!"
              }
            ]
          }
        ]
      }
    ]
  }' \
  --output typeset-book-output.bin
```

#### What you'll get back

Returns a binary file (`string` with `format: "binary"`), not JSON. Save the response to a file with `--output` as shown above.

### Typeset a manuscript as a Shunn standard-format PDF

`POST https://api.eu.apyhub.com/freedailypro/generate-book-and-manuscript-pdf/typeset-manuscript` · 30 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `byline` | body | string | yes | Written as it should appear after by, for example Maria Lopez. |
| `chapters` | body | array of object | yes |  |
| `chapters[].title` | body | string | yes |  |
| `chapters[].blocks` | body | array | yes |  |
| `chapters[].partTitle` | body | string | no |  |
| `bookTitle` | body | string | yes | Title, printed on the title page and in the running head (shortened, upper case). |
| `direction` | body | string | no | Reading direction: auto (the default), ltr or rtl. With auto, a book whose text is mostly Arabic or Hebrew is laid out right to left and anything else left to right; ltr or rtl overrides that. Right… |
| `watermark` | body | boolean | no | Opt-in preview watermark. Default false: the file is clean, with no promotional text. true adds a visible PREVIEW marking: in the PDF a light diagonal PREVIEW tiled across every page, in the EPUB and… |
| `authorEmail` | body | string | no |  |
| `authorPhone` | body | string | no |  |
| `authorAddress` | body | string | no |  |
| `authorLegalName` | body | string | yes | Your legal name: top-left of the title page, the running-head surname, and the DOCX author property. |

#### Quickstart

Create a book manuscript from the required title, byline, author legal name, and at least one chapter.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/generate-book-and-manuscript-pdf/typeset-manuscript" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "bookTitle": "The Hidden Orchard",
    "byline": "by Maria Lopez",
    "authorLegalName": "Maria Lopez",
    "chapters": [
      {
        "title": "Chapter 1",
        "blocks": [
          {
            "type": "paragraph",
            "runs": [
              {
                "text": "It was a quiet morning in the orchard."
              }
            ]
          }
        ]
      }
    ]
  }'
```

#### What you'll get back

Returns a binary file response. The output schema is a raw `binary` payload, so there is no JSON object to describe.

## About

## What it does
Book Typesetter turns book manuscript data into a print-ready PDF, and also supports a Shunn standard-format manuscript PDF workflow.

Use the first endpoint when you need a finished book layout from structured content. Send a `bookTitle`, trim size (`trimWidthIn`, `trimHeightIn`), chapter list, and optional front matter, author metadata, publisher details, cover images, and back matter. The response is a binary PDF suitable for review or production. The schema supports chapter blocks such as paragraphs, headings, images, lists, tables, and scene breaks, plus book-level sections like praise, foreword, preface, dedication, epigraph, glossary, bibliography, endnotes, index, and answer key.

Use the second endpoint when you need a manuscript formatted to Shunn standard style. Send `bookTitle`, `byline`, `authorLegalName`, and chapter content. That endpoint returns a binary PDF with manuscript conventions applied for submission or editorial review.

Book Typesetter is a fit for publishing pipelines, self-publishing tools, editorial systems, and internal automation that need consistent book formatting without manual layout work. It gives you deterministic output from structured input, so you can generate readable drafts, production proofs, or submission copies from the same content model.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/freedailypro/service/generate-book-and-manuscript-pdf
