Overview
IRIS is Scale’s proprietary OCR capability that provides complete pipeline control for custom document processing needs. When using IRIS through Dex, you get:- Use any OCR model: Experiment with different OCR engines to optimize for your specific documents. DEX can use any model hosted in SGP.
- Complete Pipeline Control: Configure layout detection, OCR processing, and assembly independently
- Unified Document Management: Upload and manage files through Dex’s file system
- Async Processing: Non-blocking parse jobs that process documents in the background
- Project Organization: Group files and parse results within Dex projects
- Extensibility: Add custom OCR models or layout detectors for specialized needs
Prerequisites
Before using IRIS, ensure you have:- Dex SDK installed
- SGP Account ID and API Key
- Access to a Dex instance
Basic Usage
Initialize Dex Client
Parse a Document with IRIS
What should I use for IrisParseEngineOptions? A common query when using Iris is “How can I get the best OCR results without spending time worrying about all the parameters inIrisParseEngineOptions?”. This section gives quick-start suggestions that you can use depending on your requirements that have been shown to perform consistently well across use-cases.
Option 1: I only need text, I don’t need bounding boxes.
Suggestion: text_ocr=“gpt-5.4” + layout=“whole_page” This bypasses the layout detection step, and instead passes the full page to the OCR model. This has been shown to consistently perform consistently well across benchmarks. Suggestion (open-source required):text_ocr="<Qwen/Qwen3.6-27B>" + layout="whole_page"
This is the same as the previous suggestion, but with the open-source Qwen/Qwen3.6-27B model instead, which has been shown to almost match gpt-5.4 in English and often exceed gpt-5.4 in Arabic. Using the Qwen model with Iris requires a deployed model endpoint available through SGP.
Option 2: I need bounding boxes.
The default config values were designed for this case, so you only need to specify which OCR model to use. The suggestion and open-source suggestion is the same for this case, with the only difference is we do not specifylayout so that it uses the default layout model option rt_detr_bce.
Custom evaluation
In order to get the highest OCR accuracy, you can run a custom evaluation workflow on your own data in SGP-Workflows. This includes evaluating the performance of the OCR models in Iris as well as comparing performance to Reducto. You can evaluate OCR results in 2 ways:- Evaluating the OCR performance against the ground truth using DEX & eval cards in SGP Compass.
- Evaluate the impact of the OCR results on your downstream tasks by plugging in your own downstream tasks and evaluation workflow into our SGP-workflow template in Compass.
Supported Document Types
IRIS supports various document formats:- PDF documents (.pdf)
- Images (.png, .jpg, .jpeg, .tiff)
- Scanned documents with printed or handwritten text
- Multi-page documents
Parsing PDFs
Basic PDF Parsing
Complete PDF Example
Parsing Images
IRIS supports various image formats including PNG, JPG, and TIFF.Basic Image Parsing
Complete Image Example
Uploading Files from Memory
You can also upload files directly from memory streams:Configuration Options
IrisParseEngineOptions
Customize IRIS behavior using parse engine options:Understanding Parse Results
Result Structure
IRIS returns parsed content organized into chunks, where each chunk represents a section of the document:Working with Different Content Types
IRIS detects and processes different content regions: Each ParseBlock.type is one of the layout labels IRIS detects. The current label set:- Text-family: text, title, caption, list-item, section-header, page-header, page-footer, formula, footnote
- Tables: table
- Images / figures: picture
File Management
List Files in Project
Get File Download URL
Check File Details
Error Handling
Handle Upload Errors
Handle Parse Errors
Processing Multiple Documents
Batch Processing
Multi-Language Support
IRIS supports OCR in multiple languages, including:- Latin-based languages: English, Spanish, French, German, Italian, Portuguese, etc.
- Arabic: With specialized model support
- Asian languages: Chinese, Japanese, Korean
- Other languages: Russian, Hebrew, Hindi, Thai, and more
Best Practices
Use Environment Variables for Credentials
Organize Files by Project
Wait for Parse Completion
Common Use Cases
Extract All Text from Document
Process Forms and Structured Documents
Performance Considerations
Processing Time
Parse job duration depends on:- Document length (number of pages)
- Image resolution and quality
- Content complexity (tables, mixed layouts)
- Selected OCR models
Optimization Tips
- Batch processing: Process multiple documents concurrently when possible
- Pre-processing: Ensure documents are properly oriented and of good quality
- Project organization: Group related documents in the same project for better management
Next Steps
Now that you understand how to use IRIS:- Review the Introduction to IRIS to learn about the underlying OCR pipeline
- Explore the Dex documentation for additional capabilities
- Integrate IRIS into your document processing workflows
- Use parsed results with Dex’s extraction and vector store features

