Deploy Upstage AI capabilities directly within your Snowflake environment as a serverless native application. The Native App runs entirely within your Snowflake account, ensuring data privacy and compliance while leveraging Snowflake's compute resources for document processing and AI operations.
Overview
Native App for Snowflake provides powerful AI capabilities directly within your Snowflake environment.
All processing happens securely within your Snowflake account using Snowflake's native compute pools and container services. Your data never leaves your environment.
Funcional Differences from Upstage Console
- Payload Size: Supports up to 50MB per request, same as Upstage Console.
- Page Limit: Up to 100 pages per request (synchronous processing).
- Response Size: Large responses can hit Snowflake's per-row size limit. If you encounter
Row is too large to be serialized for external function, see the Handling the 16MB Response Limit section below. - File Format Support: For Document Parsing capabilities, HWP file format is not supported.
- Processing Mode: Currently supports synchronous processing only.
- Auto Resume & Restart: Compute pools suspend when idle to avoid costs, but expect a short delay while AI models reload during auto resume.
Required Prerequisites
Before installing the Native App, ensure you have the following privileges:
CREATE COMPUTE POOL: Required to run the application service via Snowflake Container ServicesCREATE WAREHOUSE: Required for executing queries within SnowflakeDatabase and Schema Access: Permissions to grant access to your databases, schemas, and stages
These privileges are typically held by account administrators. Contact your Snowflake admin if you lack these permissions.
Common Installation & Setup
Install from Snowflake Marketplace
- Navigate to Snowflake Marketplace and search for
Upstage. - Click Product list item on the Upstage listing to start installation.
- Review the listing details & terms of service, and click
Try Nowto confirm. The application will be installed with a default name if not specified. ((e.g. Document Parse))


Initialize the Application
After installation, initialize the application to deploy the compute services. This process provisions GPU resources for document processing.
Important: GPU resource provisioning takes 5-10 minutes. The service must be ready before processing documents.
Check service status:
Wait until the status shows READY for all containers before proceeding.
Grant Data Access Permissions
To allow the application to read files from your Snowflake stages, grant the necessary permissions. All three grants are required:
That's it! You can now use the Native App to use our capabilities.
Available Capabilities
Document Parse
Usage
Method 1: Process Files from Snowflake Stage (Recommended)
After granting access permissions (see Installation step 3), process files directly from your Snowflake stages.
Basic Document Parsing:
Advanced Usage with Custom Options:
You can customize parsing behavior using a JSON options parameter:
Available Options: For detailed information about these options, please refer to the Document Parse API reference.
| Option | Type | Default | Description |
|---|---|---|---|
chart_recognition | boolean | true | Convert charts to structured tables |
merge_multipage_tables | boolean | false | Merge tables spanning multiple pages |
ocr | string | "auto" | OCR mode: "auto" (images only) or "force" (always) |
output_formats | array | ["html"] | Output formats: "text", "html", "markdown" |
coordinates | boolean | true | Include bounding box coordinates |
base64_encoding | array | [] | Layout categories to encode as base64 (e.g., ["table"]) |
Practical Examples:
Method 2: Process with Base64-Encoded Data
If you prefer to handle file reading yourself or already have base64-encoded data:
When to use base64 method:
- Custom file reading logic from external sources
- Processing data from external APIs
- Pre-processing files before sending to the app
- Already have base64-encoded data from another system
Response Format
The procedure returns a JSON object with the complete parsed document structure:
Performance Tips
- For scanned documents: Use
"ocr": "force"for best results - For digital PDFs: Use
"ocr": "auto"(default) to skip unnecessary OCR - For large documents: Consider processing in batches if possible
- For table extraction: Enable
"merge_multipage_tables": truefor tables spanning pages - For minimal response: Set
"coordinates": falseand"output_formats": ["text"] - For high-quality scans: Use 300 DPI or higher for best OCR accuracy
Handling the 16MB Response Limit
Snowflake enforces a hard limit of 16MB per row when returning serialized data. Because Document Parse returns the entire parsed result as a single row, large or image-heavy documents can exceed this limit and trigger the following error:
If you run into this error, try one or more of the following:
- Split multi-page documents: Break the document into smaller page ranges (e.g., 10β20 pages per request) and process them separately. Merge the results using a Snowflake stored procedure or in your application code.
- Disable
base64_encoding: Base64-encoded image payloads (e.g.,["table"],["figure"]) account for a large portion of the response size. Setbase64_encodingto[](default) when you don't need the encoded images. - Reduce output formats: Request only the formats you actually need β e.g., use
"output_formats": ["text"]or["markdown"]instead of including all three (text,html,markdown). - Drop coordinates: Set
"coordinates": falseif bounding box information isn't required for your use case.
API Reference
For detailed API specifications and advanced usage:
Cost Management Tips
- Warehouse Auto-Suspend: Configure warehouses to auto-suspend when idle to minimize costs
- Compute Pool Management: Monitor compute pool usage and auto-suspend settings
- Query Optimization: Use filters and limits to minimize unnecessary document processing
- Storage Optimization: Archive or remove processed documents when no longer needed
- Output Format Selection: Request only needed formats to reduce response size and processing time
Support
Getting Help
For questions about the Snowflake Native App or technical assistance:
Technical Support
- Visit Upstage Support for technical issues
- Review the Troubleshooting section above for common issues
- Check service status and error messages for diagnostic information
Sales and Pricing
- Contact our sales team for enterprise deployment options
- Email contact@upstage.ai for volume discounts and custom solutions
Managed Applications
Deploy Upstage Information Extract, Document Parse, and Studio on Azure using managed applications for secure, private deployment in your virtual network.
Rate limits
Rate limit policy by capability and tier (RPS, RPM, TPM, PPM), what a 429 response means, and best practices for staying under the limits.