happytails.ai

HEIC to PDF

Open HEIC to PDF on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.

Tool capabilities

{
  "id": "heic-to-pdf",
  "category": "pdf-tools",
  "built": true,
  "requirements": "Runs locally without uploads. One HEIC or HEIF file up to 20 MiB and 40 megapixels; neither side may exceed 16,000 pixels. Converts only the primary still image to an orientation-corrected 8-bit RGB PNG, then embeds it in a PDF without cropping or stretching. Original pages use 96 pixels per inch; margins add space. The intermediate PNG must fit within 20 MiB. Original metadata, HDR, depth data and additional images are not retained. Transparency is preserved; PDF viewers usually display it on white. This is not archival color or HDR preservation. Maximum output: 100 MiB; processing stops after 90 seconds.",
  "implementation": {
    "fields": [
      {
        "key": "pageSize",
        "label": "Page size",
        "value": "Original",
        "type": "select",
        "values": [
          "Original",
          "A4",
          "Letter"
        ]
      },
      {
        "key": "orientation",
        "label": "Orientation",
        "value": "Auto",
        "type": "select",
        "values": [
          "Auto",
          "Portrait",
          "Landscape"
        ]
      },
      {
        "key": "margin",
        "label": "Margins (mm)",
        "value": "0",
        "type": "select",
        "values": [
          "0",
          "10",
          "20"
        ]
      }
    ],
    "registrationFamily": "image-local-exports",
    "presentation": "metrics",
    "files": true,
    "input": false,
    "multiple": false,
    "deferImagePreview": true,
    "accept": ".heic,.heif",
    "maxFileBytes": 20971520,
    "note": "Runs locally without uploads. One HEIC or HEIF file up to 20 MiB and 40 megapixels; neither side may exceed 16,000 pixels. Converts only the primary still image to an orientation-corrected 8-bit RGB PNG, then embeds it in a PDF without cropping or stretching. Original pages use 96 pixels per inch; margins add space. The intermediate PNG must fit within 20 MiB. Original metadata, HDR, depth data and additional images are not retained. Transparency is preserved; PDF viewers usually display it on white. This is not archival color or HDR preservation. Maximum output: 100 MiB; processing stops after 90 seconds.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Up to 1,000,000 characters. Review the settings before running.",
      "helpParts": [
        "Up to 1,000,000 characters.",
        "Review the settings before running."
      ],
      "action": "Convert file"
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "POST /api/v1/tools/heic-to-pdf/run",
  "api": {
    "id": "heic-to-pdf",
    "name": "HEIC to PDF",
    "category": "pdf-tools",
    "description": "Convert the primary still image in a HEIC or HEIF file into a PDF with explicit paper size, page orientation and margins.",
    "notes": "Processed by the local, self-hosted engine. No third-party conversion service is used. Converts the primary HEIC image with orientation applied. Multi-image sequences and HDR preservation are not supported.",
    "human_path": "/en/pdf-tools/heic-to-pdf/",
    "method": "POST",
    "endpoint": "/api/v1/tools/heic-to-pdf/run",
    "schema_url": "/api/v1/tools/heic-to-pdf",
    "input_schema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "input": {
          "type": "string",
          "maxLength": 1000000,
          "default": "",
          "description": "Plain text input. File tools use files instead unless otherwise documented."
        },
        "options": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "quality": {
              "type": "number",
              "description": "Quality (%)",
              "default": 85.0,
              "minimum": 1,
              "maximum": 100,
              "multipleOf": 1
            }
          }
        },
        "files": {
          "type": "array",
          "maxItems": 1,
          "items": {
            "type": "object",
            "required": [
              "name",
              "base64"
            ],
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 200,
                "description": "Filename only, no path."
              },
              "mime": {
                "type": "string",
                "maxLength": 150
              },
              "bytes": {
                "type": "integer",
                "minimum": 0,
                "description": "Optional decoded byte count; must match content if supplied."
              },
              "base64": {
                "type": "string",
                "contentEncoding": "base64",
                "description": "File bytes as padded base64. Use the tool-specific limits.files_bytes value for the total decoded input size."
              }
            }
          }
        }
      }
    },
    "output_schema": {
      "type": "object",
      "required": [
        "tool",
        "result"
      ],
      "properties": {
        "tool": {
          "type": "string"
        },
        "result": {
          "type": "object",
          "required": [
            "text",
            "files"
          ],
          "properties": {
            "text": {
              "type": [
                "string",
                "null"
              ]
            },
            "data": {
              "description": "Parsed JSON when the textual result is JSON."
            },
            "name": {
              "type": "string"
            },
            "mime": {
              "type": "string"
            },
            "files": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "name",
                  "mime",
                  "bytes",
                  "base64"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "mime": {
                    "type": "string"
                  },
                  "bytes": {
                    "type": "integer"
                  },
                  "base64": {
                    "type": "string",
                    "contentEncoding": "base64"
                  }
                }
              }
            }
          }
        }
      }
    },
    "processing": "Server; self-hosted native engine, no external conversion service",
    "limits": {
      "request_bytes": 31457280,
      "input_characters": 1000000,
      "files_bytes": 20971520,
      "max_files": 1,
      "timeout_seconds": 90
    }
  },
  "agent_processing": "Server; self-hosted native engine, no external conversion service",
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}

Page guide

Convert the primary still image in a HEIC or HEIF file into a PDF with explicit paper size, page orientation and margins.

How to use HEIC to PDF
  1. Choose one HEIC or HEIF file.
  2. Select Original, A4 or Letter paper, page orientation and margins.
  3. Review the image dimensions and download the PDF. Check its orientation and color before sharing.

Keep the original for archival use

This creates an 8-bit copy of the primary still. It does not preserve source metadata, HDR, depth data or additional images.

Choose page geometry explicitly

Original uses 96 pixels per inch. Auto follows the image aspect ratio; Portrait and Landscape control the page rather than rotating the image. Images fit without cropping or stretching. Margins are measured in millimeters.