> ## Documentation Index
> Fetch the complete documentation index at: https://www.adaline.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# PdfContent

# PdfContent

PDF document content with file metadata.

```python theme={null}
from adaline_api.models.pdf_content import PdfContent
```

***

## Fields

<ParamField body="modality" type="str" required>
  Must be `"pdf"`.
</ParamField>

<ParamField body="value" type="PdfContentValue" required>
  PDF data — either a URL or base64-encoded content. Use `PdfContentValue.from_dict()` to construct.
</ParamField>

<ParamField body="file" type="PdfContentFile" required>
  File metadata with `name`, `id`, and optional `size`.
</ParamField>

***

## Example

```python theme={null}
from adaline_api.models.pdf_content import PdfContent
from adaline_api.models.pdf_content_value import PdfContentValue
from adaline_api.models.pdf_content_file import PdfContentFile
from adaline_api.models.message_content import MessageContent

pdf = PdfContent(
    modality="pdf",
    value=PdfContentValue.from_dict({
        "type": "url",
        "url": "https://example.com/report.pdf"
    }),
    file=PdfContentFile(
        name="Q4_Report.pdf",
        id="file_abc123",
        size=1024000
    )
)

content = MessageContent(actual_instance=pdf)
```

**JSON**:

```json theme={null}
{
  "modality": "pdf",
  "value": {
    "type": "url",
    "url": "https://example.com/report.pdf"
  },
  "file": {
    "name": "Q4_Report.pdf",
    "id": "file_abc123",
    "size": 1024000
  }
}
```

***

## Related

* [MessageContent](/docs/reference/sdk/v2/python/types/MessageContent) — union wrapper for all content types
* [PromptMessage](/docs/reference/sdk/v2/python/types/PromptMessage) — chat message containing content arrays
