Input

Output

Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Text Recognition
Table Recognition
Information Structuring
Retrieval-Augmented Generation (RAG)
Beyond public benchmarks, we conducted internal evaluations across six core real-world scenarios. Results show GLM-OCR delivers significant advantages across dimensions including code documentation, real-world tables, handwriting, multilingual text, seal recognition, and invoice extraction.
Pricing is uniform for both API input and output, costing just $0.03 per million tokens.







curl --location --request POST 'https://api.z.ai/api/paas/v4/layout_parsing' \
--header 'Authorization: Bearer your-api-key' \
--header 'Content-Type: application/json' \
--data-raw '{
"model": "glm-ocr",
"file": "https://cdn.bigmodel.cn/static/logo/introduction.png"
}'
# Install the latest version
pip install zai-sdk
# Or specify a version
pip install zai-sdk==0.2.3
import zai
print(zai.__version__)
from zai import ZaiClient
# Initialize client
client = ZaiClient(api_key="your-api-key")
image_url = "https://cdn.bigmodel.cn/static/logo/introduction.png"
# Call layout parsing API
response = client.layout_parsing.create(
model="glm-ocr",
file=image_url
)
# Output result
print(response)
<dependency>
<groupId>ai.z.openapi</groupId>
<artifactId>zai-sdk</artifactId>
<version>0.3.5</version>
</dependency>
implementation 'ai.z.openapi:zai-sdk:0.3.5'
import ai.z.openapi.ZaiClient;
import ai.z.openapi.service.layoutparsing.LayoutParsingCreateParams;
import ai.z.openapi.service.layoutparsing.LayoutParsingResponse;
import ai.z.openapi.service.layoutparsing.LayoutParsingResult;
public class LayoutParsing {
public static void main(String[] args) {
// Initialize client
ZaiClient client = ZaiClient.builder()
.ofZAI()
.apiKey("your-api-key")
.build();
String model = "glm-ocr";
String file = "https://cdn.bigmodel.cn/static/logo/introduction.png";
// Create layout parsing request
LayoutParsingCreateParams params = LayoutParsingCreateParams.builder()
.model(model)
.file(file)
.build();
// Send request
LayoutParsingResponse response = client.layoutParsing().layoutParsing(params);
// Handle response
if (response.isSuccess()) {
System.out.println("Parsing result: " + response.getData());
} else {
System.err.println("Error: " + response.getMsg());
}
}
}
Was this page helpful?