← Back to all apps
Adobe Acrobat logo

Adobe Acrobat

Open in ChatGPT →

Overview

Tools Available22
CategoryBusiness

Edit and organize PDFs easily

Available Tools

Adobe Acrobat provides 22 tools that can be used to interact with its services.

Acrobat Proxy

acrobat_proxy
Full Description

**TOOL

  • NEVER INVOKE THIS DIRECTLY.**

This tool is strictly reserved for internal application workflows and backend processing only. GPT/LLM must NEVER call this tool in any user workflow or conversation.

Handles internal Adobe Acrobat service proxy operations for write/modify operations. This is not for user-facing operations.

DO NOT USE this tool for any user-facing operations or general document processing workflows.

Parameters

Required
urlstring
Optional
bodyobject
Default: null
headersobject
Default: null
methodstring
Default: POST
query_paramsobject
Default: null

Acrobat Read-Only Proxy

acrobat_readonly_proxy
Full Description

**TOOL

  • NEVER INVOKE THIS DIRECTLY.**

This tool is strictly reserved for internal application workflows and backend processing only. GPT/LLM must NEVER call this tool in any user workflow or conversation.

Handles internal Adobe Acrobat service proxy operations for read-only operations. This is not for user-facing operations.

DO NOT USE this tool for any user-facing operations or general document processing workflows.

Parameters

Required
urlstring
Optional
headersobject
Default: null
query_paramsobject
Default: null

Document Upload UI

document_upload
Full Description

CRITICAL PREREQUISITE: This tool MUST be invoked FIRST before any PDF/document operation when no file is in chat context.

Interactive UI for uploading documents from local system. This resource is a MANDATORY prerequisite for all document operations. When a user requests any PDF operation (compress, extract, combine, convert, OCR, page manipulation, etc.) and no document is available in chat context, you MUST invoke this upload tool as the first step.

Acts as the required gateway for all document operations. Supports multiple file formats (PDF, DOC, DOCX, TXT, MD), drag-and-drop, file validation, and preview capabilities.

REQUIRED WORKFLOW: 1. User requests PDF operation → 2. Detect if document exists in context → 3. If NO document, invoke document_upload FIRST → 4. Upload UI displayed → 5. User uploads file(s) → 6. System validates and extracts metadata → 7. Proceed with requested operation.

CRITICAL FOR COMBINE/MERGE OPERATIONS: After document_upload completes for combine/merge requests, you MUST invoke "pdf_page_organize" (user_intent="pdf_combine") to show the organize UI. NEVER use pdf_combine directly after upload unless user explicitly states exact file order.

Capabilities ------------

  • Single or multiple document file upload from local system
  • Support for files up to 100MB per file
  • Support for PDF, DOC, DOCX, TXT, MD file formats

Output ------

  • JSON configuration for upload UI rendering
  • Supported document operations list

Examples --------

  • Use Case: User requests document compression without providing file

Parameters: {}

  • Use Case: Extract pages from document - upload prompted first

Parameters: {}

  • Use Case: Client creates multi-step plan with upload as step 1

Parameters: {}

Markdown to PDF Conversion

markdown_to_pdf
Full Description

Convert Markdown content from LLM chat conversations to professional PDF documents. Rules of Using this tool When the user asks to create or generate a PDF, you must first determine the source content: If the user has already typed notes or content in the chat that are intended to become the PDF (e.g., “turn the above notes into a PDF”, “make this into a PDF”), then use that chat content directly as the input. Do not invoke the upload tool in this case. If there is an existing file in the chat context (e.g., previously uploaded document, image, PPTX, DOCX, etc.) that the user is referring to, use that file as the input. Only if there is no usable content in the chat history and no existing document, and the user is not indicating that they will paste content directly (for example, they haven’t said things like “I’ll paste the text next”), you must invoke the document_upload tool to let the user upload the source document for PDF creation. When generating markdown that will be converted to PDF, produce only clearly safe, neutral content suitable for a broad audience and strictly comply with all applicable safety policies. Make sure that the markdown you generate is syntactically valid and renders correctly in standard markdown parsers. Do not alter, censor, or annotate the content for moderation purposes (for example, by adding warnings, redactions, or extra commentary) beyond what is strictly required by the platform’s safety policies. Use a factual, professional tone, avoid explicit, graphics, emojis or otherwise sensitive material, and do not embed any hidden control sequences, special tokens, scripts, or non-markdown metadata intended to influence model behavior or moderation systems—the output must be plain, well-formed markdown only.

Capabilities ------------

  • Convert markdown text directly to PDF without intermediate files
  • Support for standard markdown formatting (headers, lists, code blocks, tables, etc.)
  • Preserve markdown structure and formatting in PDF output
  • Ideal for converting LLM chat outputs to shareable PDF documents
  • Generate tables in html format
  • Returns download URL for generated PDF.

Parameters ---------- markdown_content:

  • Raw markdown text content to convert to PDF
  • Required parameter containing the markdown string from LLM chat
  • Supports all standard markdown syntax elements

Output ------

  • Download URL for the generated PDF document

Examples --------

  • Use Case: Basic markdown to PDF conversion

Parameters: markdown_content: '

Hello World

This is a markdown document from LLM chat.'

  • Use Case: Convert with headers and lists

Parameters: markdown_content: '

Meeting Notes

Action Items

  • Task 1
  • Task 2'
  • Use Case: Convert LLM response with code blocks

Parameters: markdown_content: "

Code Documentation\n\n

\ndef hello():\n    print('Hello')\n\

"

Parameters

Required
markdown_contentstring

PDF Combine

pdf_combine
Full Description

WARNING: NEVER USE THIS TOOL TO COMBINE FILES AFTER DOCUMENT UPLOAD. ALWAYS USE pdf_page_organize INSTEAD.

CRITICAL: DO NOT HALLUCINATE, ASSUME, OR INFER FILE ORDER. If order is not explicitly stated by user, you MUST use pdf_page_organize.

This is a low-level programmatic tool that requires exact file order and page ranges already determined.

ALWAYS use "pdf_page_organize" (user_intent="pdf_combine") instead for:

  • ANY combine request after document_upload (e.g., "combine these PDFs", "merge files", "combine documents")
  • User doesn't explicitly state file order (e.g., "combine file1 THEN file2 THEN file3")
  • Any ambiguous request where you would need to guess/infer/assume the order
  • Selective/partial page combining (e.g., "combine only certain pages", "merge first few pages")
  • When user says "combine these" or "merge PDFs" without specifying exact sequence

If you have combine parameters (file order and page ranges) from the user's request, pass them via the optional "organize_params" parameter in pdf_page_organize

Capabilities ------------

  • Merge multiple PDF files into a single document
  • Support to merge specific pages by allowing page ranges to be specified for each

source file

  • Combine entire PDFs or selected page ranges from each file

Parameters ---------- assets:

  • Array of PDF asset objects to combine
  • Each object must contain assetID (required) and pageRanges (optional)
  • assetID
  • The PDF asset URL/URN or a FileParam object (file_id + download_url)
  • pageRanges
  • Optional array of page range objects with 'start' and 'end' fields

(1-indexed, inclusive)

  • If pageRanges is not provided or empty, all pages from that file are included
  • Page ranges are validated (start >= 1, end >= start)

Output ------

  • Download URL for the single merged PDF file
  • Document preview of the combined PDF

Examples --------

  • Use Case: PROGRAMMATIC ONLY
  • User says "combine file1.pdf then file2.pdf, all pages"

with explicit order Parameters: assets:

  • assetID: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

pageRanges: []

  • assetID: urn:aaid:sc:AP:f6e5d4c3-b2a1-4f9e-8d7c-6b5a4f3e2d1c

pageRanges: []

  • Use Case: PROGRAMMATIC ONLY
  • Combine attached PDFs via native picker

Parameters: assets:

  • assetID:

file_id: file-123 download_url: https://example.com/file1.pdf

  • assetID:

file_id: file-456 download_url: https://example.com/file2.pdf

  • Use Case: PROGRAMMATIC ONLY
  • User specifies exact page ranges and file order

Parameters: assets:

  • assetID: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

pageRanges:

  • start: 1

end: 3

  • assetID: urn:aaid:sc:AP:f6e5d4c3-b2a1-4f9e-8d7c-6b5a4f3e2d1c

pageRanges:

  • start: 1

end: 2

Parameters

Required
assetsarray

Array of PDF assets to combine in order. Each asset can include optional page ranges. Each assetID may be a FileParam object with file_id and download_url for native uploads.

PDF Compress

pdf_compress
Full Description

Reduce PDF file size while preserving visual quality through intelligent compression. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Capabilities ------------

  • Three compression levels (LOW, MEDIUM, HIGH) with automatic image optimization
  • Reduce file size for mobile viewing, archiving, and email attachments
  • Remove metadata, JavaScript, and layers for maximum compression

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to compress
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links
  • Can also be a FileParam object with file_id and download_url

compression_level:

  • Optional level- LOW, MEDIUM (default), HIGH
  • "LOW - 250\u2192200 dpi, MEDIUM- 200\u2192144 dpi, HIGH- 100\u219272 dpi"

Output ------

  • Download URL for compressed PDF file

Examples --------

  • Use Case: Default compression

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

  • Use Case: High compression

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d compression_level: HIGH

  • Use Case: Compress Google Drive PDF

Parameters: asset_url_or_urn: https://drive.google.com/file/d/{FILE_ID}/view compression_level: MEDIUM

  • Use Case: Compress using FileParam object

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf compression_level: MEDIUM

Parameters

Required
asset_url_or_urn

PDF file to compress. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
compression_level

Compression intensity level. LOW: Reduces images >250 dpi to 200 dpi (JPEG2000 high quality, best for max quality). MEDIUM: Reduces images >200 dpi to 144 dpi (JPEG2000 medium quality, recommended for most cases). HIGH: Reduces images >100 dpi to 72 dpi (JPEG medium quality, removes metadata and JavaScript, best for email/mobile)

Default: MEDIUM

PDF Create

pdf_create
Full Description

Convert various document and image formats to standardized PDF documents. Before invoking this tool, evaluate whether the chat context already contains an image or document file (e.g., inline attachment, previous upload). If a supported file is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Capabilities ------------

  • Support Office formats (DOC, DOCX, PPT, PPTX, XLS, XLSX) and images (BMP, GIF, JPEG,

PNG, TIF)

  • Standardize documents from multiple sources into consistent PDF format
  • Prepare documents for digital signing or review workflows

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of source file
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links

document_language:

  • Optional language code (default - en-US)

file_format:

  • Optional source format (default - docx)
  • Supported formats are bmp, doc, docx, gif, jpeg, jpg, png, ppt, pptx, rtf, tif,

tiff, txt, xls, xlsx

Output ------

  • Download URL for converted PDF document

Examples --------

  • Use Case: Basic document conversion

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

  • Use Case: French document conversion

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d document_language: fr-FR

  • Use Case: Create PDF using FileParam object

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/document.docx file_format: docx

Parameters

Required
asset_url_or_urn

Source file to convert to PDF. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
document_languagestring

Language code for text processing. Examples: en-US, fr-FR, ja-JP

Default: en-US
file_formatstring

Format of the source file. Supported: bmp, doc, docx, gif, jpeg, jpg, png, ppt, pptx, rtf, tif, tiff, txt, xls, xlsx

Default: docx

PDF Delete Pages

pdf_delete_pages
Full Description

Remove specific pages from PDF with exact page numbers/ranges. Check chat context for documents first. If none, invoke "document_upload" before proceeding. IMPORTANT: When a user requests page deletion, you must first invoke "pdf_page_organize" with user_intent="pdf_delete_pages" to show the interactive UI. If you have page ranges from the user's request, pass them via the optional "organize_params" parameter in pdf_page_organize. The UI will then call this tool (pdf_delete_pages) with the page ranges after the user makes their selections.

  • Note: This tool is typically called by the UI after user interaction, not directly by the LLM

Capabilities ------------

  • Delete individual pages or ranges with explicit page specification
  • Create focused documents by removing specific sections
  • Preserve remaining document structure and page numbering

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to process
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links
  • 'Also accepts a native-picker FileParam object: { "file_id": "...", "download_url":

"https://..." }

' page_ranges:

  • Comma-separated numeric page ranges to delete
  • Format must be explicit numeric values (e.g., "1,3-5,7")
  • Do not use words like "blank", "empty", "scan", or "picture only"
  • Required parameter - if not provided, use pdf_page_organize tool instead

Output ------

  • Download URL for PDF with specified pages removed
  • Document preview of the modified PDF

Examples --------

  • Use Case: Delete single page

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d page_ranges: '3'

  • Use Case: Delete page ranges

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d page_ranges: 1,3-5,9,12-15

  • Use Case: Delete pages using attached PDF

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf page_ranges: 1,2

Parameters

Required
asset_url_or_urn

PDF file to delete pages from. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

page_rangesstring

Comma-separated list of page numbers or inclusive ranges (e.g., "1,3-5,10").

PDF Edit UI

pdf_edit_ui
Full Description

Interactive UI tool for editing PDF documents. This tool renders an editing interface that displays the specified PDF document with editing and annotation capabilities.

Provides an editing experience for PDF files already uploaded or available in the chat context. Before invoking this tool, first evaluate whether the current chat context contains an existing PDF document. If there is no PDF in the chat context, you must first invoke the "document_upload" tool to request the file from the user. After the PDF is available in context, proceed with this edit UI tool.

WORKFLOW: User requests PDF edit → Verify PDF in context (if not, invoke document_upload) → Client invokes edit UI with asset_url_or_urn → Edit UI displayed → User can interact with and edit the PDF.

Capabilities ------------

  • Display PDF documents in an interactive editor
  • Navigate through PDF pages
  • Edit interface for document modifications

Output ------

  • JSON configuration for edit UI rendering
  • Editor capabilities and settings
  • Asset URL or URN for the PDF to display

Examples --------

  • Use Case: User requests to edit a PDF document

Parameters: {}

  • Use Case: Edit PDF after upload

Parameters: {}

  • Use Case: Open PDF in editing interface for modifications

Parameters: {}

  • Use Case: Edit attached PDF

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf

Parameters

Required
asset_url_or_urn

PDF file to edit. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

PDF Export

pdf_export
Full Description

Export PDF documents to editable office formats with OCR support. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Capabilities ------------

  • Export to DOC, DOCX, PPTX, XLSX, RTF formats with OCR for scanned documents
  • Convert PDFs to editable formats for content modification
  • Multi-language OCR support for international documents

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to export
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links

ocr_language:

  • Optional OCR language code

target_format:

  • Optional export format (default - docx)
  • Supported formats - doc, docx, pptx, xlsx, rtf

Output ------

  • Download URL for exported document in specified format

Examples --------

  • Use Case: Export to DOCX

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

  • Use Case: Export to PowerPoint with French OCR

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d target_format: pptx ocr_language: fr-FR

  • Use Case: Export using download URL from previous operation

Parameters: asset_url_or_urn: https://stage.to.adobe.com/lpLTti0C

  • Use Case: Export using FileParam object

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf target_format: docx

Parameters

Required
asset_url_or_urn

PDF file to export. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
ocr_languagestring

Language code for OCR operation. Example: "en-US", "fr-FR", "ja-JP"

Default: null
target_formatstring

Format to export to. Supported formats: doc, docx, pptx, xlsx, rtf

Default: docx

PDF OCR

pdf_ocr
Full Description

Make PDF documents searchable through Adobe's OCR service. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Capabilities ------------

  • Multi-language OCR processing with 15+ languages including CJK
  • Two processing type - standard (smaller size) and exact positioning (precise layout)
  • Enable text search in image-based PDFs
  • Digitize paper documents for archival and retrieval
  • Maintain original image quality while adding text layer

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to process
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links

ocr_locale:

  • Optional language code (default - en-US)
  • Supported languages are en-US, en-GB, fr-FR, de-DE, it-IT, es-ES, nl-NL, sv-SE,

da-DK, fi-FI, nb-NO, pt-BR, pt-PT, ja-JP, zh-CN, zh-Hant, ko-KR ocr_type:

  • Optional processing type (default - searchable_image)
  • Supported values are - searchable_image
  • Maintains original image quality while

adding text layer (recommended, smaller file size) - searchable_image_exact

  • Maintains

exact image positioning with text layer (use when precise layout preservation is critical, larger file size)

Output ------

  • Download URL for searchable PDF with text layer

Examples --------

  • Use Case: Basic OCR processing

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

  • Use Case: Japanese OCR with exact positioning

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d ocr_locale: ja-JP ocr_type: searchable_image_exact

  • Use Case: OCR using FileParam object

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf ocr_locale: en-US

Parameters

Required
asset_url_or_urn

PDF file to apply OCR to. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
ocr_localestring

Language code for OCR operation. Supported: en-US, en-GB, fr-FR, de-DE, it-IT, es-ES, nl-NL, sv-SE, da-DK, fi-FI, nb-NO, pt-BR, pt-PT, ja-JP, zh-CN, zh-Hant, ko-KR

Default: en-US
ocr_typestring

OCR processing type. searchable_image: maintains original quality (recommended). searchable_image_exact: preserves exact positioning (larger file)

Default: searchable_image

PDF Operation Status

pdf_operation_status
Full Description

Check the status of asynchronous PDF operations and retrieve results.

Capabilities ------------

  • Monitor progress of long-running PDF operations
  • Retrieve results of completed operations
  • Check if an operation has failed or needs retry
  • Real-time status checking
  • Error details for failed operations
  • Support for all PDF operation types

Parameters ---------- operation_name:

  • Optional type of operation
  • Supported values are pdf_compress, pdf_combine, pdf_create, pdf_ocr, pdf_export,

pdf_reorder_pages, pdf_rotate_pages, pdf_to_image, pdf_to_markdown, pdf_delete_pages, pdf_properties

  • Helps determine the correct result type for the operation

tracking_id:

  • The tracking ID of the operation to check
  • This is returned by the original operation
  • Required to identify which operation to check

Output ------

  • Success message containing the operation name and download URL for the completed

operation

Examples --------

  • Use Case: Check status of a PDF compression operation

Parameters: tracking_id: abc123-operation-id operation_name: pdf_compress

  • Use Case: Check status of a PDF combine operation

Parameters: tracking_id: def456-operation-id operation_name: pdf_combine

  • Use Case: Check status of an OCR operation

Parameters: tracking_id: ghi789-operation-id operation_name: pdf_ocr

Parameters

Required
tracking_idstring
Optional
operation_namestring
Default: null

PDF Page Organize UI

pdf_page_organize
Full Description

Interactive UI for PDF page operations: delete, reorder, rotate, combine, and split with visual page selection.

Input rule:

  • Provide input_assets as an array. Each item can be a FileParam object ({file_id, download_url}) or a URN/HTTPS URL string.
  • Do NOT pass local paths like /mnt/data.

When the user attached PDFs via the ChatGPT native picker, pass the FileParam objects in the input_assets array (openai/fileParams points to input_assets).

Check chat context for existing PDFs first. If none, invoke "document_upload" before proceeding. Before invoking this tool for any organize operation, you must determine whether PDF properties are required to correctly work on the active query, such as page count, page ranges, file size, or any other structural information that affects how pages should be organized, rendered, or transformed. If any part of the operation depends on such properties, you must first call the "pdf_properties" tool. After invoking "pdf_properties", you must carefully inspect and evaluate the returned metadata (e.g., total pages, page dimensions, file size, rotation, page labels, etc.).Based on this evaluated metadata, you must construct the exact and validated arguments for this pdf_page_organize tool specifically the right user_intent and organize_params. Use this tool when:

  • User needs VISUAL/INTERACTIVE page selection for any operation
  • Requests lack specific parameters (e.g., "delete some pages", "organize my PDF", "merge PDFs")
  • Delete: User wants to remove pages but doesn't specify which ones (e.g., "delete blank pages", "remove unnecessary pages")
  • Reorder: User wants to rearrange pages without exact sequence (e.g., "reorganize pages", "change page order")
  • Rotate: User wants to rotate pages without specifying exact pages/angles (e.g., "fix orientation", "rotate some pages")
  • Combine: ALWAYS DEFAULT for ALL combine requests after document_upload. Use this unless user explicitly states exact file order like "combine file1 THEN file2 THEN file3, all pages" (e.g., "combine PDFs", "merge files", "combine these documents", "merge uploaded files", or ANY case where file order is not explicitly specified by user)
  • Split: Request is vague without specific split method (e.g., "split this PDF", "divide into parts")

Use direct tools instead when:

  • pdf_delete_pages: Exact page numbers provided (e.g., "delete pages 1,3,5")
  • pdf_reorder_pages: Exact sequence specified (e.g., "reorder as 3,1,2")
  • pdf_rotate_pages: Exact pages and angles given (e.g., "rotate page 1 by 90 degrees")
  • pdf_combine: EXTREMELY RARE
  • ONLY when user explicitly states exact file sequence like "combine file1.pdf THEN file2.pdf THEN file3.pdf, all pages from each". NEVER use if you would need to guess, assume, or infer the order
  • pdf_split: Specific split options given (file_count, page_count, or page_ranges)

Capabilities ------------

  • pdf_delete_pages
  • Remove specific pages from PDF
  • pdf_reorder_pages
  • Rearrange page order in PDF
  • pdf_rotate_pages
  • Rotate pages by 90, 180, or 270 degrees
  • pdf_combine
  • Merge multiple PDF files into one
  • pdf_split
  • Split PDF into multiple files
  • pdf_redact
  • Search and highlight text for redaction preview

Parameters ---------- input_assets:

  • Required
  • Array of PDF assets. Each entry can be a FileParam object (with file_id

and download_url) or a URN/HTTPS URL string.

  • IMPORTANT
  • Do NOT pass local paths like /mnt/data. For native uploads, pass FileParam

objects in the input_assets array. organize_params:

  • Optional
  • Operation-specific parameters to pre-fill in the UI
  • For user_intent=pdf_rotate_pages, pass rotation parameters as JSON object with page_rotations

array

  • Example for rotate - page_rotations array containing angle (ANGLE_90/ANGLE_180/ANGLE_270)

and pages array with start/end integers

  • For user_intent=pdf_combine, pass page ranges as JSON object with pageRanges array
  • Example for combine - pageRanges array of arrays, one per asset - first asset pages

1-2, second asset all pages

  • For user_intent=pdf_delete_pages, pass page ranges as JSON object with page_ranges

string

  • Example for delete - page_ranges as comma-separated string like 1,3,5 or 2-4,6,9-12
  • Do NOT pass page ranges as start/end objects - delete only accepts a comma-separated

string like 1,3-5,10

  • For user_intent=pdf_reorder_pages, pass page sequence as JSON object with page_sequence

string

  • Example for reorder - page_sequence as comma-separated string like 3,1,2 or 5,2,1,4,3
  • Do NOT pass page sequence as start/end objects or arrays - reorder requires a comma-separated

string like 3,1,2

  • For user_intent=pdf_split, pass split option as JSON object with split_option JSON

string

  • Example for split - split_option as JSON string containing file_count, page_count,

or page_ranges strategy

  • Do NOT pass split options as start/end objects - wrap options in the JSON string

value

  • Note
  • Assets are passed separately via the assets parameter, not duplicated in

organize_params

  • If provided, the UI will pre-fill these values but still allow user to modify them

redactable_strings:

  • Optional
  • Only used with user_intent=pdf_redact
  • List of words/phrases to search and highlight in the PDF
  • Example - password, SSN, confidential
  • UI will search for these strings and highlight all matches for user review

user_intent:

  • Required
  • Specifies the operation type. Supported values pdf_delete_pages, pdf_reorder_pages,

pdf_rotate_pages, pdf_combine, pdf_split, pdf_redact

  • pdf_delete_pages
  • Remove pages
  • pdf_reorder_pages
  • Rearrange page order
  • pdf_rotate_pages
  • Rotate pages
  • pdf_combine
  • Merge PDFs (especially for selective/partial page combinations)
  • pdf_split
  • Divide PDF into multiple files
  • pdf_redact
  • Search and highlight text for redaction

Output ------

  • JSON configuration with operation definitions
  • UI hints for rendering the interface
  • Parameter specifications for each operation
  • Links to corresponding tool names
  • user_intent field indicating the intended operation

Examples --------

  • Use Case: User wants to delete/reorder/rotate pages without specific details

Parameters: input_assets: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d user_intent: pdf_delete_pages

  • Use Case: Rotate pages (native picker upload) - user attached PDF via ChatGPT picker

Parameters: input_assets:

  • file_id: file_abc123

download_url: https://example.com/download/file_abc123 file_name: input.pdf mime_type: application/pdf user_intent: pdf_rotate_pages

  • Use Case: Combine PDFs with native picker uploads (multi-file)

Parameters: input_assets:

  • file_id: file_abc123

download_url: https://example.com/download/file_abc123

  • file_id: file_def456

download_url: https://example.com/download/file_def456 user_intent: pdf_combine

  • Use Case: Rotate pages with pre-filled parameters

Parameters: input_assets: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d user_intent: pdf_rotate_pages organize_params: page_rotations:

  • angle: ANGLE_90

pages:

  • start: 1

end: 3

  • Use Case: Combine PDFs with pre-filled parameters

Parameters: input_assets: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d, urn:aaid:sc:AP:f6e5d4c3-b2a1-4f9e-8d7c-6b5a4f3e2d1c user_intent: pdf_combine organize_params: pageRanges:

  • - start: 1

end: 2

  • []
  • Use Case: DEFAULT
  • User says "combine these PDFs" or "merge files" after upload

(file order not explicitly stated) Parameters: input_assets: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d, urn:aaid:sc:AP:f6e5d4c3-b2a1-4f9e-8d7c-6b5a4f3e2d1c user_intent: pdf_combine

  • Use Case: User says "combine PDFs" without specifying exact order
  • ALWAYS use organize

UI Parameters: input_assets: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d, urn:aaid:sc:AP:f6e5d4c3-b2a1-4f9e-8d7c-6b5a4f3e2d1c user_intent: pdf_combine

  • Use Case: User wants to redact specific words without exact coordinates

Parameters: input_assets: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d user_intent: pdf_redact redactable_strings:

  • password
  • SSN
  • confidential

Parameters

Required
input_assetsarray

List of PDF assets. Each entry can be a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

user_intentstring

Operation user wants: pdf_delete_pages, pdf_reorder_pages, pdf_rotate_pages, pdf_combine, pdf_split, pdf_redact

Options:pdf_delete_pagespdf_reorder_pagespdf_rotate_pagespdf_combinepdf_splitpdf_redact
Optional
assetsstring
Default: null
organize_paramsobject

Optional parameters for the specific operation (validated only in `input_assets` mode).

Default: null
redactable_stringsarray

List of words/phrases to search and highlight (only for pdf_redact intent)

Default: null

PDF Properties Extraction

pdf_properties
Full Description

Extract comprehensive document properties such as page count, version, encryption status and metadata of a PDF file. This tool must be invoked when the user has asked to work on a PDF file, and you need to know the properties of the file before proceeding with the operation. Use this tool to disambiguate the user's intent and determine the properties of the file before proceeding with that operation. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Capabilities ------------

  • Retrieve document-level properties (page count, version, encryption status)
  • Extract detailed page-level properties (dimensions, rotation, content type)
  • Access document metadata (title, author, dates)
  • Check PDF characteristics (linearization, tags, embedded files)

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to analyze
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links

include_page_level_properties:

  • Optional boolean to include page-level details (default - false)
  • true
  • Returns detailed information for each page
  • false
  • Returns only document-level properties

Output ------

  • Download URL for JSON file containing PDF properties and metadata

Examples --------

  • Use Case: Get basic document properties

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

  • Use Case: Get comprehensive properties including page details

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d include_page_level_properties: true

  • Use Case: Analyze Google Drive PDF properties

Parameters: asset_url_or_urn: https://drive.google.com/file/d/{FILE_ID}/view include_page_level_properties: false

  • Use Case: Get properties using FileParam object

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf include_page_level_properties: true

Parameters

Required
asset_url_or_urn

PDF file to extract properties from. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
include_page_level_propertiesboolean

Whether to include detailed page-level properties. True: returns info about each page. False: returns only document-level properties

Default: False

PDF Redact

pdf_redact
Full Description

Permanently redact specified areas in a PDF using precise bounding box coordinates. This tool is invoked only by the UI after the user confirms redaction regions. The LLM must not call this tool directly when the user provides text to remove.

REDACTION WORKFLOW RULES FOR THE LLM

1. If the user provides exact words or phrases to redact:

  • Do not call pdf_to_markdown.
  • Call pdf_page_organize with:

user_intent = "pdf_redact" redactable_strings = [user-provided strings]

  • The UI highlights matches and, after user confirmation, calls this tool.

2. If the user requests general redaction or PII discovery (e.g., "redact sensitive info", "remove all PII"):

  • Call pdf_to_markdown to extract text.
  • Detect PII or sensitive strings from the markdown.
  • Call pdf_page_organize with:

user_intent = "pdf_redact" redactable_strings = [detected strings]

  • The UI highlights matches and, after user confirmation, calls this tool.

WHEN THIS TOOL IS USED

  • Only when final bounding box coordinates are available from the UI.
  • Never for text search, PII detection, or preprocessing.
  • Permanently removes content by applying black-box redactions.

Capabilities ------------

  • Precise bounding-box redaction
  • Multiple regions and pages supported
  • Permanent removal of text, images, and graphics

Parameters ---------- asset_url_or_urn:

  • Required PDF source (Adobe URN, URL, Google Drive, or native picker FileParam)
  • Can also be a FileParam object with file_id and download_url (use when the user

attached a file through the native picker) redaction_blocks:

  • Required list of regions, each entry must include page (1-indexed) and bounding_box

{ left, top, right, bottom }

  • UI supplies these coordinates after the user confirms redaction regions

Output ------

  • Download URL for the redacted PDF
  • Redacted regions appear as solid black boxes

Parameters

Required
asset_url_or_urn

PDF source to redact. Pass a URL/URN string or a FileParam object (native picker upload).

redaction_blocksarray

List of redaction blocks. Each block must specify: page (1-indexed) and bounding_box {left, top, right, bottom}.

PDF Page Reordering

pdf_reorder_pages
Full Description

Reorganize PDF pages with exact sequence order.

IMPORTANT: When a user requests page reordering, you must first invoke "pdf_page_organize" with user_intent="pdf_reorder_pages" to show the interactive UI. If you have page sequence from the user's request, pass it via the optional "organize_params" parameter in pdf_page_organize. The UI will then call this tool (pdf_reorder_pages) with the page sequence after the user makes their selections.

Before invoking pdf_page_organize, first evaluate whether the current chat context contains an existing document that is relevant to what the user is asking to do. Relevant documents include any file types supported by the tool such as PDF, DOCX, PPTX, images, or other convertible formats. If there is no relevant document in the chat context, or the available document is not suitable for this tool's operation, you must first invoke the "document_upload" tool to request the appropriate file from the user. After the user uploads a file and the document is available in context, proceed with pdf_page_organize.

Use "pdf_page_organize" (user_intent="pdf_reorder_pages") instead when:

  • User needs VISUAL/INTERACTIVE page reordering (e.g., "rearrange pages", "reorganize my PDF", "change page order")
  • Request lacks specific page sequence
  • ALWAYS use pdf_page_organize for reorder requests, even when specific sequence is provided - pass it via organize_params

Capabilities ------------

  • Rearrange pages in any custom order with explicit sequence specification
  • Duplicate pages in multiple locations within document
  • Maintain document quality, formatting, and interactive elements

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to reorder
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links
  • 'Also accepts a native-picker FileParam object: { "file_id": "...", "download_url":

"https://..." }

' page_sequence:

  • Comma-separated list of page numbers representing the new page order
  • Page numbers are 1-based (first page is 1)
  • Format - "3,1,2" (string literal only)
  • Do NOT send JSON arrays or objects (e.g., [3,1,2]); the parameter must be the quoted

comma-separated string

  • Do not use words like "correct sequence", "odd", "even", "ordered" or "sort".

Output ------

  • Download URL for reordered PDF document
  • Document preview of the modified PDF

Examples --------

  • Use Case: Reorder pages of a PDF - 3rd page first, then 2nd and 1st at last

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d page_sequence: 3,2,1

  • Use Case: Reorder using download URL from previous operation

Parameters: asset_url_or_urn: https://stage.to.adobe.com/YEjc3Acp page_sequence: 1,3,2

  • Use Case: Reorder attached PDF

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf page_sequence: 2,1

Parameters

Required
asset_url_or_urn

PDF file to reorder. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

page_sequencestring

Comma-separated list or JSON array of page numbers representing the new page order (1-based).

PDF Page Rotation

pdf_rotate_pages
Full Description

Rotate specific pages with exact angles and page numbers. IMPORTANT: When a user requests page rotation, you must first invoke "pdf_page_organize" with user_intent="pdf_rotate_pages" to show the interactive UI. If you have rotation parameters (angles and page numbers) from the user's request, pass them via the optional "organize_params" parameter in pdf_page_organize. The UI will then call this tool (pdf_rotate_pages) with the rotation parameters after the user makes their selections. Before invoking pdf_page_organize, first evaluate whether the current chat context contains an existing document that is relevant to what the user is asking this tool to do. Relevant documents include any file types supported by the tool such as PDF, DOCX, PPTX, images, or other convertible formats. If there is no relevant document in the chat context, or the available document is not suitable for this tool's operation, you must first invoke the "document_upload" tool to request the appropriate file from the user. After the user uploads a file and the document is available in context, proceed with pdf_page_organize.

If from the intent of the user, you do not completely understand which all pages to rotate, ensure to use pdf_properties** tool to get the page count and then use the page numbers to rotate the pages. Use "pdf_page_organize" (user_intent="pdf_rotate_pages") instead when:

  • User needs VISUAL/INTERACTIVE page rotation (e.g., "fix orientation", "rotate some pages", "rotate landscape pages")
  • Request lacks specific angles or page numbers
  • ALWAYS use pdf_page_organize for rotation requests, even when specific parameters are provided - pass them via organize_params

Use THIS tool when:

  • Exact rotation angles and pages provided (e.g., "rotate page 2 by 90 degrees")
  • Note: This tool is typically called by the UI after user interaction, not directly by the LLM

Capabilities ------------

  • "Rotate at specific angles 90\xB0, 180\xB0, or 270\xB0 with explicit page specification"
  • Standardize mixed-orientation documents for consistent viewing
  • Apply different rotation angles to different page ranges in single operation
  • Target individual pages or ranges with preserved document structure

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to rotate
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links
  • 'Also accepts a native-picker FileParam object: { "file_id": "...", "download_url":

"https://..." }

' page_rotations:

  • Required parameter
  • JSON string containing rotation specifications
  • Required field angle specifies rotation angle (ANGLE_90, ANGLE_180, or ANGLE_270)
  • Required field pages is an array where each item has start and optional end page

numbers

  • For a single page, set end equal to start. For a bounded multi-page range, provide

both start and end. Leave end empty/null to rotate every page from start through the end of the document.

  • Do not use words like "landscape", "inverted", or "portrait"
  • If not provided, use pdf_page_organize tool instead

Output ------

  • Download URL for PDF with rotated pages
  • Document preview of the modified PDF

Examples --------

  • Use Case: Rotate single page 90 degrees

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d page_rotations: '[{"angle": "ANGLE_90", "pages": [{"start": 1, "end": 1}]}]'

  • Use Case: Rotate page range 180 degrees

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d page_rotations: '[{"angle": "ANGLE_180", "pages": [{"start": 1, "end": 3}]}]'

  • Use Case: Rotate every page from 5 onward

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d page_rotations: '[{"angle": "ANGLE_270", "pages": [{"start": 5}]}]'

  • Use Case: Rotate using attached PDF

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf page_rotations: '[{"angle": "ANGLE_90", "pages": [{"start": 1, "end": 1}]}]'

Parameters

Required
asset_url_or_urn

PDF file to rotate pages in. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

page_rotationsarray

Array of rotation specifications. Each specification defines an angle and the pages to rotate

Split PDF Documents

pdf_split
Full Description

Split PDF with exact split parameters (file_count, page_count, or page_ranges). Check chat context for documents first. If none, invoke "document_upload" before proceeding.

IMPORTANT: When a user requests PDF splitting, you must first invoke "pdf_page_organize" with user_intent="pdf_split" to show the interactive UI. If you have split parameters from the user's request, pass them via the optional "organize_params" parameter in pdf_page_organize. The UI will then call this tool (pdf_split) with the split parameters after the user makes their selections.

Before invoking pdf_page_organize, first evaluate whether the current chat context contains an existing document that is relevant to what the user is asking to do. Relevant documents include any file types supported by the tool such as PDF, DOCX, PPTX, images, or other convertible formats. If there is no relevant document in the chat context, or the available document is not suitable for this tool's operation, you must first invoke the "document_upload" tool to request the appropriate file from the user. After the user uploads a file and the document is available in context, proceed with pdf_page_organize.

ALWAYS use pdf_page_organize for split requests, even when specific parameters are provided - pass them via organize_params

Capabilities ------------

  • Split by file count with equal page distribution across output files
  • Split by page count with maximum pages per output file
  • Split by specific page ranges for precise control over content division

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to split
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links
  • 'Also accepts a native-picker FileParam object: { "file_id": "...", "download_url":

"https://..." }

' split_option:

  • Required parameter
  • JSON string containing one of three mutually exclusive split

options (file_count, page_count, or page_ranges)

  • file_count
  • Split into specified number of files with pages distributed evenly
  • page_count
  • Maximum number of pages per output file
  • page_ranges
  • Comma-separated page ranges string
  • 'Examples: {"file_count": 3} or {"page_count": 5} or {"page_ranges": "1-3,4-6"}'

Output ------

  • Download URL for ZIP file containing the split PDF files

Examples --------

  • Use Case: Split into 3 equal files

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d split_option: '{"file_count": 3}'

  • Use Case: Split by page ranges

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d split_option: '{"page_ranges": "1-3,4-6,7-10"}'

  • Use Case: Split with maximum 5 pages per file

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d split_option: '{"page_count": 5}'

  • Use Case: Split attached PDF into 2 files

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf split_option: '{"file_count": 2}'

Parameters

Required
asset_url_or_urn

PDF file to split. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

split_optionstring

JSON string that specifies exactly one of the split strategies: {"file_count": N}, {"page_count": N}, or {"page_ranges": "1,3-5"}

PDF to Image Conversion

pdf_to_image
Full Description

Convert PDF pages to JPEG or PNG image files. Before invoking this tool, evaluate whether the chat context already contains a PDF file (e.g., inline attachment, previous upload). If a PDF is available, use this tool. If no file is in context, invoke "document_upload" first to request the file from the user.

Capabilities ------------

  • Option to get individual image files or a ZIP archive
  • High-quality image conversion preserving document fidelity
  • Automatic handling of multi-page documents with one image per page

Parameters ---------- asset_url_or_urn:

  • Asset URL or URN of PDF to convert
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links

output_type:

  • Optional output type (default
  • ZIP_OF_PAGE_IMAGES)
  • ZIP_OF_PAGE_IMAGES - single ZIP file
  • LIST_OF_PAGE_IMAGES - individual files

target_format:

  • Optional image format (default
  • JPEG)
  • Supported values are JPEG and PNG

Output ------

  • Download URLs for image files in specified format

Examples --------

  • Use Case: Convert to JPEG images

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d

  • Use Case: Convert to PNG as ZIP

Parameters: asset_url_or_urn: urn:aaid:sc:AP:a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d target_format: PNG output_type: ZIP_OF_PAGE_IMAGES

  • Use Case: Convert Google Drive PDF to images

Parameters: asset_url_or_urn: https://drive.google.com/file/d/{FILE_ID}/view target_format: JPEG

  • Use Case: Convert using FileParam object

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf target_format: PNG

Parameters

Required
asset_url_or_urn

PDF file to convert to images. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
output_typestring

Type of output. ZIP_OF_PAGE_IMAGES: single ZIP file. LIST_OF_PAGE_IMAGES: individual files

Options:ZIP_OF_PAGE_IMAGESLIST_OF_PAGE_IMAGES
Default: ZIP_OF_PAGE_IMAGES
target_formatstring

Image format for output. Supported values: JPEG, PNG

Options:JPEGPNG
Default: JPEG

PDF to Markdown Conversion

pdf_to_markdown
Full Description

Convert multiple PDF documents to Markdown format concurrently. This the sole tool for high-quality PDF content extraction and semantic understanding of PDF documents. Whenever there is a need to understand, read, extract, summarize, classify, or otherwise “do something” with the content of the PDF , or need for you to get information using which a collection of PDFs can be sorted, grouped, or otherwise organized, you must first use this tool to convert the file into clean, well-structured Markdown that preserves logical reading order, headings, lists, tables, and captions, and then have all downstream tools operate only on that extracted Markdown rather than parsing PDF bytes directly. RULE Before invoking this tool, first evaluate whether the current chat context contains an existing document that is relevant to what the user is asking this tool to do. Relevant documents include any file types supported by the tool such as PDF, DOCX, PPTX, images, or other convertible formats. If there is no relevant document in the chat context, or the available document is not suitable for this tool's operation, you must first invoke the "document_upload" tool to request the appropriate file from the user. After the user uploads a file and the document is available in context, proceed with this tool.

Capabilities ------------

  • Process up to max 4 PDFs concurrently using multithreading
  • Returns raw markdown content directly for all PDFs
  • Handles mixed success/failure scenarios gracefully
  • Support for simple text-only extraction or complex extraction with figures/images/tables

Parameters ---------- assets:

  • List of asset URLs or URNs of PDFs to convert
  • Supports Adobe URNs (urn:aaid:sc:AP:uuid), download URLs, and Google Drive links
  • Can also be a FileParam object with file_id and download_url
  • Minimum 1 PDF, recommended 5-8 for optimal parallelization

include_figures:

  • Set to true for detailed extraction with figures, images, and charts
  • Set to false for faster text-only extraction (default)
  • Use true when user asks for "detailed", "with images", "including figures", or "extract

everything"

  • Use false when user asks for just "convert to markdown", "simple", "text only",

or "quick"

Output ------

  • JSON with all converted markdown content and metadata
  • Individual status and detailed metadata per PDF (file size, tokens, timing)
  • Detailed error information for failed conversions

Examples --------

  • Use Case: Convert multiple PDFs in parallel (text-only)

Parameters: assets:

  • urn:aaid:sc:AP:file1
  • urn:aaid:sc:AP:file2
  • https://example.com/file3.pdf

include_figures: false

  • Use Case: Convert using FileParam object

Parameters: assets:

  • file_id: file-123

download_url: https://example.com/file.pdf include_figures: false

  • Use Case: Batch conversion with figures and images

Parameters: assets:

  • urn:aaid:sc:AP:doc1
  • urn:aaid:sc:AP:doc2
  • urn:aaid:sc:AP:doc3
  • urn:aaid:sc:AP:doc4

include_figures: true

  • Use Case: Convert Google Drive PDFs in parallel with detailed extraction

Parameters: assets:

  • https://drive.google.com/file/d/{ID1}/view
  • https://drive.google.com/file/d/{ID2}/view

include_figures: true

Parameters

Required
assetsarray

List of PDF assets to convert. Each entry can be a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Optional
include_figuresboolean

Enable detailed extraction with figures, images, and charts. Set to true for comprehensive extraction including visual elements. Set to false for faster text-only extraction (recommended for simple text documents)

Default: False

PDF Viewer UI

pdf_viewer
Full Description

Interactive UI tool for previewing and viewing PDF documents. This tool renders a viewer interface that displays the specified PDF document with navigation and viewing capabilities.

Provides a seamless viewing experience for PDF files already uploaded or available in the chat context. It is highly preferable to use this tool when working with rendering PDF documents due to the advanced PDF rendering technologies being utilized. WORKFLOW: User requests to preview/view a PDF → Client invokes viewer with asset_url_or_urn → Viewer UI displayed → User can navigate and interact with the PDF.

Capabilities ------------

  • Display PDF documents in an interactive viewer
  • Navigate through PDF pages
  • Zoom in/out functionality

Output ------

  • JSON configuration with asset information
  • Viewer capabilities and settings
  • Asset URL or URN for the PDF to display

Examples --------

  • Use Case: User requests to preview a PDF document

Parameters: {}

  • Use Case: View PDF after compression or other operation

Parameters: {}

  • Use Case: Preview PDF before performing additional operations

Parameters: {}

  • Use Case: Preview attached PDF

Parameters: asset_url_or_urn: file_id: file-123 download_url: https://example.com/file.pdf

Parameters

Required
asset_url_or_urn

PDF file to preview. Pass either a FileParam object (with file_id and download_url) or a URL/URN string starting with "https://" or "urn:". Local file paths are not supported.

Upload Proxy

upload_proxy
Full Description

**TOOL

  • NEVER INVOKE THIS DIRECTLY.**

This tool is strictly reserved for internal application workflows and backend processing only. GPT/LLM must NEVER call this tool in any user workflow or conversation. This is not for user-initiated uploads.

For user document uploads, use the 'document_upload' resource instead. This upload_proxy handles low-level storage operations: (1) direct base64 file ingestion for small files, returning Adobe asset IDs, and (2) presigned URL generation for large file transfers to Adobe Cloud Platform storage.

DO NOT USE this tool for any user-facing operations, file uploads requested by users, or general document processing workflows.

Parameters

Required
mimetypestring
sizeinteger
Optional
asset_idstring
Default: null
base64_contentstring
Default: null
file_namestring
Default: null