Skip to content

Extracting Figures from Documents

LlamaCloud provides several API endpoints to help you extract and work with figures (images) from your documents, including charts, tables, and other visual elements. This guide will show you how to use these endpoints effectively.

These figures can be used for a variety of purposes, such as creating visual summaries, generating reports, chatbot responses, and more.

Install API client package

pip install llama-cloud>=1.0

Import and configure client

from llama_cloud.client import AsyncLlamaCloud, LlamaCloud
client = LlamaCloud(api_key='<llama-cloud-api-key>')

To get a list of all figures across all pages in a document:

# Get all figures from a document
figures = client.pipelines.images.list_page_figures(id="your-file-id")

output will look something like this:

[
{
"figure_name": "page_1_figure_1.jpg",
"file_id": "71370e55-0f32-4977-b347-460735079386",
"page_index": 1,
"figure_size": 87724,
"is_likely_noise": true,
"confidence": 0.423
},
{
"figure_name": "page_2_figure_1.jpg",
"file_id": "71370e55-0f32-4977-b347-460735079386",
"page_index": 2,
"figure_size": 87724,
"is_likely_noise": true,
"confidence": 0.423
},
]

To get figures from a specific page in your document:

# Get figures from a specific page
page_figure = client.pipelines.images.get_page_figure(
"figure_name",
id="file-id",
page_index=2
)

This will return the binary data of the figure, which you can then save or process as needed.