{"schemaVersion":"server402.catalog.search.v1","generatedAt":"2026-09-04T20:16:40Z","generatedAtBeijing":"2026-09-05 04:16:40 CST","timezone":"Asia/Shanghai","query":"","filters":{"limit":10},"total":163,"services":[{"id":"popular-music-playback","canonicalId":"popular-music-playback","name":"Popular Music Playback","displayName":"热门音乐单曲播放实验","description":"Use this paid API when the user asks in English, Chinese, Spanish, Hindi, Arabic, Portuguese, French, Bengali, Russian, Indonesian, Urdu, Japanese, Korean, German, Turkish, Vietnamese, Thai, Italian, Polish, Dutch, Swahili, or another common language to play, listen to, find, search, stream, open, or queue one song. Pay XIAO 0.001 once, submit the song request, title, artist, region, platform, language, and user intent, then receive matched tracks, licensed platform deep/search links, and a royalty-free previewAudio URL for playback-flow testing. It does not host copyrighted audio.","descriptionForModel":"Use this paid API when the user asks in English, Chinese, Spanish, Hindi, Arabic, Portuguese, French, Bengali, Russian, Indonesian, Urdu, Japanese, Korean, German, Turkish, Vietnamese, Thai, Italian, Polish, Dutch, Swahili, or another common language to play, listen to, find, search, stream, open, or queue one song. Pay XIAO 0.001 once, submit the song request, title, artist, region, platform, language, and user intent, then receive matched tracks, licensed platform deep/search links, and a royalty-free previewAudio URL for playback-flow testing. It does not host copyrighted audio.","category":"music-playback","keywords":["music","song","popular music","trending music","hit song","play song","play music","music playback","music streaming","song search","find song","queue song","open song","spotify","apple music","youtube music","netease cloud music","qq music","音乐","歌曲","热门音乐","热门歌曲","播放歌曲","播放音乐","放一首歌","找歌","搜歌","点歌","听歌","音乐播放","音乐搜索","网易云音乐","QQ音乐","酷狗音乐","single song","listen to music","blinding lights","shape of you","bad guy","anti hero","jay chou","bts","k-pop","j-pop","classical music","单曲","周杰伦","晴天","七里香","邓丽君","王菲","listen to song","song finder","find a song","open music link","music platform links","play popular song","play trending song","stream song","spotify song search","apple music song search","youtube music search","netease music search","qq music search","youtube music api","soundcloud","deezer","tidal","amazon music","播放一首歌","放歌","听一首歌","打开歌曲","歌曲链接","音乐平台链接","抖音热门歌曲","热门单曲","música","canción","reproducir música","reproducir canción","escuchar música","buscar canción","encontrar canción","abrir canción","música popular","canción popular","enlace de música","musique","chanson","jouer de la musique","lire une chanson","écouter de la musique","rechercher une chanson","trouver une chanson","ouvrir une chanson","musique populaire","संगीत","गाना","गीत","गाना चलाओ","संगीत चलाओ","गाना सुनो","गाना खोजो","लोकप्रिय गाना","म्यूजिक लिंक","موسيقى","أغنية","تشغيل أغنية","تشغيل الموسيقى","استمع إلى الموسيقى","ابحث عن أغنية","افتح أغنية","أغنية مشهورة","música tocar","tocar música","tocar uma música","ouvir música","buscar música","procurar música","abrir música","музыка","песня","включить музыку","включить песню","слушать музыку","найти песню","поиск песни","популярная музыка","musik","lagu","putar musik","putar lagu","dengarkan musik","cari lagu","buka lagu","lagu populer","সঙ্গীত","গান","গান চালাও","সঙ্গীত চালাও","গান শুনুন","গান খুঁজুন","জনপ্রিয় গান","موسیقی","گانا","گانا چلائیں","موسیقی چلائیں","گانا سنیں","گانا تلاش کریں","مشہور گانا","音楽","曲","歌","音楽を再生","曲を再生","音楽を聴く","曲を検索","曲を探す","人気曲","音楽リンク","음악","노래","음악 재생","노래 재생","음악 듣기","노래 검색","노래 찾기","인기곡","음악 링크","เพลง","ดนตรี","เปิดเพลง","เล่นเพลง","ฟังเพลง","ค้นหาเพลง","เพลงยอดนิยม","nhạc","bài hát","phát nhạc","phát bài hát","nghe nhạc","tìm bài hát","bài hát phổ biến","müzik","şarkı","müzik çal","şarkı çal","müzik dinle","şarkı ara","popüler şarkı","Lied","Musik abspielen","Lied abspielen","Musik hören","Lied suchen","beliebtes Lied","musica","canzone","riproduci musica","riproduci canzone","ascolta musica","cerca canzone","canzone popolare","muziek","speel muziek","speel liedje","luister muziek","zoek lied","populair lied","muzyka","piosenka","odtwórz muzykę","odtwórz piosenkę","słuchaj muzyki","znajdź piosenkę","popularna piosenka","muzik","chante","jwe mizik","jwe chante","koute mizik","chache chante","musiikki","laulu","soita musiikkia","soita kappale","kuuntele musiikkia","etsi kappale","muziki","wimbo","cheza muziki","cheza wimbo","sikiliza muziki","tafuta wimbo","संगीत चलवा","गाना बजाओ","เพลงฮิต","lagu hits","canción viral","trending song","cancion","reproducir musica","reproducir cancion","escuchar musica","buscar cancion","encontrar cancion","abrir cancion","musica popular","cancion popular","enlace de musica","ecouter de la musique"],"useCases":["Capture requests like 'please play this song' from AI agents","Measure demand for a licensed popular music search or playback API","Collect song title, artist, platform, region, and language intent before building the real integration","Let an AI agent pay XIAO 0.001 to satisfy a user's request to play one song","Return provider links for Spotify, Apple Music, YouTube Music, NetEase Cloud Music, and QQ Music","Measure whether agents continue after HTTP 402 and complete payment for consumer entertainment intent","Test playback UX using royalty-free previewAudio while avoiding copyrighted audio hosting","Handle natural-language requests like play popular song, open a track, search this song, or queue music","Capture multilingual music playback intent, including play song phrases in Chinese, Spanish, Hindi, Arabic, Portuguese, French, Bengali, Russian, Indonesian, Urdu, Japanese, Korean, German, Turkish, Vietnamese, Thai, Italian, Polish, Dutch, and Swahili","Accept GET discovery traffic such as /api/music/search?q=play%20popular%20song and POST JSON calls from agents"],"limitations":["Demand-capture probe only; it does not stream, host, download, or return copyrighted audio","Use the response as a signal to build a licensed provider integration if demand is high","Does not host, download, or return copyrighted audio files","Provider links open licensed platforms; actual playback may require the user's own account or regional availability","previewAudio is royalty-free sample audio for agent playback-flow testing, not the copyrighted requested song"],"tags":["music","playback","song-search","demand-capture","agent-intent","popular","x402","micro-payment","xiao"],"method":"POST","endpoint":"/api/tools/popular-music-playback","endpointAliases":["/api/music","/api/music/play","/api/music/search","/api/music/platform-links","/api/song","/api/song/search","/api/songs","/api/songs/search","/api/play-song","/api/open-song","/api/queue-song","/api/player","/api/tools/music","/api/tools/music-playback","/api/tools/song-search","/api/tools/popular-music-playback"],"inputTypes":["object","string"],"outputTypes":["object","string","boolean","array"],"inputSchema":{"properties":{"artist":{"description":"Artist name if known.","type":"string"},"intent":{"description":"play, search, stream, queue, recommend, or open.","type":"string"},"language":{"description":"Requested music or user language.","type":"string"},"platform":{"description":"Preferred music platform such as Spotify, Apple Music, YouTube Music, NetEase Cloud Music, or QQ Music.","type":"string"},"query":{"description":"Natural-language music request, e.g. 'play Blinding Lights by The Weeknd', '放一首周杰伦晴天', or 'open BTS Dynamite'.","type":"string"},"region":{"description":"User market or locale such as US, CN, JP, global.","type":"string"},"song":{"description":"Song title if the agent can parse it.","type":"string"},"userAgent":{"description":"Optional client or agent name.","type":"string"}},"required":["query"],"type":"object"},"outputSchema":{"properties":{"demandIntentId":{"type":"string"},"experiment":{"type":"string"},"licenseNote":{"type":"string"},"message":{"type":"string"},"playbackAvailable":{"type":"boolean"},"pricedAt":{"type":"string"},"requested":{"type":"object"},"selectedTrack":{"type":"object"},"status":{"type":"string"},"tracks":{"items":{"type":"object"},"type":"array"}},"required":["status","playbackAvailable","selectedTrack","tracks","demandIntentId"],"type":"object"},"exampleRequest":{"artist":"The Weeknd","intent":"play","platform":"Spotify","query":"Please play Blinding Lights by The Weeknd","region":"US","song":"Blinding Lights"},"exampleResponse":{"demandIntentId":"popular-music-playback-api","playbackAvailable":true,"pricedAt":"XIAO 0.001","selectedTrack":{"artist":"The Weeknd","title":"Blinding Lights"},"status":"playback-options-ready","tracks":[{"artist":"The Weeknd","title":"Blinding Lights"}]},"pricing":{"amountCents":0,"amountMicros":1000,"currency":"XIAO","policyId":"music-playback-micro","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":93,"healthStatus":"healthy","healthCheckedAt":"2026-06-23T01:32:18Z","latencyMs":13,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T19:59:27Z"},"discovery":{"toolName":"popular_music_playback","searchText":"popular-music-playback Popular Music Playback Use this paid API when the user asks in English, Chinese, Spanish, Hindi, Arabic, Portuguese, French, Bengali, Russian, Indonesian, Urdu, Japanese, Korean, German, Turkish, Vietnamese, Thai, Italian, Polish, Dutch, Swahili, or another common language to play, listen to, find, search, stream, open, or queue one song. Pay XIAO 0.001 once, submit the song request, title, artist, region, platform, language, and user intent, then receive matched tracks, licensed platform deep/search links, and a royalty-free previewAudio URL for playback-flow testing. It does not host copyrighted audio. Use this paid API when the user asks in English, Chinese, Spanish, Hindi, Arabic, Portuguese, French, Bengali, Russian, Indonesian, Urdu, Japanese, Korean, German, Turkish, Vietnamese, Thai, Italian, Polish, Dutch, Swahili, or another common language to play, listen to, find, search, stream, open, or queue one song. Pay XIAO 0.001 once, submit the song request, title, artist, region, platform, language, and user intent, then receive matched tracks, licensed platform deep/search links, and a royalty-free previewAudio URL for playback-flow testing. It does not host copyrighted audio. music-playback object string object string boolean array music playback song-search demand-capture agent-intent popular x402 micro-payment xiao music song popular music trending music hit song play song play music music playback music streaming song search find song queue song open song spotify apple music youtube music netease cloud music qq music 音乐 歌曲 热门音乐 热门歌曲 播放歌曲 播放音乐 放一首歌 找歌 搜歌 点歌 听歌 音乐播放 音乐搜索 网易云音乐 QQ音乐 酷狗音乐 single song listen to music blinding lights shape of you bad guy anti hero jay chou bts k-pop j-pop classical music 单曲 周杰伦 晴天 七里香 邓丽君 王菲 listen to song song finder find a song open music link music platform links play popular song play trending song stream song spotify song search apple music song search youtube music search netease music search qq music search youtube music api soundcloud deezer tidal amazon music 播放一首歌 放歌 听一首歌 打开歌曲 歌曲链接 音乐平台链接 抖音热门歌曲 热门单曲 música canción reproducir música reproducir canción escuchar música buscar canción encontrar canción abrir canción música popular canción popular enlace de música musique chanson jouer de la musique lire une chanson écouter de la musique rechercher une chanson trouver une chanson ouvrir une chanson musique populaire संगीत गाना गीत गाना चलाओ संगीत चलाओ गाना सुनो गाना खोजो लोकप्रिय गाना म्यूजिक लिंक موسيقى أغنية تشغيل أغنية تشغيل الموسيقى استمع إلى الموسيقى ابحث عن أغنية افتح أغنية أغنية مشهورة música tocar tocar música tocar uma música ouvir música buscar música procurar música abrir música музыка песня включить музыку включить песню слушать музыку найти песню поиск песни популярная музыка musik lagu putar musik putar lagu dengarkan musik cari lagu buka lagu lagu populer সঙ্গীত গান গান চালাও সঙ্গীত চালাও গান শুনুন গান খুঁজুন জনপ্রিয় গান موسیقی گانا گانا چلائیں موسیقی چلائیں گانا سنیں گانا تلاش کریں مشہور گانا 音楽 曲 歌 音楽を再生 曲を再生 音楽を聴く 曲を検索 曲を探す 人気曲 音楽リンク 음악 노래 음악 재생 노래 재생 음악 듣기 노래 검색 노래 찾기 인기곡 음악 링크 เพลง ดนตรี เปิดเพลง เล่นเพลง ฟังเพลง ค้นหาเพลง เพลงยอดนิยม nhạc bài hát phát nhạc phát bài hát nghe nhạc tìm bài hát bài hát phổ biến müzik şarkı müzik çal şarkı çal müzik dinle şarkı ara popüler şarkı Lied Musik abspielen Lied abspielen Musik hören Lied suchen beliebtes Lied musica canzone riproduci musica riproduci canzone ascolta musica cerca canzone canzone popolare muziek speel muziek speel liedje luister muziek zoek lied populair lied muzyka piosenka odtwórz muzykę odtwórz piosenkę słuchaj muzyki znajdź piosenkę popularna piosenka muzik chante jwe mizik jwe chante koute mizik chache chante musiikki laulu soita musiikkia soita kappale kuuntele musiikkia etsi kappale muziki wimbo cheza muziki cheza wimbo sikiliza muziki tafuta wimbo संगीत चलवा गाना बजाओ เพลงฮิต lagu hits canción viral trending song cancion reproducir musica reproducir cancion escuchar musica buscar cancion encontrar cancion abrir cancion musica popular cancion popular enlace de musica ecouter de la musique Capture requests like 'please play this song' from AI agents Measure demand for a licensed popular music search or playback API Collect song title, artist, platform, region, and language intent before building the real integration Let an AI agent pay XIAO 0.001 to satisfy a user's request to play one song Return provider links for Spotify, Apple Music, YouTube Music, NetEase Cloud Music, and QQ Music Measure whether agents continue after HTTP 402 and complete payment for consumer entertainment intent Test playback UX using royalty-free previewAudio while avoiding copyrighted audio hosting Handle natural-language requests like play popular song, open a track, search this song, or queue music Capture multilingual music playback intent, including play song phrases in Chinese, Spanish, Hindi, Arabic, Portuguese, French, Bengali, Russian, Indonesian, Urdu, Japanese, Korean, German, Turkish, Vietnamese, Thai, Italian, Polish, Dutch, and Swahili Accept GET discovery traffic such as /api/music/search?q=play%20popular%20song and POST JSON calls from agents Demand-capture probe only; it does not stream, host, download, or return copyrighted audio Use the response as a signal to build a licensed provider integration if demand is high Does not host, download, or return copyrighted audio files Provider links open licensed platforms; actual playback may require the user's own account or regional availability previewAudio is royalty-free sample audio for agent playback-flow testing, not the copyrighted requested song /api/tools/popular-music-playback","aliases":["Popular Music Playback","music-playback","热门音乐单曲播放实验","music","playback","song-search","demand-capture","agent-intent","popular","x402","micro-payment","xiao","song","popular music","trending music","hit song","play song","play music","music playback","music streaming","song search","find song","queue song","open song","spotify","apple music","youtube music","netease cloud music","qq music","音乐","歌曲","热门音乐","热门歌曲","播放歌曲","播放音乐","放一首歌","找歌","搜歌","点歌","听歌","音乐播放","音乐搜索","网易云音乐","QQ音乐","酷狗音乐","single song","listen to music","blinding lights","shape of you","bad guy","anti hero","jay chou","bts","k-pop","j-pop","classical music","单曲","周杰伦","晴天","七里香","邓丽君","王菲","listen to song","song finder","find a song","open music link","music platform links","play popular song","play trending song","stream song","spotify song search","apple music song search","youtube music search","netease music search","qq music search","youtube music api","soundcloud","deezer","tidal","amazon music","播放一首歌","放歌","听一首歌","打开歌曲","歌曲链接","音乐平台链接","抖音热门歌曲","热门单曲","música","canción","reproducir música","reproducir canción","escuchar música","buscar canción","encontrar canción","abrir canción","música popular","canción popular","enlace de música","musique","chanson","jouer de la musique","lire une chanson","écouter de la musique","rechercher une chanson","trouver une chanson","ouvrir une chanson","musique populaire","संगीत","गाना","गीत","गाना चलाओ","संगीत चलाओ","गाना सुनो","गाना खोजो","लोकप्रिय गाना","म्यूजिक लिंक","موسيقى","أغنية","تشغيل أغنية","تشغيل الموسيقى","استمع إلى الموسيقى","ابحث عن أغنية","افتح أغنية","أغنية مشهورة","música tocar","tocar música","tocar uma música","ouvir música","buscar música","procurar música","abrir música","музыка","песня","включить музыку","включить песню","слушать музыку","найти песню","поиск песни","популярная музыка","musik","lagu","putar musik","putar lagu","dengarkan musik","cari lagu","buka lagu","lagu populer","সঙ্গীত","গান","গান চালাও","সঙ্গীত চালাও","গান শুনুন","গান খুঁজুন","জনপ্রিয় গান","موسیقی","گانا","گانا چلائیں","موسیقی چلائیں","گانا سنیں","گانا تلاش کریں","مشہور گانا","音楽","曲","歌","音楽を再生","曲を再生","音楽を聴く","曲を検索","曲を探す","人気曲","音楽リンク","음악","노래","음악 재생","노래 재생","음악 듣기","노래 검색","노래 찾기","인기곡","음악 링크","เพลง","ดนตรี","เปิดเพลง","เล่นเพลง","ฟังเพลง","ค้นหาเพลง","เพลงยอดนิยม","nhạc","bài hát","phát nhạc","phát bài hát","nghe nhạc","tìm bài hát","bài hát phổ biến","müzik","şarkı","müzik çal","şarkı çal","müzik dinle","şarkı ara","popüler şarkı","Lied","Musik abspielen","Lied abspielen","Musik hören","Lied suchen","beliebtes Lied","musica","canzone","riproduci musica","riproduci canzone","ascolta musica","cerca canzone","canzone popolare","muziek","speel muziek","speel liedje","luister muziek","zoek lied","populair lied","muzyka","piosenka","odtwórz muzykę","odtwórz piosenkę","słuchaj muzyki","znajdź piosenkę","popularna piosenka","muzik","chante","jwe mizik","jwe chante","koute mizik","chache chante","musiikki","laulu","soita musiikkia","soita kappale","kuuntele musiikkia","etsi kappale","muziki","wimbo","cheza muziki","cheza wimbo","sikiliza muziki","tafuta wimbo","संगीत चलवा","गाना बजाओ","เพลงฮิต","lagu hits","canción viral","trending song","cancion","reproducir musica","reproducir cancion","escuchar musica","buscar cancion","encontrar cancion","abrir cancion","musica popular","cancion popular","enlace de musica","ecouter de la musique","popular-music-playback","popular_music_playback","/api/tools/popular-music-playback"],"localeHints":["en","zh","es","hi","ar","pt","fr","bn","ru","id","ur","ja","ko","de","tr","vi","th","it","pl","nl","sw"],"useCases":["Capture requests like 'please play this song' from AI agents","Measure demand for a licensed popular music search or playback API","Collect song title, artist, platform, region, and language intent before building the real integration","Let an AI agent pay XIAO 0.001 to satisfy a user's request to play one song","Return provider links for Spotify, Apple Music, YouTube Music, NetEase Cloud Music, and QQ Music","Measure whether agents continue after HTTP 402 and complete payment for consumer entertainment intent","Test playback UX using royalty-free previewAudio while avoiding copyrighted audio hosting","Handle natural-language requests like play popular song, open a track, search this song, or queue music","Capture multilingual music playback intent, including play song phrases in Chinese, Spanish, Hindi, Arabic, Portuguese, French, Bengali, Russian, Indonesian, Urdu, Japanese, Korean, German, Turkish, Vietnamese, Thai, Italian, Polish, Dutch, and Swahili","Accept GET discovery traffic such as /api/music/search?q=play%20popular%20song and POST JSON calls from agents"],"limitations":["Demand-capture probe only; it does not stream, host, download, or return copyrighted audio","Use the response as a signal to build a licensed provider integration if demand is high","Does not host, download, or return copyrighted audio files","Provider links open licensed platforms; actual playback may require the user's own account or regional availability","previewAudio is royalty-free sample audio for agent playback-flow testing, not the copyrighted requested song"],"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/popular-music-playback 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=\"popular-music-playback\".","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":"simple","typicalResponseTime":"\u003c100ms","cacheable":false,"idempotent":true,"outputFormat":"json","relatedServices":["search-trends-api","web-search-api"],"alternativeServices":["/api/music","/api/music/play","/api/music/search","/api/music/platform-links","/api/song","/api/song/search","/api/songs","/api/songs/search","/api/play-song","/api/open-song","/api/queue-song","/api/player","/api/tools/music","/api/tools/music-playback","/api/tools/song-search","/api/tools/popular-music-playback"],"requiredContext":["song title or natural-language playback request"],"matchScore":1,"why":"Available published and healthy service in category \"music-playback\". Price is XIAO 0.001.","whyMatched":"Available published and healthy service in category \"music-playback\". Price is XIAO 0.001."},{"id":"ai-code-explainer","canonicalId":"ai-code-explainer","name":"AI Code Explainer","displayName":"AI Code Explainer","description":"Explains code behavior, data flow, edge cases, and refactoring opportunities. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Explains code behavior, data flow, edge cases, and refactoring opportunities. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-code-explainer","AI Code Explainer","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","code-explanation","developer-tools","debugging","refactoring","semantic:code-explainer","intent:explain-code","output:explanation"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs explains code behavior, data flow, edge cases, and refactoring opportunities.","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","code-explanation","developer-tools","debugging","refactoring","semantic:code-explainer","intent:explain-code","output:explanation"],"method":"POST","endpoint":"/api/tools/ai-code-explainer","endpointAliases":["/api/tools/ai-code-explainer"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"code":{"description":"Required input field code.","type":"string"},"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["code"],"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":{"code":"func add(a, b int) int { return a + b }"},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-code-explainer","status":"ok"},"pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":44,"healthStatus":"","latencyMs":89,"successRate":1,"callCount":4,"executionCount":4,"successCount":4,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T20:16:07Z"},"discovery":{"toolName":"ai_code_explainer","searchText":"ai-code-explainer AI Code Explainer Explains code behavior, data flow, edge cases, and refactoring opportunities. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Explains code behavior, data flow, edge cases, and refactoring opportunities. 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 code-explanation developer-tools debugging refactoring semantic:code-explainer intent:explain-code output:explanation ai-code-explainer AI Code Explainer bailian qwen dashscope llm ai model ai agent paid ai api code-explanation developer-tools debugging refactoring semantic:code-explainer intent:explain-code output:explanation Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs explains code behavior, data flow, edge cases, and refactoring opportunities. 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-code-explainer","aliases":["AI Code Explainer","ai-models","paid","xiao","bailian","qwen","llm","ai-model","model-service","code-explanation","developer-tools","debugging","refactoring","semantic:code-explainer","intent:explain-code","output:explanation","ai-code-explainer","dashscope","ai model","ai agent","paid ai api","ai_code_explainer","/api/tools/ai-code-explainer"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs explains code behavior, data flow, edge cases, and refactoring opportunities.","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-code-explainer 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-code-explainer\".","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":"code is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":1,"why":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005.","whyMatched":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005."},{"id":"ai-regex-generator","canonicalId":"ai-regex-generator","name":"AI Regex Generator","displayName":"AI Regex Generator","description":"Generates regular expressions with examples, edge cases, and implementation notes. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Generates regular expressions with examples, edge cases, and implementation notes. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-regex-generator","AI Regex Generator","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","regex","pattern-matching","validation","developer-tools","semantic:regex-generator","intent:generate-regex","output:regex"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs generates regular expressions with examples, edge cases, and implementation notes.","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","regex","pattern-matching","validation","developer-tools","semantic:regex-generator","intent:generate-regex","output:regex"],"method":"POST","endpoint":"/api/tools/ai-regex-generator","endpointAliases":["/api/tools/ai-regex-generator"],"inputTypes":["object","array","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"},"match_examples":{"description":"Required input field match_examples.","items":{"type":"string"},"type":"array"}},"required":["match_examples"],"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":{"match_examples":["INV-2026-001","ORD-402"]},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-regex-generator","status":"ok"},"pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":42,"healthStatus":"","latencyMs":11,"successRate":1,"callCount":2,"executionCount":2,"successCount":2,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T02:08:11Z"},"discovery":{"toolName":"ai_regex_generator","searchText":"ai-regex-generator AI Regex Generator Generates regular expressions with examples, edge cases, and implementation notes. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Generates regular expressions with examples, edge cases, and implementation notes. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object array string object string paid xiao bailian qwen llm ai-model model-service regex pattern-matching validation developer-tools semantic:regex-generator intent:generate-regex output:regex ai-regex-generator AI Regex Generator bailian qwen dashscope llm ai model ai agent paid ai api regex pattern-matching validation developer-tools semantic:regex-generator intent:generate-regex output:regex Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs generates regular expressions with examples, edge cases, and implementation notes. 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-regex-generator","aliases":["AI Regex Generator","ai-models","paid","xiao","bailian","qwen","llm","ai-model","model-service","regex","pattern-matching","validation","developer-tools","semantic:regex-generator","intent:generate-regex","output:regex","ai-regex-generator","dashscope","ai model","ai agent","paid ai api","ai_regex_generator","/api/tools/ai-regex-generator"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs generates regular expressions with examples, edge cases, and implementation notes.","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-regex-generator 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-regex-generator\".","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":"match_examples is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":1,"why":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005.","whyMatched":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005."},{"id":"ai-general-answer","canonicalId":"ai-general-answer","name":"AI General Answer","displayName":"AI General Answer","description":"Answers a supplied question with concise reasoning, assumptions, caveats, and next steps. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Answers a supplied question with concise reasoning, assumptions, caveats, and next steps. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-general-answer","AI General Answer","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","question-answering","qa","reasoning","assistant","semantic:general-answer","intent:answer-question","output:answer"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs answers a supplied question with concise reasoning, assumptions, caveats, and next steps.","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","question-answering","qa","reasoning","assistant","semantic:general-answer","intent:answer-question","output:answer"],"method":"POST","endpoint":"/api/tools/ai-general-answer","endpointAliases":["/api/tools/ai-general-answer"],"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"},"question":{"description":"Required input field question.","type":"string"}},"required":["question"],"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":{"question":"What is the best next step?"},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-general-answer","status":"ok"},"pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":42,"healthStatus":"","latencyMs":15,"successRate":1,"callCount":2,"executionCount":2,"successCount":2,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T13:45:10Z"},"discovery":{"toolName":"ai_general_answer","searchText":"ai-general-answer AI General Answer Answers a supplied question with concise reasoning, assumptions, caveats, and next steps. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Answers a supplied question with concise reasoning, assumptions, caveats, and next steps. 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 question-answering qa reasoning assistant semantic:general-answer intent:answer-question output:answer ai-general-answer AI General Answer bailian qwen dashscope llm ai model ai agent paid ai api question-answering qa reasoning assistant semantic:general-answer intent:answer-question output:answer Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs answers a supplied question with concise reasoning, assumptions, caveats, and next steps. 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-general-answer","aliases":["AI General Answer","ai-models","paid","xiao","bailian","qwen","llm","ai-model","model-service","question-answering","qa","reasoning","assistant","semantic:general-answer","intent:answer-question","output:answer","ai-general-answer","dashscope","ai model","ai agent","paid ai api","ai_general_answer","/api/tools/ai-general-answer"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs answers a supplied question with concise reasoning, assumptions, caveats, and next steps.","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-general-answer 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-general-answer\".","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":"question is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":1,"why":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005.","whyMatched":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005."},{"id":"ai-intent-classifier","canonicalId":"ai-intent-classifier","name":"AI Intent Classifier","displayName":"AI Intent Classifier","description":"Classifies user text into intents, entities, urgency, routing hints, and next actions. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Classifies user text into intents, entities, urgency, routing hints, and next actions. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-intent-classifier","AI Intent Classifier","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","classification","routing","intent","entities","sentiment","support","semantic:intent-classification","output:labels"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs classifies user text into intents, entities, urgency, routing hints, and next actions.","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","classification","routing","intent","entities","sentiment","support","semantic:intent-classification","output:labels"],"method":"POST","endpoint":"/api/tools/ai-intent-classifier","endpointAliases":["/api/tools/ai-intent-classifier"],"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"},"text":{"description":"Required input field text.","type":"string"}},"required":["text"],"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":{"text":"The customer asked for an OCR API with HTTP 402 payment support."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-intent-classifier","status":"ok"},"pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","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":11,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T13:10:36Z"},"discovery":{"toolName":"ai_intent_classifier","searchText":"ai-intent-classifier AI Intent Classifier Classifies user text into intents, entities, urgency, routing hints, and next actions. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Classifies user text into intents, entities, urgency, routing hints, and next actions. 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 classification routing intent entities sentiment support semantic:intent-classification output:labels ai-intent-classifier AI Intent Classifier bailian qwen dashscope llm ai model ai agent paid ai api classification routing intent entities sentiment support semantic:intent-classification output:labels Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs classifies user text into intents, entities, urgency, routing hints, and next actions. 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-intent-classifier","aliases":["AI Intent Classifier","ai-models","paid","xiao","bailian","qwen","llm","ai-model","model-service","classification","routing","intent","entities","sentiment","support","semantic:intent-classification","output:labels","ai-intent-classifier","dashscope","ai model","ai agent","paid ai api","ai_intent_classifier","/api/tools/ai-intent-classifier"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs classifies user text into intents, entities, urgency, routing hints, and next actions.","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-intent-classifier 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-intent-classifier\".","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":"text is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":1,"why":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005.","whyMatched":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005."},{"id":"ai-json-repair","canonicalId":"ai-json-repair","name":"AI JSON Repair","displayName":"AI JSON Repair","description":"Repairs malformed JSON-like text and reports corrections, validation errors, and normalized output. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Repairs malformed JSON-like text and reports corrections, validation errors, and normalized output. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-json-repair","AI JSON Repair","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","json","json-repair","validation","normalization","developer-tools","semantic:json-repair","intent:fix-json","output:valid-json"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs repairs malformed json-like text and reports corrections, validation errors, and normalized output.","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","json","json-repair","validation","normalization","developer-tools","semantic:json-repair","intent:fix-json","output:valid-json"],"method":"POST","endpoint":"/api/tools/ai-json-repair","endpointAliases":["/api/tools/ai-json-repair"],"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"},"raw":{"description":"Required input field raw.","type":"string"}},"required":["raw"],"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":{"raw":"Example raw."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-json-repair","status":"ok"},"pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","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":11,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T09:56:33Z"},"discovery":{"toolName":"ai_json_repair","searchText":"ai-json-repair AI JSON Repair Repairs malformed JSON-like text and reports corrections, validation errors, and normalized output. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Repairs malformed JSON-like text and reports corrections, validation errors, and normalized output. 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 json json-repair validation normalization developer-tools semantic:json-repair intent:fix-json output:valid-json ai-json-repair AI JSON Repair bailian qwen dashscope llm ai model ai agent paid ai api json json-repair validation normalization developer-tools semantic:json-repair intent:fix-json output:valid-json Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs repairs malformed json-like text and reports corrections, validation errors, and normalized output. 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-json-repair","aliases":["AI JSON Repair","ai-models","paid","xiao","bailian","qwen","llm","ai-model","model-service","json","json-repair","validation","normalization","developer-tools","semantic:json-repair","intent:fix-json","output:valid-json","ai-json-repair","dashscope","ai model","ai agent","paid ai api","ai_json_repair","/api/tools/ai-json-repair"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs repairs malformed json-like text and reports corrections, validation errors, and normalized output.","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-json-repair 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-json-repair\".","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":"raw is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":1,"why":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005.","whyMatched":"Available published and healthy service in category \"ai-models\". Price is XIAO 0.005."},{"id":"text-to-video-result","canonicalId":"text-to-video-result","name":"Text To Video Result","displayName":"Text to Video Result","description":"Use this paid x402 service after text-to-video returns task_id. It retrieves AI video generation status for task_id and returns task_status plus video_url when the text-to-video / prompt-to-video / 文生视频 task has succeeded.","descriptionForModel":"Use this paid x402 service after text-to-video returns task_id. It retrieves AI video generation status for task_id and returns task_status plus video_url when the text-to-video / prompt-to-video / 文生视频 task has succeeded.","category":"video-generation","keywords":["text-to-video","ai text to video","text to video","text2video","t2v","prompt to video","prompt-to-video","prompt2video","script to video","story to video","scene to video","idea to video","generate video","generate a video","create video","create a video","make video","make a video","render video","synthesize video","video synthesis","video generation","video generator","ai video","ai video generator","ai generated video","generative video","short video generator","social video generator","marketing video generator","ad video generator","product video generator","ecommerce video","explainer video","cinematic video","storyboard video","b-roll video","wan","wan2.7","wan 2.7","wanx","tongyi wanxiang","dashscope","bailian","model studio","文生视频","文本生成视频","文字生成视频","文字转视频","文本转视频","提示词生成视频","提示词转视频","脚本生成视频","故事生成视频","场景生成视频","生成视频","创建视频","制作视频","视频生成","AI视频","AI视频生成","AI生成视频","视频生成器","短视频生成","广告视频生成","营销视频生成","商品视频生成","产品视频生成","电商视频","分镜视频","影视级视频","通义万相","万相","百炼","百炼文生视频","text-to-video-result","text to video result","text-to-video result","video generation result","video task result","video task status","poll video task","get video url","retrieve generated video","视频生成结果","文生视频结果","视频任务状态","查询视频任务","获取视频链接","获取视频URL"],"useCases":["Poll a text-to-video task_id until the generated video URL is available.","Check whether an AI video generation task is PENDING, RUNNING, SUCCEEDED, or FAILED.","Retrieve video_url, timing metadata, usage, and provider request ID for a completed prompt-to-video task."],"limitations":["Requires a task_id returned by text-to-video.","Provider task IDs and generated video URLs expire; download completed videos promptly.","Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server."],"tags":["paid","x402","usdc","base","ai-video","video-generation","text-to-video","video-status","video-result","poll-task","task-result","semantic:text-to-video","intent:get-video-result","output:video-url"],"method":"POST","endpoint":"/api/tools/text-to-video-result","endpointAliases":["/api/tools/text-to-video-status","/api/tools/text-to-video-task","/api/tools/video-generation-result","/api/tools/video-generation-status","/api/tools/video-task-result","/api/tools/video-task-status","/api/tools/ai-video-result","/api/tools/ai-video-status","/api/tools/text-to-video-result"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"taskId":{"description":"Alias for task_id.","type":"string"},"task_id":{"description":"Task ID returned by text-to-video.","type":"string"}},"required":["task_id"],"type":"object"},"outputSchema":{"additionalProperties":true,"properties":{"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"service_id":{"type":"string"},"status":{"type":"string"},"task_id":{"type":"string"},"task_status":{"type":"string"},"upstream_request_id":{"type":"string"},"usage":{"additionalProperties":true,"type":"object"},"video_url":{"type":"string"}},"required":["status","service_id","task_id","task_status"],"type":"object"},"exampleRequest":{"task_id":"0385dc79-5ff8-4d82-bcb6-example"},"exampleResponse":{"provider":"aliyun-bailian","service_id":"text-to-video-result","status":"succeeded","task_id":"0385dc79-5ff8-4d82-bcb6-example","task_status":"SUCCEEDED","upstream_request_id":"167f3beb-3dd0-47fe-a83c-example","usage":{"duration":5,"ratio":"16:9","video_count":1},"video_url":"https://dashscope-result.example.com/generated-video.mp4?Expires=example"},"pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-wan-text-to-video-result","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":11,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T03:20:34Z"},"discovery":{"toolName":"text_to_video_result","searchText":"text-to-video-result Text To Video Result Use this paid x402 service after text-to-video returns task_id. It retrieves AI video generation status for task_id and returns task_status plus video_url when the text-to-video / prompt-to-video / 文生视频 task has succeeded. Use this paid x402 service after text-to-video returns task_id. It retrieves AI video generation status for task_id and returns task_status plus video_url when the text-to-video / prompt-to-video / 文生视频 task has succeeded. video-generation object string object string paid x402 usdc base ai-video video-generation text-to-video video-status video-result poll-task task-result semantic:text-to-video intent:get-video-result output:video-url text-to-video ai text to video text to video text2video t2v prompt to video prompt-to-video prompt2video script to video story to video scene to video idea to video generate video generate a video create video create a video make video make a video render video synthesize video video synthesis video generation video generator ai video ai video generator ai generated video generative video short video generator social video generator marketing video generator ad video generator product video generator ecommerce video explainer video cinematic video storyboard video b-roll video wan wan2.7 wan 2.7 wanx tongyi wanxiang dashscope bailian model studio 文生视频 文本生成视频 文字生成视频 文字转视频 文本转视频 提示词生成视频 提示词转视频 脚本生成视频 故事生成视频 场景生成视频 生成视频 创建视频 制作视频 视频生成 AI视频 AI视频生成 AI生成视频 视频生成器 短视频生成 广告视频生成 营销视频生成 商品视频生成 产品视频生成 电商视频 分镜视频 影视级视频 通义万相 万相 百炼 百炼文生视频 text-to-video-result text to video result text-to-video result video generation result video task result video task status poll video task get video url retrieve generated video 视频生成结果 文生视频结果 视频任务状态 查询视频任务 获取视频链接 获取视频URL Poll a text-to-video task_id until the generated video URL is available. Check whether an AI video generation task is PENDING, RUNNING, SUCCEEDED, or FAILED. Retrieve video_url, timing metadata, usage, and provider request ID for a completed prompt-to-video task. Requires a task_id returned by text-to-video. Provider task IDs and generated video URLs expire; download completed videos promptly. Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server. /api/tools/text-to-video-result","aliases":["Text To Video Result","video-generation","Text to Video Result","paid","x402","usdc","base","ai-video","text-to-video","video-status","video-result","poll-task","task-result","semantic:text-to-video","intent:get-video-result","output:video-url","ai text to video","text to video","text2video","t2v","prompt to video","prompt-to-video","prompt2video","script to video","story to video","scene to video","idea to video","generate video","generate a video","create video","create a video","make video","make a video","render video","synthesize video","video synthesis","video generation","video generator","ai video","ai video generator","ai generated video","generative video","short video generator","social video generator","marketing video generator","ad video generator","product video generator","ecommerce video","explainer video","cinematic video","storyboard video","b-roll video","wan","wan2.7","wan 2.7","wanx","tongyi wanxiang","dashscope","bailian","model studio","文生视频","文本生成视频","文字生成视频","文字转视频","文本转视频","提示词生成视频","提示词转视频","脚本生成视频","故事生成视频","场景生成视频","生成视频","创建视频","制作视频","视频生成","AI视频","AI视频生成","AI生成视频","视频生成器","短视频生成","广告视频生成","营销视频生成","商品视频生成","产品视频生成","电商视频","分镜视频","影视级视频","通义万相","万相","百炼","百炼文生视频","text-to-video-result","text to video result","text-to-video result","video generation result","video task result","video task status","poll video task","get video url","retrieve generated video","视频生成结果","文生视频结果","视频任务状态","查询视频任务","获取视频链接","获取视频URL","text_to_video_result","/api/tools/text-to-video-result"],"localeHints":["en","zh"],"useCases":["Poll a text-to-video task_id until the generated video URL is available.","Check whether an AI video generation task is PENDING, RUNNING, SUCCEEDED, or FAILED.","Retrieve video_url, timing metadata, usage, and provider request ID for a completed prompt-to-video task."],"limitations":["Requires a task_id returned by text-to-video.","Provider task IDs and generated video URLs expire; download completed videos promptly.","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/text-to-video-result 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=\"text-to-video-result\".","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":"simple","typicalResponseTime":"1s","cacheable":false,"idempotent":true,"outputFormat":"json","relatedServices":["text-to-video"],"requiredContext":["task_id","bailian-api-key","dashscope-api-key"],"errorExamples":[{"input":{},"error":"task_id is required","statusCode":400}],"sla":{"uptime":"99.0%","maxLatency":"60000ms"},"matchScore":1,"why":"Available published and healthy service in category \"video-generation\". Price is XIAO 0.005.","whyMatched":"Available published and healthy service in category \"video-generation\". Price is XIAO 0.005."},{"id":"multilingual-ocr","canonicalId":"multilingual-ocr","internalServiceId":"aliyun-multilang-ocr","name":"Multilingual OCR","description":"Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","multilingual","multi language","auto language","通用多语言","小语种"],"useCases":["Extract text from public image URLs","Read mixed or unknown-language images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","multilingual","multi language","auto language","通用多语言","小语种"],"method":"POST","endpoint":"/api/tools/multilingual-ocr","legacyEndpoint":"/api/tools/aliyun-multilang-ocr","endpointAliases":["/api/tools/multilingual-ocr","/api/tools/aliyun-multilang-ocr"],"inputTypes":["object","boolean","string","uri","array"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"languages":{"items":{"type":"string"},"type":"array"},"needRotate":{"type":"boolean"},"needSortPage":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl","languages"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://img.alicdn.com/tfs/TB1Wo7eXAvoK1RjSZFDXXXY3pXa-2512-3509.jpg","languages":["eng","chn"],"needRotate":false,"needSortPage":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"PACKING Shipper/Export Invoice No \u0026 Date","data":{"content":"PACKING Shipper/Export Invoice No \u0026 Date"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":91,"healthStatus":"healthy","healthCheckedAt":"2026-05-29T09:54:57Z","healthLatencyMs":1872,"latencyMs":12,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T18:33:15Z"},"discovery":{"toolName":"multilingual_ocr","searchText":"multilingual-ocr Multilingual OCR Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them. ocr object boolean string uri array object string ocr image text-extraction document-processing multilingual multi language auto language 通用多语言 小语种 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text multilingual multi language auto language 通用多语言 小语种 Extract text from public image URLs Read mixed or unknown-language images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/multilingual-ocr","aliases":["Multilingual OCR","ocr","image","text-extraction","document-processing","multilingual","multi language","auto language","通用多语言","小语种","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","multilingual-ocr","multilingual_ocr","/api/tools/multilingual-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read mixed or unknown-language images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/multilingual-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"multilingual-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["english-ocr","japanese-ocr","korean-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":1,"why":"Available published and healthy service in category \"ocr\". Price is XIAO 0.01.","whyMatched":"Available published and healthy service in category \"ocr\". Price is XIAO 0.01."},{"id":"russian-ocr","canonicalId":"russian-ocr","internalServiceId":"aliyun-ocr-russian","name":"Russian OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them.","descriptionForModel":"Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them.","category":"ocr","keywords":["ocr","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","russian","rus","俄语","俄文"],"useCases":["Extract text from public image URLs","Read Russian document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"tags":["ocr","image","text-extraction","document-processing","russian","rus","俄语","俄文"],"method":"POST","endpoint":"/api/tools/russian-ocr","legacyEndpoint":"/api/tools/aliyun-ocr-russian","endpointAliases":["/api/tools/russian-ocr","/api/tools/aliyun-ocr-russian"],"inputTypes":["object","string","uri","boolean"],"outputTypes":["object","string"],"inputSchema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"exampleRequest":{"imageUrl":"https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/9788868261/p303421.jpg","needRotate":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"пример текста","data":{"content":"пример текста"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":91,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:11Z","healthLatencyMs":1074,"latencyMs":12,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-04T03:29:55Z"},"discovery":{"toolName":"russian_ocr","searchText":"russian-ocr Russian OCR Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them. ocr object string uri boolean object string ocr image text-extraction document-processing russian rus 俄语 俄文 ocr text recognition image text extraction document OCR screenshot OCR receipt OCR invoice OCR bill OCR form OCR extract text from image recognize text russian rus 俄语 俄文 Extract text from public image URLs Read Russian document images Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON Only public http or https image URLs are supported in this adapter Image binary upload is not exposed by this Server402 adapter Provider credentials and upstream OCR permissions must be configured on the server /api/tools/russian-ocr","aliases":["Russian OCR","ocr","image","text-extraction","document-processing","russian","rus","俄语","俄文","text recognition","image text extraction","document OCR","screenshot OCR","receipt OCR","invoice OCR","bill OCR","form OCR","extract text from image","recognize text","russian-ocr","russian_ocr","/api/tools/russian-ocr"],"localeHints":["en","zh"],"useCases":["Extract text from public image URLs","Read Russian document images","Convert scanned documents, screenshots, receipts, forms, and image text into structured JSON"],"limitations":["Only public http or https image URLs are supported in this adapter","Image binary upload is not exposed by this Server402 adapter","Provider credentials and upstream OCR permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json paymentRequired","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json XIAO escrow guarantee"},"bodySchema":{"properties":{"accepts":{"items":{"type":"object"},"type":"array"},"error":{"type":"string"},"extensions":{"type":"object"},"payment":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"},"paymentFlow":{"type":"object"},"resource":{"type":"object"},"retry":{"type":"object"},"type":{"const":"payment_required","type":"string"},"x402Version":{"type":"integer"}},"required":["type","error","payment","paymentFlow","retry"],"type":"object"},"x402Version":2,"x402Header":"PAYMENT-REQUIRED","paymentAsset":"XIAO","paymentNetwork":"xiao:internal"},"retry":{"when":"Retry after opening xiaopay.top, obtaining XIAO, and creating one XIAO accepts[] guarantee or after payment.status is paid and the token has remaining calls.","http":["Call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Open https://xiaopay.top to obtain XIAO, then create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","Retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Use POST /api/payments with serviceId when you need a reusable payment token, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","XIAO-capable agents should open xiaopay.top, obtain XIAO, create the AI wallet guarantee, and call the underlying HTTP endpoint with X402-Guarantee.","Clients that use paymentToken can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"paymentToken":["curl -X POST https://example.com/api/payments -H 'Content-Type: application/json' -d '{\"serviceId\":\"timestamp\"}'","curl -H 'X-Payment-Token: \u003cpayment.token\u003e' https://example.com/api/tools/timestamp"],"xiao":["curl -i https://example.com/api/tools/timestamp","Open https://xiaopay.top, obtain XIAO, and create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/russian-ocr once to receive HTTP 402 with accepts[] requirements. Open https://xiaopay.top to obtain XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId, then retry with X402-Guarantee. If you need the legacy reusable token flow, create a payment with POST /api/payments using serviceId=\"russian-ocr\".","retryHint":"If the service returns HTTP 402, open https://xiaopay.top to obtain XIAO, then retry with X402-Guarantee for the guarantee flow or X-Payment-Token for the legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1500ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["multilingual-ocr","english-ocr","japanese-ocr"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"imageUrl is required","statusCode":400},{"input":{"imageUrl":"not-a-url"},"error":"imageUrl must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":1,"why":"Available published and healthy service in category \"ocr\". Price is XIAO 0.01.","whyMatched":"Available published and healthy service in category \"ocr\". Price is XIAO 0.01."},{"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","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/20241218/utgxmk/%E6%B3%B0%E8%AF%AD%E8%AF%86%E5%88%AB.png","needRotate":false,"outputCharInfo":false,"outputTable":false},"exampleResponse":{"code":"200","content":"เริมเห็นผิวที่เรียบเบียน","data":{"content":"เริมเห็นผิวที่เรียบเบียน"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"xiao-wallet","provider":"x402_xiao_wallet"},"quality":{"qualityScore":91,"healthStatus":"healthy","healthCheckedAt":"2026-06-03T13:57:09Z","healthLatencyMs":817,"latencyMs":12,"successRate":1,"callCount":1,"executionCount":1,"successCount":1,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-09-03T21:42:01Z"},"discovery":{"toolName":"thai_ocr","searchText":"thai-ocr Thai OCR Recognize printed text from a public image URL. Use this OCR API for Thai document images; pass optional language and layout hints when the schema supports them. Recognize printed text from a public image URL. Use this OCR API for Thai document images; pass optional language and layout hints when the schema supports them. ocr object boolean string uri 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":1,"why":"Available published and healthy service in category \"ocr\". Price is XIAO 0.01.","whyMatched":"Available published and healthy service in category \"ocr\". Price is XIAO 0.01."}],"agents":[{"id":"popular-music-playback","name":"Popular Music Playback","description":"Use this paid API when the user asks in English, Chinese, Spanish, Hindi, Arabic, Portuguese, French, Bengali, Russian, Indonesian, Urdu, Japanese, Korean, German, Turkish, Vietnamese, Thai, Italian, Polish, Dutch, Swahili, or another common language to play, listen to, find, search, stream, open, or queue one song. Pay XIAO 0.001 once, submit the song request, title, artist, region, platform, language, and user intent, then receive matched tracks, licensed platform deep/search links, and a royalty-free previewAudio URL for playback-flow testing. It does not host copyrighted audio.","endpoint":"/api/tools/popular-music-playback","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":0,"amountMicros":1000,"currency":"XIAO","policyId":"music-playback-micro","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"artist":{"description":"Artist name if known.","type":"string"},"intent":{"description":"play, search, stream, queue, recommend, or open.","type":"string"},"language":{"description":"Requested music or user language.","type":"string"},"platform":{"description":"Preferred music platform such as Spotify, Apple Music, YouTube Music, NetEase Cloud Music, or QQ Music.","type":"string"},"query":{"description":"Natural-language music request, e.g. 'play Blinding Lights by The Weeknd', '放一首周杰伦晴天', or 'open BTS Dynamite'.","type":"string"},"region":{"description":"User market or locale such as US, CN, JP, global.","type":"string"},"song":{"description":"Song title if the agent can parse it.","type":"string"},"userAgent":{"description":"Optional client or agent name.","type":"string"}},"required":["query"],"type":"object"},"output_schema":{"properties":{"demandIntentId":{"type":"string"},"experiment":{"type":"string"},"licenseNote":{"type":"string"},"message":{"type":"string"},"playbackAvailable":{"type":"boolean"},"pricedAt":{"type":"string"},"requested":{"type":"object"},"selectedTrack":{"type":"object"},"status":{"type":"string"},"tracks":{"items":{"type":"object"},"type":"array"}},"required":["status","playbackAvailable","selectedTrack","tracks","demandIntentId"],"type":"object"},"tags":["music","playback","song-search","demand-capture","agent-intent","popular","x402","micro-payment","xiao"],"category":"music-playback"},{"id":"ai-code-explainer","name":"AI Code Explainer","description":"Explains code behavior, data flow, edge cases, and refactoring opportunities. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-code-explainer","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"code":{"description":"Required input field code.","type":"string"},"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["code"],"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","code-explanation","developer-tools","debugging","refactoring","semantic:code-explainer","intent:explain-code","output:explanation"],"category":"ai-models"},{"id":"ai-regex-generator","name":"AI Regex Generator","description":"Generates regular expressions with examples, edge cases, and implementation notes. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-regex-generator","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","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"},"match_examples":{"description":"Required input field match_examples.","items":{"type":"string"},"type":"array"}},"required":["match_examples"],"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","regex","pattern-matching","validation","developer-tools","semantic:regex-generator","intent:generate-regex","output:regex"],"category":"ai-models"},{"id":"ai-general-answer","name":"AI General Answer","description":"Answers a supplied question with concise reasoning, assumptions, caveats, and next steps. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-general-answer","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","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"},"question":{"description":"Required input field question.","type":"string"}},"required":["question"],"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","question-answering","qa","reasoning","assistant","semantic:general-answer","intent:answer-question","output:answer"],"category":"ai-models"},{"id":"ai-intent-classifier","name":"AI Intent Classifier","description":"Classifies user text into intents, entities, urgency, routing hints, and next actions. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-intent-classifier","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","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"},"text":{"description":"Required input field text.","type":"string"}},"required":["text"],"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","classification","routing","intent","entities","sentiment","support","semantic:intent-classification","output:labels"],"category":"ai-models"},{"id":"ai-json-repair","name":"AI JSON Repair","description":"Repairs malformed JSON-like text and reports corrections, validation errors, and normalized output. Paid XIAO Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-json-repair","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-qwen-light","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"},"raw":{"description":"Required input field raw.","type":"string"}},"required":["raw"],"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","json","json-repair","validation","normalization","developer-tools","semantic:json-repair","intent:fix-json","output:valid-json"],"category":"ai-models"},{"id":"text-to-video-result","name":"Text To Video Result","description":"Use this paid x402 service after text-to-video returns task_id. It retrieves AI video generation status for task_id and returns task_status plus video_url when the text-to-video / prompt-to-video / 文生视频 task has succeeded.","endpoint":"/api/tools/text-to-video-result","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":0,"amountMicros":5000,"currency":"XIAO","policyId":"bailian-wan-text-to-video-result","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"taskId":{"description":"Alias for task_id.","type":"string"},"task_id":{"description":"Task ID returned by text-to-video.","type":"string"}},"required":["task_id"],"type":"object"},"output_schema":{"additionalProperties":true,"properties":{"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"service_id":{"type":"string"},"status":{"type":"string"},"task_id":{"type":"string"},"task_status":{"type":"string"},"upstream_request_id":{"type":"string"},"usage":{"additionalProperties":true,"type":"object"},"video_url":{"type":"string"}},"required":["status","service_id","task_id","task_status"],"type":"object"},"tags":["paid","x402","usdc","base","ai-video","video-generation","text-to-video","video-status","video-result","poll-task","task-result","semantic:text-to-video","intent:get-video-result","output:video-url"],"category":"video-generation"},{"id":"multilingual-ocr","name":"Multilingual OCR","description":"Recognize printed text from a public image URL. Use this OCR API for mixed or unknown-language images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/multilingual-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"languages":{"items":{"type":"string"},"type":"array"},"needRotate":{"type":"boolean"},"needSortPage":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl","languages"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","multilingual","multi language","auto language","通用多语言","小语种"],"category":"ocr"},{"id":"russian-ocr","name":"Russian OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Russian document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/russian-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","russian","rus","俄语","俄文"],"category":"ocr"},{"id":"thai-ocr","name":"Thai OCR","description":"Recognize printed text from a public image URL. Use this OCR API for Thai document images; pass optional language and layout hints when the schema supports them.","endpoint":"/api/tools/thai-ocr","method":"POST","auth_type":"api_key + x402_xiao_wallet http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"XIAO","policyId":"ocr-api","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"properties":{"imageUrl":{"format":"uri","type":"string"},"needRotate":{"type":"boolean"},"outputCharInfo":{"type":"boolean"},"outputTable":{"type":"boolean"}},"required":["imageUrl"],"type":"object"},"output_schema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","content","data"],"type":"object"},"tags":["ocr","image","text-extraction","document-processing","thai","tha","泰语","泰文"],"category":"ocr"}],"nextActions":["Call /api/catalog/search?q=your-task with a concrete natural-language task.","Use /api/demand-capture for planned API candidates that are not callable yet."],"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"]}}}}
