{"schemaVersion":"server402.catalog.search.v1","generatedAt":"2026-09-04T18:37:29Z","generatedAtBeijing":"2026-09-05 02:37:29 CST","timezone":"Asia/Shanghai","query":"url metadata","filters":{"limit":10},"total":54,"services":[{"id":"pdf-to-markdown","canonicalId":"pdf-to-markdown","internalServiceId":"aliyun-pdf-to-markdown","name":"PDF to Markdown","description":"Convert a public http or https pdfUrl into Markdown from the first OCR-rendered pages. The service renders up to three pages with pdftoppm, uploads page images through the configured OSS image proxy, runs multilingual OCR, and returns combined markdown plus per-page OCR content. Unpaid calls return HTTP 402 before provider execution.","descriptionForModel":"Convert a public http or https pdfUrl into Markdown from the first OCR-rendered pages. The service renders up to three pages with pdftoppm, uploads page images through the configured OSS image proxy, runs multilingual OCR, and returns combined markdown plus per-page OCR content. Unpaid calls return HTTP 402 before provider execution.","category":"file-processing","keywords":["pdf","pdf to markdown","pdf-to-markdown","pdf ocr","document ocr","document conversion","markdown","ocr","text extraction","file processing"],"useCases":["Convert a public PDF into machine-readable Markdown for AI workflows","OCR the first pages of a scanned PDF through the multilingual OCR pipeline","Extract page-level text for document intake, search, and summarization"],"limitations":["Requires pdftoppm from Poppler on the API host","Requires a configured OSS image proxy so rendered page images have public URLs","Processes at most the first three pages per request"],"tags":["paid","x402","usdc","base","ocr","pdf-ocr","document-processing","file-processing","pdf-to-markdown","markdown"],"method":"POST","endpoint":"/api/tools/pdf-to-markdown","legacyEndpoint":"/api/tools/aliyun-pdf-to-markdown","endpointAliases":["/api/tools/pdf-to-markdown","/api/tools/aliyun-pdf-to-markdown"],"inputTypes":["object","integer","string","boolean","uri"],"outputTypes":["object","string","integer","array"],"inputSchema":{"additionalProperties":false,"properties":{"dpi":{"default":180,"maximum":240,"minimum":72,"type":"integer"},"language":{"default":"auto","description":"OCR language hint such as auto, eng, or chn.","type":"string"},"maxPages":{"default":3,"maximum":3,"minimum":1,"type":"integer"},"needRotate":{"default":true,"type":"boolean"},"outputTable":{"default":true,"type":"boolean"},"pdfUrl":{"description":"Public http or https PDF URL.","format":"uri","type":"string"}},"required":["pdfUrl"],"type":"object"},"outputSchema":{"properties":{"content":{"type":"string"},"markdown":{"type":"string"},"max_pages":{"type":"integer"},"ocr_service_id":{"type":"string"},"page_count":{"type":"integer"},"pages":{"items":{"type":"object"},"type":"array"},"processed_pages":{"type":"integer"},"renderer":{"type":"string"},"service_id":{"type":"string"},"source_pdf_url":{"type":"string"}},"required":["service_id","markdown","pages","page_count","processed_pages","max_pages"],"type":"object"},"exampleRequest":{"language":"eng","maxPages":3,"needRotate":true,"outputTable":true,"pdfUrl":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"},"exampleResponse":{"content":"Dummy PDF file","markdown":"Dummy PDF file","max_pages":3,"ocr_service_id":"multilingual-ocr","page_count":1,"pages":[{"content":"Dummy PDF file","markdown":"\u003c!-- page: 1 --\u003e\n\nDummy PDF file","page":1}],"processed_pages":1,"renderer":"pdftoppm","service_id":"pdf-to-markdown","source_pdf_url":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"},"pricing":{"amountCents":3,"amountMicros":30000,"currency":"XIAO","policyId":"pdf-to-markdown-ocr","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":41,"healthStatus":"","latencyMs":21,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T14:55:01Z"},"discovery":{"toolName":"pdf_to_markdown","searchText":"pdf-to-markdown PDF to Markdown Convert a public http or https pdfUrl into Markdown from the first OCR-rendered pages. The service renders up to three pages with pdftoppm, uploads page images through the configured OSS image proxy, runs multilingual OCR, and returns combined markdown plus per-page OCR content. Unpaid calls return HTTP 402 before provider execution. Convert a public http or https pdfUrl into Markdown from the first OCR-rendered pages. The service renders up to three pages with pdftoppm, uploads page images through the configured OSS image proxy, runs multilingual OCR, and returns combined markdown plus per-page OCR content. Unpaid calls return HTTP 402 before provider execution. file-processing object integer string boolean uri object string integer array paid x402 usdc base ocr pdf-ocr document-processing file-processing pdf-to-markdown markdown pdf pdf to markdown pdf-to-markdown pdf ocr document ocr document conversion markdown ocr text extraction file processing Convert a public PDF into machine-readable Markdown for AI workflows OCR the first pages of a scanned PDF through the multilingual OCR pipeline Extract page-level text for document intake, search, and summarization Requires pdftoppm from Poppler on the API host Requires a configured OSS image proxy so rendered page images have public URLs Processes at most the first three pages per request /api/tools/pdf-to-markdown","aliases":["PDF to Markdown","file-processing","paid","x402","usdc","base","ocr","pdf-ocr","document-processing","pdf-to-markdown","markdown","pdf","pdf to markdown","pdf ocr","document ocr","document conversion","text extraction","file processing","pdf_to_markdown","/api/tools/pdf-to-markdown"],"localeHints":["en"],"useCases":["Convert a public PDF into machine-readable Markdown for AI workflows","OCR the first pages of a scanned PDF through the multilingual OCR pipeline","Extract page-level text for document intake, search, and summarization"],"limitations":["Requires pdftoppm from Poppler on the API host","Requires a configured OSS image proxy so rendered page images have public URLs","Processes at most the first three pages per request"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/pdf-to-markdown once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"pdf-to-markdown\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"complex","typicalResponseTime":"15s","cacheable":false,"idempotent":true,"outputFormat":"json","requiredContext":["public-pdf-url","ocr-credentials","oss-image-proxy","pdftoppm"],"errorExamples":[{"input":{},"error":"pdfUrl is required","statusCode":400},{"input":{"pdfUrl":"not-a-url"},"error":"pdfUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.0%","maxLatency":"45000ms"},"matchScore":171,"matchTerms":["url","browser automation alternative: PDF extraction"],"why":"Matched browser automation intent for \"PDF to Markdown\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.03 per policy pdf-to-markdown-ocr.","whyMatched":"Matched browser automation intent for \"PDF to Markdown\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.03 per policy pdf-to-markdown-ocr."},{"id":"aliyun-docmind-pdf-to-markdown-submit","canonicalId":"aliyun-docmind-pdf-to-markdown-submit","name":"Docmind Pdf To Markdown Submit","displayName":"阿里云 PDF 转 Markdown 提交","description":"Submit a PDF-to-Markdown conversion job to Alibaba Cloud Document Mind from a public file URL.","descriptionForModel":"Submit a PDF-to-Markdown conversion job to Alibaba Cloud Document Mind from a public file URL.","category":"document-conversion","keywords":["aliyun","document mind","docmind","SubmitConvertPdfToMarkdownJob","document ai","document parsing","pdf","office","table extraction","document conversion","阿里云文档智能","文档解析","文档转换"],"useCases":["Call Alibaba Cloud Document Mind through HTTP 402","Automate document parsing, extraction, or conversion workflows","Convert PDF, Word, Excel, images, or scanned documents into structured outputs","Extract tables, fields, and document layout for automation","Submit and poll asynchronous Document Mind jobs"],"limitations":["Only public HTTP or HTTPS file URLs are supported by this Server402 adapter","Local file upload Advance APIs are not exposed","Requires Alibaba Cloud Document Mind RAM permission on the configured AccessKey","Requires a public HTTP or HTTPS file URL","Async submit services usually need a matching result or status query service"],"tags":["aliyun","document-mind","docmind","document-conversion","document ai","document parsing","pdf","office","table extraction","document conversion","阿里云文档智能","文档解析","文档转换"],"method":"POST","endpoint":"/api/tools/aliyun-docmind-pdf-to-markdown-submit","endpointAliases":["/api/tools/aliyun-docmind-pdf-to-markdown-submit"],"inputTypes":["object","string","uri"],"outputTypes":["object","string"],"inputSchema":{"properties":{"fileName":{"type":"string"},"fileUrl":{"format":"uri","type":"string"},"ossBucket":{"type":"string"},"ossEndpoint":{"type":"string"}},"required":["fileUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","data"],"type":"object"},"exampleRequest":{"fileUrl":"https://example.com/document.pdf"},"exampleResponse":{"code":"200","content":"docmind-20260529-example","data":{"Data":{"Id":"docmind-20260529-example"},"RequestId":"example-request-id"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":30,"amountMicros":300000,"currency":"XIAO","policyId":"docmind-submit-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":94,"healthStatus":"healthy","healthCheckedAt":"2026-05-29T14:23:39Z","latencyMs":24,"successRate":1,"callCount":4,"executionCount":4,"successCount":4,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T18:36:26Z"},"discovery":{"toolName":"aliyun_docmind_pdf_to_markdown_submit","searchText":"aliyun-docmind-pdf-to-markdown-submit Docmind Pdf To Markdown Submit Submit a PDF-to-Markdown conversion job to Alibaba Cloud Document Mind from a public file URL. Submit a PDF-to-Markdown conversion job to Alibaba Cloud Document Mind from a public file URL. document-conversion object string uri object string aliyun document-mind docmind document-conversion document ai document parsing pdf office table extraction document conversion 阿里云文档智能 文档解析 文档转换 aliyun document mind docmind SubmitConvertPdfToMarkdownJob document ai document parsing pdf office table extraction document conversion 阿里云文档智能 文档解析 文档转换 Call Alibaba Cloud Document Mind through HTTP 402 Automate document parsing, extraction, or conversion workflows Convert PDF, Word, Excel, images, or scanned documents into structured outputs Extract tables, fields, and document layout for automation Submit and poll asynchronous Document Mind jobs Only public HTTP or HTTPS file URLs are supported by this Server402 adapter Local file upload Advance APIs are not exposed Requires Alibaba Cloud Document Mind RAM permission on the configured AccessKey Requires a public HTTP or HTTPS file URL Async submit services usually need a matching result or status query service /api/tools/aliyun-docmind-pdf-to-markdown-submit","aliases":["Docmind Pdf To Markdown Submit","document-conversion","阿里云 PDF 转 Markdown 提交","aliyun","document-mind","docmind","document ai","document parsing","pdf","office","table extraction","document conversion","阿里云文档智能","文档解析","文档转换","document mind","SubmitConvertPdfToMarkdownJob","aliyun-docmind-pdf-to-markdown-submit","aliyun_docmind_pdf_to_markdown_submit","/api/tools/aliyun-docmind-pdf-to-markdown-submit"],"localeHints":["en","zh"],"useCases":["Call Alibaba Cloud Document Mind through HTTP 402","Automate document parsing, extraction, or conversion workflows","Convert PDF, Word, Excel, images, or scanned documents into structured outputs","Extract tables, fields, and document layout for automation","Submit and poll asynchronous Document Mind jobs"],"limitations":["Only public HTTP or HTTPS file URLs are supported by this Server402 adapter","Local file upload Advance APIs are not exposed","Requires Alibaba Cloud Document Mind RAM permission on the configured AccessKey","Requires a public HTTP or HTTPS file URL","Async submit services usually need a matching result or status query service"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/aliyun-docmind-pdf-to-markdown-submit once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"aliyun-docmind-pdf-to-markdown-submit\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"outputFormat":"json","requiredContext":["public-file-url","aliyun-credentials"],"matchScore":171,"matchTerms":["url","browser automation alternative: PDF extraction"],"why":"Matched browser automation intent for \"Docmind Pdf To Markdown Submit\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.3 per policy docmind-submit-api.","whyMatched":"Matched browser automation intent for \"Docmind Pdf To Markdown Submit\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.3 per policy docmind-submit-api."},{"id":"multilingual-ocr","canonicalId":"multilingual-ocr","internalServiceId":"aliyun-multilang-ocr","name":"Multilingual OCR","description":"Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","multilingual","multi language","auto language","通用多语言","小语种"],"useCases":["Extract text from public image URLs","Read mixed or unknown-language images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","multilingual","multi language","auto language","通用多语言","小语种"],"method":"POST","endpoint":"/api/tools/multilingual-ocr","legacyEndpoint":"/api/tools/aliyun-multilang-ocr","endpointAliases":["/api/tools/multilingual-ocr","/api/tools/aliyun-multilang-ocr"],"inputTypes":["object","boolean","string","uri","array"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"languages":{"items":{"type":"string"},"type":"array"},"needRotate":{"type":"boolean"},"needSortPage":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl","languages"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://img.alicdn.com/tfs/TB1Wo7eXAvoK1RjSZFDXXXY3pXa-2512-3509.jpg","languages":["eng","chn"],"needRotate":false,"needSortPage":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"PACKING Shipper/Export Invoice No \u0026 Date","data":{"content":"PACKING Shipper/Export Invoice No \u0026 Date"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":91,"healthStatus":"healthy","healthCheckedAt":"2026-05-29T09:54:57Z","healthLatencyMs":1872,"latencyMs":12,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T18:33:15Z"},"discovery":{"toolName":"multilingual_ocr","searchText":"multilingual-ocr Multilingual OCR Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them. ocr object boolean string uri array object string ocr image text-extraction document-processing multilingual multi language auto language 通用多语言 小语种 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text multilingual multi language auto language 通用多语言 小语种 Extract text from public image URLs Read mixed or unknown-language images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/multilingual-ocr","aliases":["Multilingual OCR","ocr","image","text-extraction","document-processing","multilingual","multi language","auto language","通用多语言","小语种","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","multilingual-ocr","multilingual_ocr","/api/tools/multilingual-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read mixed or unknown-language images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/multilingual-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"multilingual-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["english-ocr","japanese-ocr","korean-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":168,"matchTerms":["url","browser automation alternative: screenshot OCR"],"why":"Matched browser automation intent for \"Multilingual OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched browser automation intent for \"Multilingual OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api."},{"id":"russian-ocr","canonicalId":"russian-ocr","internalServiceId":"aliyun-ocr-russian","name":"Russian OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","russian","rus","俄语","俄文"],"useCases":["Extract text from public image URLs","Read Russian document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","russian","rus","俄语","俄文"],"method":"POST","endpoint":"/api/tools/russian-ocr","legacyEndpoint":"/api/tools/aliyun-ocr-russian","endpointAliases":["/api/tools/russian-ocr","/api/tools/aliyun-ocr-russian"],"inputTypes":["object","string","uri","boolean"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/9788868261/p303421.jpg","needRotate":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"пример текста","data":{"content":"пример текста"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":91,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:11Z","healthLatencyMs":1074,"latencyMs":12,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T03:29:55Z"},"discovery":{"toolName":"russian_ocr","searchText":"russian-ocr Russian OCR Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them. ocr object string uri boolean object string ocr image text-extraction document-processing russian rus 俄语 俄文 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text russian rus 俄语 俄文 Extract text from public image URLs Read Russian document images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/russian-ocr","aliases":["Russian OCR","ocr","image","text-extraction","document-processing","russian","rus","俄语","俄文","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","russian-ocr","russian_ocr","/api/tools/russian-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read Russian document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/russian-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"russian-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["multilingual-ocr","english-ocr","japanese-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":168,"matchTerms":["url","browser automation alternative: screenshot OCR"],"why":"Matched browser automation intent for \"Russian OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched browser automation intent for \"Russian OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api."},{"id":"thai-ocr","canonicalId":"thai-ocr","internalServiceId":"aliyun-ocr-thai","name":"Thai OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Thai document images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for Thai document images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","thai","tha","泰语","泰文"],"useCases":["Extract text from public image URLs","Read Thai document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","thai","tha","泰语","泰文"],"method":"POST","endpoint":"/api/tools/thai-ocr","legacyEndpoint":"/api/tools/aliyun-ocr-thai","endpointAliases":["/api/tools/thai-ocr","/api/tools/aliyun-ocr-thai"],"inputTypes":["object","string","uri","boolean"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241218/utgxmk/%E6%B3%B0%E8%AF%AD%E8%AF%86%E5%88%AB.png","needRotate":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"เริมเห็นผิวที่เรียบเบียน","data":{"content":"เริมเห็นผิวที่เรียบเบียน"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":91,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:09Z","healthLatencyMs":817,"latencyMs":12,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-03T21:42:01Z"},"discovery":{"toolName":"thai_ocr","searchText":"thai-ocr Thai OCR Recognize printed text from a public image URL. Use this OCR API for Thai document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for Thai document images; pass optional language and layout hints when the schema supports them. ocr object string uri boolean object string ocr image text-extraction document-processing thai tha 泰语 泰文 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text thai tha 泰语 泰文 Extract text from public image URLs Read Thai document images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/thai-ocr","aliases":["Thai OCR","ocr","image","text-extraction","document-processing","thai","tha","泰语","泰文","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","thai-ocr","thai_ocr","/api/tools/thai-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read Thai document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/thai-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"thai-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["multilingual-ocr","english-ocr","japanese-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":168,"matchTerms":["url","browser automation alternative: screenshot OCR"],"why":"Matched browser automation intent for \"Thai OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched browser automation intent for \"Thai OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api."},{"id":"japanese-ocr","canonicalId":"japanese-ocr","internalServiceId":"aliyun-ocr-japanese","name":"Japanese OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Japanese document images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for Japanese document images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","japanese","jpn","日语","日文"],"useCases":["Extract text from public image URLs","Read Japanese document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","japanese","jpn","日语","日文"],"method":"POST","endpoint":"/api/tools/japanese-ocr","legacyEndpoint":"/api/tools/aliyun-ocr-japanese","endpointAliases":["/api/tools/japanese-ocr","/api/tools/aliyun-ocr-japanese"],"inputTypes":["object","string","uri","boolean"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241223/igoptb/%E6%97%A5%E8%AF%AD%E8%AF%86%E5%88%AB.png","needRotate":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"いくらですか","data":{"content":"いくらですか"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":88,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:07Z","healthLatencyMs":713,"latencyMs":713,"successRate":1,"callCount":0,"executionCount":0,"successCount":0,"errorCount":0,"paymentRequireds":0},"discovery":{"toolName":"japanese_ocr","searchText":"japanese-ocr Japanese OCR Recognize printed text from a public image URL. Use this OCR API for Japanese document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for Japanese document images; pass optional language and layout hints when the schema supports them. ocr object string uri boolean object string ocr image text-extraction document-processing japanese jpn 日语 日文 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text japanese jpn 日语 日文 Extract text from public image URLs Read Japanese document images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/japanese-ocr","aliases":["Japanese OCR","ocr","image","text-extraction","document-processing","japanese","jpn","日语","日文","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","japanese-ocr","japanese_ocr","/api/tools/japanese-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read Japanese document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/japanese-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"japanese-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["multilingual-ocr","english-ocr","korean-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":168,"matchTerms":["url","browser automation alternative: screenshot OCR"],"why":"Matched browser automation intent for \"Japanese OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched browser automation intent for \"Japanese OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api."},{"id":"latin-script-ocr","canonicalId":"latin-script-ocr","internalServiceId":"aliyun-ocr-latin","name":"Latin-script OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Latin-script document images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for Latin-script document images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","latin","latn","拉丁语","拉丁语系"],"useCases":["Extract text from public image URLs","Read Latin-script document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","latin","latn","拉丁语","拉丁语系"],"method":"POST","endpoint":"/api/tools/latin-script-ocr","legacyEndpoint":"/api/tools/aliyun-ocr-latin","endpointAliases":["/api/tools/latin-script-ocr","/api/tools/aliyun-ocr-latin"],"inputTypes":["object","string","uri","boolean"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/9788868261/p303424.jpg","needRotate":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"Lorem ipsum","data":{"content":"Lorem ipsum"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":85,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:12Z","healthLatencyMs":1204,"latencyMs":1204,"successRate":1,"callCount":0,"executionCount":0,"successCount":0,"errorCount":0,"paymentRequireds":0},"discovery":{"toolName":"latin_script_ocr","searchText":"latin-script-ocr Latin-script OCR Recognize printed text from a public image URL. Use this OCR API for Latin-script document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for Latin-script document images; pass optional language and layout hints when the schema supports them. ocr object string uri boolean object string ocr image text-extraction document-processing latin latn 拉丁语 拉丁语系 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text latin latn 拉丁语 拉丁语系 Extract text from public image URLs Read Latin-script document images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/latin-script-ocr","aliases":["Latin-script OCR","ocr","image","text-extraction","document-processing","latin","latn","拉丁语","拉丁语系","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","latin-script-ocr","latin_script_ocr","/api/tools/latin-script-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read Latin-script document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/latin-script-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"latin-script-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["multilingual-ocr","english-ocr","japanese-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":168,"matchTerms":["url","browser automation alternative: screenshot OCR"],"why":"Matched browser automation intent for \"Latin-script OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched browser automation intent for \"Latin-script OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api."},{"id":"korean-ocr","canonicalId":"korean-ocr","internalServiceId":"aliyun-ocr-korean","name":"Korean OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Korean document images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for Korean document images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","korean","kor","韩语","韩文"],"useCases":["Extract text from public image URLs","Read Korean document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","korean","kor","韩语","韩文"],"method":"POST","endpoint":"/api/tools/korean-ocr","legacyEndpoint":"/api/tools/aliyun-ocr-korean","endpointAliases":["/api/tools/korean-ocr","/api/tools/aliyun-ocr-korean"],"inputTypes":["object","string","uri","boolean"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241223/dgzqnh/%E9%9F%A9%E8%AF%AD%E8%AF%86%E5%88%AB.png","needRotate":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"등록되었음을 증명합니다","data":{"content":"등록되었음을 증명합니다"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":85,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:08Z","healthLatencyMs":1292,"latencyMs":1292,"successRate":1,"callCount":0,"executionCount":0,"successCount":0,"errorCount":0,"paymentRequireds":0},"discovery":{"toolName":"korean_ocr","searchText":"korean-ocr Korean OCR Recognize printed text from a public image URL. Use this OCR API for Korean document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for Korean document images; pass optional language and layout hints when the schema supports them. ocr object string uri boolean object string ocr image text-extraction document-processing korean kor 韩语 韩文 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text korean kor 韩语 韩文 Extract text from public image URLs Read Korean document images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/korean-ocr","aliases":["Korean OCR","ocr","image","text-extraction","document-processing","korean","kor","韩语","韩文","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","korean-ocr","korean_ocr","/api/tools/korean-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read Korean document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/korean-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"korean-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["multilingual-ocr","english-ocr","japanese-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":168,"matchTerms":["url","browser automation alternative: screenshot OCR"],"why":"Matched browser automation intent for \"Korean OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched browser automation intent for \"Korean OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api."},{"id":"english-ocr","canonicalId":"english-ocr","internalServiceId":"aliyun-ocr-english","name":"English OCR","description":"Recognize printed text from a public image URL. Use this OCR API for English document images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for English document images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","english","eng","英语","英文"],"useCases":["Extract text from public image URLs","Read English document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","english","eng","英语","英文"],"method":"POST","endpoint":"/api/tools/english-ocr","legacyEndpoint":"/api/tools/aliyun-ocr-english","endpointAliases":["/api/tools/english-ocr","/api/tools/aliyun-ocr-english"],"inputTypes":["object","string","uri","boolean"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://img.alicdn.com/tfs/TB1K2a4NVY7gK0jSZKzXXaikpXa-2060-800.jpg","needRotate":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"Dear Ms Jenkins","data":{"content":"Dear Ms Jenkins"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":85,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:05Z","healthLatencyMs":1489,"latencyMs":1489,"successRate":1,"callCount":0,"executionCount":0,"successCount":0,"errorCount":0,"paymentRequireds":0},"discovery":{"toolName":"english_ocr","searchText":"english-ocr English OCR Recognize printed text from a public image URL. Use this OCR API for English document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for English document images; pass optional language and layout hints when the schema supports them. ocr object string uri boolean object string ocr image text-extraction document-processing english eng 英语 英文 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text english eng 英语 英文 Extract text from public image URLs Read English document images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/english-ocr","aliases":["English OCR","ocr","image","text-extraction","document-processing","english","eng","英语","英文","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","english-ocr","english_ocr","/api/tools/english-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read English document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/english-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"english-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["multilingual-ocr","japanese-ocr","korean-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":168,"matchTerms":["url","browser automation alternative: screenshot OCR"],"why":"Matched browser automation intent for \"English OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched browser automation intent for \"English OCR\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api."},{"id":"ocr-api","canonicalId":"ocr-api","internalServiceId":"aliyun-ocr-api","name":"OCR API","description":"Recognize printed text from a public image URL. Use this OCR API for generic OCR, receipt OCR, invoice OCR, screenshots, and document images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for generic OCR, receipt OCR, invoice OCR, screenshots, and document images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","ocr api","general ocr","receipt ocr","invoice ocr","screenshot ocr","document ocr"],"useCases":["Extract text from public image URLs","Read generic OCR, receipt OCR, invoice OCR, screenshots, and document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","ocr api","general ocr","receipt ocr","invoice ocr","screenshot ocr","document ocr","text recognition","image text extraction"],"method":"POST","endpoint":"/api/tools/ocr-api","legacyEndpoint":"/api/tools/aliyun-ocr-api","endpointAliases":["/api/tools/ocr-api","/api/tools/aliyun-ocr-api"],"inputTypes":["object","array","boolean","string","uri"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"languages":{"items":{"type":"string"},"type":"array"},"needRotate":{"type":"boolean"},"needSortPage":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://tesseract.projectnaptha.com/img/eng_bw.png","languages":["eng","chn"],"needRotate":false,"needSortPage":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"PACKING Shipper/Export Invoice No \u0026 Date","data":{"content":"PACKING Shipper/Export Invoice No \u0026 Date"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":41,"healthStatus":"","latencyMs":13,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T14:54:58Z"},"discovery":{"toolName":"ocr_api","searchText":"ocr-api OCR API Recognize printed text from a public image URL. Use this OCR API for generic OCR, receipt OCR, invoice OCR, screenshots, and document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for generic OCR, receipt OCR, invoice OCR, screenshots, and document images; pass optional language and layout hints when the schema supports them. ocr object array boolean string uri object string ocr image text-extraction document-processing ocr api general ocr receipt ocr invoice ocr screenshot ocr document ocr text recognition image text extraction ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text ocr api general ocr receipt ocr invoice ocr screenshot ocr document ocr Extract text from public image URLs Read generic OCR, receipt OCR, invoice OCR, screenshots, and document images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/ocr-api","aliases":["OCR API","ocr","image","text-extraction","document-processing","ocr api","general ocr","receipt ocr","invoice ocr","screenshot ocr","document ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","ocr-api","ocr_api","/api/tools/ocr-api"],"localeHints":["en"],"useCases":["Extract text from public image URLs","Read generic OCR, receipt OCR, invoice OCR, screenshots, and document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/ocr-api once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"ocr-api\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["multilingual-ocr","english-ocr","japanese-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":168,"matchTerms":["url","browser automation alternative: screenshot OCR"],"why":"Matched browser automation intent for \"OCR API\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched browser automation intent for \"OCR API\". Prefer this structured API when the task is webpage/document/screenshot extraction and does not require a full remote browser. Price is XIAO 0.01 per policy ocr-api."}],"agents":[{"id":"pdf-to-markdown","name":"PDF to Markdown","description":"Convert a public http or https pdfUrl into Markdown from the first OCR-rendered pages. The service renders up to three pages with pdftoppm, uploads page images through the configured OSS image proxy, runs multilingual OCR, and returns combined markdown plus per-page OCR content. Unpaid calls return HTTP 402 before provider execution.","endpoint":"/api/tools/pdf-to-markdown","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":3,"amountMicros":30000,"currency":"XIAO","policyId":"pdf-to-markdown-ocr","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":false,"properties":{"dpi":{"default":180,"maximum":240,"minimum":72,"type":"integer"},"language":{"default":"auto","description":"OCR language hint such as auto, eng, or chn.","type":"string"},"maxPages":{"default":3,"maximum":3,"minimum":1,"type":"integer"},"needRotate":{"default":true,"type":"boolean"},"outputTable":{"default":true,"type":"boolean"},"pdfUrl":{"description":"Public http or https PDF URL.","format":"uri","type":"string"}},"required":["pdfUrl"],"type":"object"},"output_schema":{"properties":{"content":{"type":"string"},"markdown":{"type":"string"},"max_pages":{"type":"integer"},"ocr_service_id":{"type":"string"},"page_count":{"type":"integer"},"pages":{"items":{"type":"object"},"type":"array"},"processed_pages":{"type":"integer"},"renderer":{"type":"string"},"service_id":{"type":"string"},"source_pdf_url":{"type":"string"}},"required":["service_id","markdown","pages","page_count","processed_pages","max_pages"],"type":"object"},"tags":["paid","x402","usdc","base","ocr","pdf-ocr","document-processing","file-processing","pdf-to-markdown","markdown"],"category":"file-processing"},{"id":"aliyun-docmind-pdf-to-markdown-submit","name":"Docmind Pdf To Markdown Submit","description":"Submit a PDF-to-Markdown conversion job to Alibaba Cloud Document Mind from a public file URL.","endpoint":"/api/tools/aliyun-docmind-pdf-to-markdown-submit","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":30,"amountMicros":300000,"currency":"XIAO","policyId":"docmind-submit-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"fileName":{"type":"string"},"fileUrl":{"format":"uri","type":"string"},"ossBucket":{"type":"string"},"ossEndpoint":{"type":"string"}},"required":["fileUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","data"],"type":"object"},"tags":["aliyun","document-mind","docmind","document-conversion","document ai","document parsing","pdf","office","table extraction","document conversion","阿里云文档智能","文档解析","文档转换"],"category":"document-conversion"},{"id":"multilingual-ocr","name":"Multilingual OCR","description":"Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/multilingual-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"languages":{"items":{"type":"string"},"type":"array"},"needRotate":{"type":"boolean"},"needSortPage":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl","languages"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","multilingual","multi language","auto language","通用多语言","小语种"],"category":"ocr"},{"id":"russian-ocr","name":"Russian OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/russian-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","russian","rus","俄语","俄文"],"category":"ocr"},{"id":"thai-ocr","name":"Thai OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Thai document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/thai-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","thai","tha","泰语","泰文"],"category":"ocr"},{"id":"japanese-ocr","name":"Japanese OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Japanese document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/japanese-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","japanese","jpn","日语","日文"],"category":"ocr"},{"id":"latin-script-ocr","name":"Latin-script OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Latin-script document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/latin-script-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","latin","latn","拉丁语","拉丁语系"],"category":"ocr"},{"id":"korean-ocr","name":"Korean OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Korean document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/korean-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","korean","kor","韩语","韩文"],"category":"ocr"},{"id":"english-ocr","name":"English OCR","description":"Recognize printed text from a public image URL. Use this OCR API for English document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/english-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","english","eng","英语","英文"],"category":"ocr"},{"id":"ocr-api","name":"OCR API","description":"Recognize printed text from a public image URL. Use this OCR API for generic OCR, receipt OCR, invoice OCR, screenshots, and document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/ocr-api","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"languages":{"items":{"type":"string"},"type":"array"},"needRotate":{"type":"boolean"},"needSortPage":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","ocr api","general ocr","receipt ocr","invoice ocr","screenshot ocr","document ocr","text recognition","image text extraction"],"category":"ocr"}],"demandCapture":{"queryRecorded":true,"demandBearing":true,"status":"published-and-planned-candidates","recommendedAction":"compare-published-services-and-request-missing-fit","message":"Published services and planned API candidates both matched. Prefer a published callable service when it fits; otherwise request early access for the planned candidate that better matches the task.","matchedPlannedServices":[{"id":"url-metadata-api","name":"URL 元数据提取 API","category":"网页自动化","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/url-metadata-api","llmsText":"https://x402vip.com/services/url-metadata-api/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/url/metadata","https://x402vip.com/api/url-metadata","https://x402vip.com/api/link-preview","https://x402vip.com/api/open-graph"],"keywords":["url-metadata-api","url-metadata","url metadata","URL 元数据提取 API","link preview","open graph","page metadata","webpage metadata","title extraction","canonical url","网页元数据","链接预览"],"matchRank":1,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."}],"requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","requestAccessBody":{"query":"url metadata","serviceId":"url-metadata-api","task":"Describe the exact input data, desired output schema, freshness, volume, budget, and whether a published service failed to fit.","useCase":"AI/Agent searched for: url metadata"},"plannedCatalogUrl":"https://x402vip.com/api/demand-capture","notes":["Every non-admin /api/catalog/search?q=... request is appended to natural_traffic.jsonl and aggregated in /api/admin/demand-intents.","Submitting requestAccessBody adds a stronger commercial/early-access signal than search alone.","Planned API candidates are not callable yet; use /api/catalog services for currently callable paid APIs."]},"nextActions":["Inspect services[].inputSchema, services[].outputSchema, services[].pricing, and services[].discovery.paymentFlow.","Call the selected /api/tools/* endpoint once without payment to receive HTTP 402 payment requirements, open xiaopay.top to obtain XIAO, then retry with X402-Guarantee.","If services are missing or too broad, inspect demandCapture.matchedPlannedServices.","POST demandCapture.requestAccessBody to demandCapture.requestAccessUrl to record a stronger early-access demand signal."],"payment":{"paymentHeader":"X-Payment-Token","createPayment":"/api/payments","verifyPayment":"/api/payments/{paymentId}","token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]},"flow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}}}}
