WebToNative On-Device Image → Structured Data — QA Console
Checking...
WebToNative Image Data Extraction API is not available. Open this page inside the WebToNative WebView.
1. Image Source
📷 Camera
📷️ Gallery
</> Base64
Camera: capture a new image using the native camera.
Image Validation Test Samples
2. Schema Builder
Maximum nesting depth: 5 · Maximum fields: 50 · Max field name length: 100 · Max description length: 500 · Max schema JSON size: 32 KB
Use a Custom Schema JSON File
Upload a .json file containing the schema object. The file is read locally in this page; it is not uploaded to a server.
No custom schema file selected.
Schema Validation Tests
Each button fills the raw override box with a deliberately edge-case schema. The native API decides the actual validation result (expected: UNSUPPORTED_SCHEMA for invalid cases).
UI Options
Request Preview
StatusChecking...
Callback Count (this request)0
Result
Status—
Engine—
Execution Time—
Error Code—
Error Message—
Extracted Data
No result yet.
Raw Response
No result yet.
Testing Controls
Concurrency Test Results
Fires two extraction requests back-to-back. Expect one to succeed/fail normally and the other to potentially return EXTRACTION_IN_PROGRESS.
Request 1not run
Request 2not run
Request History (in-memory only)
Time
Mode
Status
Engine
Exec ms
Debug Information
Current Modecamera
Schema Field Count0
Schema JSON Size0 bytes
Request Start Time—
Request End Time—
Total Callback Count0
Last Error Code—
Last Engine Used—
Last Execution Time—
Activity Log (mirrors console, no sensitive data)
Implementation Note
Current implementation pipeline: Image → OCR → recognized text → on-device GenAI(text) → structured result. This is not multimodal image GenAI.
GenAI availability depends on device/OS support. When GenAI is unavailable or fails, OCR fallback may be used.
This page never uploads images, never sends extracted data anywhere, never writes Base64 or extracted data to localStorage, and never logs Base64 content. Everything lives in runtime memory only and is lost on reload.