SoMark is a DocAI that can convert diverse documents—such as PDFs, images, and more—into structured Markdown or JSON. It is designed to work seamlessly across all scenarios.
SoMark is a DocAI that can convert diverse documents—such as PDFs, images, and more—into structured Markdown or JSON. It is designed to work seamlessly across all scenarios.
It breaks the traditional trade-off between accuracy, speed, and cost, delivering precise document parsing in milliseconds with minimal hardware resources.
The resulting structured data is AI-native, ready to power LLM training, enhance RAG systems, and enable intelligent agents.
SoMark pioneers the proprietary "OXR" algorithm, extending traditional OCR (Optical Character Recognition) into Optical Everything Recognition.
From basic layout segmentation and reading-order recovery to complex elements such as tables, formulas, images, and even chemical notations, every component can be accurately extracted and reconstructed. The output is a complete, highly structured representation of the document.

Built on this powerful OXR algorithm, SoMark achieves the perfect balance of accuracy, speed, and cost:
SoMark delivers strong general-purpose recognition capability. A single API call handles document parsing across all formats and scenarios.
Log into your Dify platform.
Go to "Tools" -> "Plugin Market", search for the "SoMark" plugin and add it.
Configure the SoMark plugin parameters:
Base URL (required): The address of the SoMark service.
API Key:
Save your configuration.

In your Dify workflow, click "+" to add a new node, select "Tools", then find and add the SoMark > SoMark Document Parser node.

In the SoMark Document Parser node panel, configure the File input:
For more parameters (such as output format and feature toggles), see Input Parameters below.
Note:

After the node executes, its output variables become available for all downstream nodes (e.g., LLM, Text Splitter, Code node). Click in any downstream node's input field and select from the SoMark node's output variables.
The node exposes the following output variables:
— The parsed document content in Markdown format, preserving the original layout structure including headings, tables, lists, formulas, and images.
— The parsed document content in JSON string format, containing structured data for document elements such as text blocks, tables, formulas, images, coordinates, and page information. Suitable for advanced downstream processing in a Code node after JSON parsing.
/ — Dify built-in variables, not populated by this plugin.
Add the SoMark tools to an agent or workflow, fill in the required inputs, and run the node to call the upstream service.
This plugin sends the inputs required by the selected operation to the upstream service. Review the upstream service's privacy policy before use.