Skip to main content
GET
Download an extraction visual image

Overview

Fetch a PNG or JPEG visual image referenced by an extraction response under bounding_boxes.Images[].image_url. When you call /extract with figure_processing.show_images: true, every detected chart or embedded image in the response carries an image_url field. Those URLs point at this endpoint — GET /results/{jobId}/images/{filename} — which streams the actual image bytes.
This endpoint is most useful for spreadsheet extractions, where charts and embedded images are read directly from the workbook. For PDFs and image inputs, the same shape applies whenever figure detection is enabled.

When to use this vs. /large_results/{jobId}

Fetching a visual image does not consume the parent extraction’s result-delivery slot, because a single extraction can contain many image URLs.

End-to-End Example

The full path: extract a workbook → walk the typed Images array → fetch one chart’s bytes.

Authentication

Every request must present a valid x-api-key header for the org that owns the extraction. Unlike the legacy single-use /large_results/{jobId} route, visual artifacts are independently-addressable resources — there is no anonymous fallback or short-lived public link.
  • Authenticated same-org calls (your x-api-key matches the org that produced the extraction): succeed for as long as the underlying artifact is retained — same window as any other extraction artifact for that org.
  • Missing credentials (no x-api-key header): rejected with 401 Unauthorized (AUTH_001).
  • Cross-org authenticated calls (valid key, but not the owning org): rejected with 403 Forbidden (AUTH_002).
Use the same key configuration as your other Pulse SDK calls — the SDK’s Pulse(api_key=...) / new PulseClient({ apiKey: ... }) constructor will attach x-api-key to every results.getImage fetch automatically.
Embedding image_url directly in public UIs (e.g. a server-rendered HTML page exposed to unauthenticated visitors) will fail with 401. For public/anonymous embeds, fetch the bytes server-side using your API key and re-host them, or proxy them through your own auth layer.
Repeated fetches against the same image_url are fine — the link is multi-use. Fetching does not consume the parent extraction’s result-delivery slot, so one extraction can produce many image URLs and each can be downloaded as many times as needed.

Errors

Next Steps

Bounding Boxes

Full reference for the Images, Tables, Text, Title, and Footer arrays.

Extract Endpoint

Enable figure_processing.show_images to populate image_url.

Authorizations

x-api-key
string
header
required

Path Parameters

jobId
string
required

Job identifier — same value used in the image_url returned from /extract.

filename
string
required

Visual filename — e.g. excel_image_1_1.png. Must be the exact filename segment from the image_url.

Response

Visual image bytes (image/png or image/jpeg).

The response is of type file.