Skip to main content

PdfContent

PDF document content with file metadata for multi-modal LLM messages.

Import

import type { PdfContent } from '@adaline/api';

Type Definition

interface PdfContent {
  modality: 'pdf';
  value: PdfContentValue;
  file: PdfContentFile;
}

type PdfContentValue = Base64PdfContentValue | UrlPdfContentValue;

interface UrlPdfContentValue {
  type: 'url';
  url: string;
}

interface Base64PdfContentValue {
  type: 'base64';
  base64: string;
}

interface PdfContentFile {
  name: string;
  id: string;
  size?: number | null;
}

Fields

modality
string
required
Must be "pdf".
value
PdfContentValue
required
PDF data — either a URL reference or base64-encoded content.
file
PdfContentFile
required
File metadata with name, id, and optional size in bytes.

Example

import type { PdfContent, PromptMessage } from '@adaline/api';

const pdf: PdfContent = {
  modality: 'pdf',
  value: {
    type: 'url',
    url: 'https://example.com/report.pdf'
  },
  file: {
    name: 'Q4_Report.pdf',
    id: 'file_abc123',
    size: 1024000
  }
};

const message: PromptMessage = {
  role: 'user',
  content: [
    { modality: 'text', value: 'Summarize this document' },
    pdf
  ]
};
JSON:
{
  "modality": "pdf",
  "value": {
    "type": "url",
    "url": "https://example.com/report.pdf"
  },
  "file": {
    "name": "Q4_Report.pdf",
    "id": "file_abc123",
    "size": 1024000
  }
}