{"schemaVersion":"server402.catalog.search.v1","generatedAt":"2026-09-04T22:41:27Z","generatedAtBeijing":"2026-09-05 06:41:27 CST","timezone":"Asia/Shanghai","query":"latin-script-ocr","expandedTerms":["extract text","image to text","read text","recognize text","text extraction","text recognition","光学字符识别","图片识别文字","提取文字","文字识别","文本识别","识别文字"],"filters":{"limit":10},"total":11,"services":[{"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":86,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:12Z","healthLatencyMs":1204,"latencyMs":1204,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T22:32:53Z"},"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":313,"matchTerms":["latin script ocr","latin","script","ocr","extract text","recognize text","text extraction","text recognition"],"why":"Matched latin script ocr, latin, script, ocr, extract text, recognize text, text extraction, text recognition for \"Latin-script OCR\". Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched latin script ocr, latin, script, ocr, extract text, recognize text, text extraction, text recognition for \"Latin-script OCR\". 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","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"],"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":38,"healthStatus":"","successRate":1,"callCount":0,"executionCount":0,"successCount":0,"errorCount":0,"paymentRequireds":0},"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 boolean string uri array 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":86,"matchTerms":["ocr","extract text","recognize text","text extraction","text recognition"],"why":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"OCR API\". Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"OCR API\". 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":90,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:05Z","healthLatencyMs":1489,"latencyMs":597,"successRate":1,"callCount":2,"executionCount":2,"successCount":2,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T22:40:07Z"},"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":77,"matchTerms":["ocr","extract text","recognize text","text extraction","text recognition"],"why":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"English OCR\". Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"English OCR\". 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":90,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:07Z","healthLatencyMs":713,"latencyMs":986,"successRate":1,"callCount":2,"executionCount":2,"successCount":2,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T21:36:30Z"},"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":77,"matchTerms":["ocr","extract text","recognize text","text extraction","text recognition"],"why":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Japanese OCR\". Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Japanese OCR\". 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":89,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:11Z","healthLatencyMs":1074,"latencyMs":546,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T22:33:18Z"},"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":77,"matchTerms":["ocr","extract text","recognize text","text extraction","text recognition"],"why":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Russian OCR\". Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Russian OCR\". 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","boolean","string","uri"],"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":89,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:08Z","healthLatencyMs":1292,"latencyMs":564,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T22:33:51Z"},"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 boolean string uri 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":77,"matchTerms":["ocr","extract text","recognize text","text extraction","text recognition"],"why":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Korean OCR\". Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Korean OCR\". 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":89,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:09Z","healthLatencyMs":817,"latencyMs":879,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T22:33:18Z"},"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":77,"matchTerms":["ocr","extract text","recognize text","text extraction","text recognition"],"why":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Thai OCR\". Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Thai OCR\". Price is XIAO 0.01 per policy ocr-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":85,"healthStatus":"healthy","healthCheckedAt":"2026-05-29T09:54:57Z","healthLatencyMs":1872,"latencyMs":1872,"successRate":1,"callCount":0,"executionCount":0,"successCount":0,"errorCount":0,"paymentRequireds":0},"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":77,"matchTerms":["ocr","extract text","recognize text","text extraction","text recognition"],"why":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Multilingual OCR\". Price is XIAO 0.01 per policy ocr-api.","whyMatched":"Matched ocr, extract text, recognize text, text extraction, text recognition for \"Multilingual OCR\". Price is XIAO 0.01 per policy ocr-api."},{"id":"ai-product-description-writer","canonicalId":"ai-product-description-writer","name":"AI Product Description Writer","displayName":"AI Product Description Writer","description":"Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-product-description-writer","AI Product Description Writer","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","product-copy","ecommerce","saas","catalog","features","semantic:product-description","intent:write-product-copy","output:descriptions"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs writes ecommerce or saas product descriptions, feature bullets, specs, and faqs.","Return machine-readable JSON for downstream automation."],"limitations":["Does not browse live web data; provide source context explicitly.","Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server."],"tags":["paid","xiao","bailian","qwen","llm","ai-model","model-service","product-copy","ecommerce","saas","catalog","features","semantic:product-description","intent:write-product-copy","output:descriptions"],"method":"POST","endpoint":"/api/tools/ai-product-description-writer","endpointAliases":["/api/tools/ai-product-description-writer"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"product":{"description":"Required input field product.","type":"string"}},"required":["product"],"type":"object"},"outputSchema":{"additionalProperties":true,"properties":{"model":{"type":"string"},"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"service_id":{"type":"string"},"status":{"type":"string"},"upstream_id":{"type":"string"},"upstream_request_id":{"type":"string"},"usage":{"additionalProperties":true,"type":"object"}},"required":["status","service_id","result"],"type":"object"},"exampleRequest":{"product":"Example product."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-product-description-writer","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"bailian-qwen-standard","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":285,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T22:41:14Z"},"discovery":{"toolName":"ai_product_description_writer","searchText":"ai-product-description-writer AI Product Description Writer Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid xiao bailian qwen llm ai-model model-service product-copy ecommerce saas catalog features semantic:product-description intent:write-product-copy output:descriptions ai-product-description-writer AI Product Description Writer bailian qwen dashscope llm ai model ai agent paid ai api product-copy ecommerce saas catalog features semantic:product-description intent:write-product-copy output:descriptions Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs writes ecommerce or saas product descriptions, feature bullets, specs, and faqs. Return machine-readable JSON for downstream automation. Does not browse live web data; provide source context explicitly. Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server. /api/tools/ai-product-description-writer","aliases":["AI Product Description Writer","ai-models","paid","xiao","bailian","qwen","llm","ai-model","model-service","product-copy","ecommerce","saas","catalog","features","semantic:product-description","intent:write-product-copy","output:descriptions","ai-product-description-writer","dashscope","ai model","ai agent","paid ai api","ai_product_description_writer","/api/tools/ai-product-description-writer"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs writes ecommerce or saas product descriptions, feature bullets, specs, and faqs.","Return machine-readable JSON for downstream automation."],"limitations":["Does not browse live web data; provide source context explicitly.","Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY 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/ai-product-description-writer 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=\"ai-product-description-writer\".","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":"3s","cacheable":false,"idempotent":true,"outputFormat":"json","requiredContext":["task input","bailian-api-key"],"errorExamples":[{"input":{},"error":"product is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":49,"matchTerms":["script"],"why":"Matched script for \"AI Product Description Writer\". Price is XIAO 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched script for \"AI Product Description Writer\". Price is XIAO 0.01 per policy bailian-qwen-standard."},{"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":38,"healthStatus":"","successRate":1,"callCount":0,"executionCount":0,"successCount":0,"errorCount":0,"paymentRequireds":0},"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":39,"matchTerms":["ocr","text extraction"],"why":"Matched ocr, text extraction for \"PDF to Markdown\". Price is XIAO 0.03 per policy pdf-to-markdown-ocr.","whyMatched":"Matched ocr, text extraction for \"PDF to Markdown\". Price is XIAO 0.03 per policy pdf-to-markdown-ocr."}],"agents":[{"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":"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"},{"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":"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":"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":"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":"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":"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":"ai-product-description-writer","name":"AI Product Description Writer","description":"Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-product-description-writer","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"product":{"description":"Required input field product.","type":"string"}},"required":["product"],"type":"object"},"output_schema":{"additionalProperties":true,"properties":{"model":{"type":"string"},"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"service_id":{"type":"string"},"status":{"type":"string"},"upstream_id":{"type":"string"},"upstream_request_id":{"type":"string"},"usage":{"additionalProperties":true,"type":"object"}},"required":["status","service_id","result"],"type":"object"},"tags":["paid","xiao","bailian","qwen","llm","ai-model","model-service","product-copy","ecommerce","saas","catalog","features","semantic:product-description","intent:write-product-copy","output:descriptions"],"category":"ai-models"},{"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"}],"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":"legal-research","name":"法律检索 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/legal-research","llmsText":"https://x402vip.com/services/legal-research/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/legal/research","https://x402vip.com/api/legal/search","https://x402vip.com/api/law/research","https://x402vip.com/api/case-law/search"],"keywords":["legal-research","legal research","法律检索 API","case law search","statute search","legal search","precedent search","法律检索","法条检索","案例检索","判例检索"],"matchRank":1,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"court-record","name":"法院记录 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/court-record","llmsText":"https://x402vip.com/services/court-record/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/court/records","https://x402vip.com/api/courts/records","https://x402vip.com/api/court/dockets","https://x402vip.com/api/legal/dockets"],"keywords":["court-record","court record","法院记录 API","docket","case filing","hearing date","court calendar","case lookup","法院记录","案号","立案","庭审","卷宗","案件查询"],"matchRank":2,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"regulatory-monitoring","name":"法规监测 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/regulatory-monitoring","llmsText":"https://x402vip.com/services/regulatory-monitoring/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/regulations/monitor","https://x402vip.com/api/regulatory/updates","https://x402vip.com/api/law/updates","https://x402vip.com/api/compliance/regulatory-alerts"],"keywords":["regulatory-monitoring","regulatory monitoring","法规监测 API","regulation update","statute update","policy change","compliance alert","法规监测","政策更新","监管变更","合规预警"],"matchRank":3,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"litigation-intelligence","name":"诉讼情报 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/litigation-intelligence","llmsText":"https://x402vip.com/services/litigation-intelligence/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/litigation/intelligence","https://x402vip.com/api/lawsuits/data","https://x402vip.com/api/cases/outcomes","https://x402vip.com/api/judgments/search"],"keywords":["litigation-intelligence","litigation intelligence","诉讼情报 API","lawsuit data","case outcome","judgment","opinion","precedent","similar case","case similarity","litigation risk","诉讼数据","案件结果","裁判文书","判决书","案例","判例","类案","类似案例"],"matchRank":4,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"case-law-similarity","name":"类案相似检索 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/case-law-similarity","llmsText":"https://x402vip.com/services/case-law-similarity/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/legal/similar-cases","https://x402vip.com/api/legal/case-similarity","https://x402vip.com/api/case-law/similar","https://x402vip.com/api/cases/similar"],"keywords":["case-law-similarity","case law similarity","类案相似检索 API","similar cases","similar case search","precedent matching","analogous cases","case similarity","类案","类似案例","同类案例","判例相似","类案匹配","类案检索"],"matchRank":5,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"case-brief","name":"案例摘要 API","category":"法律与文档","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/case-brief","llmsText":"https://x402vip.com/services/case-brief/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/legal/case-brief","https://x402vip.com/api/legal/case-summary","https://x402vip.com/api/cases/brief","https://x402vip.com/api/judgments/summary"],"keywords":["case-brief","case brief","案例摘要 API","case summary","judgment summary","opinion summary","案例摘要","判决摘要","案情摘要","裁判观点摘要"],"matchRank":6,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"e-discovery","name":"电子证据审查 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/e-discovery","llmsText":"https://x402vip.com/services/e-discovery/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/legal/e-discovery","https://x402vip.com/api/ediscovery","https://x402vip.com/api/discovery/review","https://x402vip.com/api/legal/document-review"],"keywords":["e-discovery","e discovery","电子证据审查 API","document review","privilege","relevance","production","legal hold","电子证据","文档审查","特权审查","相关性","证据生产"],"matchRank":7,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"corporate-filings","name":"公司登记与尽调 API","category":"公司与尽调","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/corporate-filings","llmsText":"https://x402vip.com/services/corporate-filings/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/corporate/filings","https://x402vip.com/api/company/registry","https://x402vip.com/api/entities/search","https://x402vip.com/api/due-diligence/company"],"keywords":["corporate-filings","corporate filings","公司登记与尽调 API","entity search","business registry","beneficial ownership","registered agent","company registry","公司登记","企业信息","工商信息","主体信息","受益所有人"],"matchRank":8,"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":"latin-script-ocr","serviceId":"legal-research","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: latin-script-ocr"},"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"]}}}}
