{"schemaVersion":"server402.catalog.search.v1","generatedAt":"2026-07-21T21:48:20Z","generatedAtBeijing":"2026-07-22 05:48:20 CST","timezone":"Asia/Shanghai","query":"ai-product-description-writer","filters":{"limit":10},"total":44,"services":[{"id":"ai-product-description-writer","canonicalId":"ai-product-description-writer","name":"AI Product Description Writer","displayName":"AI Product Description Writer","description":"Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-product-description-writer","AI Product Description Writer","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","product-copy","ecommerce","saas","catalog","features","semantic:product-description","intent:write-product-copy","output:descriptions"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs writes ecommerce or saas product descriptions, feature bullets, specs, and faqs.","Return machine-readable JSON for downstream automation."],"limitations":["Does not browse live web data; provide source context explicitly.","Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server."],"tags":["paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","product-copy","ecommerce","saas","catalog","features","semantic:product-description","intent:write-product-copy","output:descriptions"],"method":"POST","endpoint":"/api/tools/ai-product-description-writer","endpointAliases":["/api/tools/ai-product-description-writer"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"product":{"description":"Required input field product.","type":"string"}},"required":["product"],"type":"object"},"outputSchema":{"additionalProperties":true,"properties":{"model":{"type":"string"},"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"service_id":{"type":"string"},"status":{"type":"string"},"upstream_id":{"type":"string"},"upstream_request_id":{"type":"string"},"usage":{"additionalProperties":true,"type":"object"}},"required":["status","service_id","result"],"type":"object"},"exampleRequest":{"product":"Example product."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-product-description-writer","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":102,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:32:47Z"},"discovery":{"toolName":"ai_product_description_writer","searchText":"ai-product-description-writer AI Product Description Writer Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service product-copy ecommerce saas catalog features semantic:product-description intent:write-product-copy output:descriptions ai-product-description-writer AI Product Description Writer bailian qwen dashscope llm ai model ai agent paid ai api product-copy ecommerce saas catalog features semantic:product-description intent:write-product-copy output:descriptions Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs writes ecommerce or saas product descriptions, feature bullets, specs, and faqs. Return machine-readable JSON for downstream automation. Does not browse live web data; provide source context explicitly. Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server. /api/tools/ai-product-description-writer","aliases":["AI Product Description Writer","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","product-copy","ecommerce","saas","catalog","features","semantic:product-description","intent:write-product-copy","output:descriptions","ai-product-description-writer","dashscope","ai model","ai agent","paid ai api","ai_product_description_writer","/api/tools/ai-product-description-writer"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs writes ecommerce or saas product descriptions, feature bullets, specs, and faqs.","Return machine-readable JSON for downstream automation."],"limitations":["Does not browse live web data; provide source context explicitly.","Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server."],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"amountMicros":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, create an AI wallet guarantee for merchant_id=aivps.lat and merchant_order_id=payment.paymentId.","curl -H 'X402-Guarantee: \u003cbase64url-guarantee-json\u003e' https://example.com/api/tools/timestamp"]},"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}},"paymentHint":"Call POST /api/tools/ai-product-description-writer once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-product-description-writer\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"3s","cacheable":false,"idempotent":true,"outputFormat":"json","requiredContext":["task input","bailian-api-key"],"errorExamples":[{"input":{},"error":"product is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":319,"matchTerms":["ai product description writer","ai","product","description","writer"],"why":"Matched ai product description writer, ai, product, description, writer for \"AI Product Description Writer\". Price is USD 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched ai product description writer, ai, product, description, writer for \"AI Product Description Writer\". Price is USD 0.01 per policy bailian-qwen-standard."},{"id":"ai-copywriter","canonicalId":"ai-copywriter","name":"AI Copywriter","displayName":"AI Copywriter","description":"Generates polished marketing, product, or website copy from a brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Generates polished marketing, product, or website copy from a brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-copywriter","AI Copywriter","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","copywriting","marketing","landing-page","value-proposition","cta","semantic:copywriting","intent:write-copy","output:copy-variants"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs generates polished marketing, product, or website copy from a brief.","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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","copywriting","marketing","landing-page","value-proposition","cta","semantic:copywriting","intent:write-copy","output:copy-variants"],"method":"POST","endpoint":"/api/tools/ai-copywriter","endpointAliases":["/api/tools/ai-copywriter"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"brief":{"description":"Required input field brief.","type":"string"},"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["brief"],"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":{"brief":"Example brief."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-copywriter","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":11,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:20:38Z"},"discovery":{"toolName":"ai_copywriter","searchText":"ai-copywriter AI Copywriter Generates polished marketing, product, or website copy from a brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Generates polished marketing, product, or website copy from a brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service copywriting marketing landing-page value-proposition cta semantic:copywriting intent:write-copy output:copy-variants ai-copywriter AI Copywriter bailian qwen dashscope llm ai model ai agent paid ai api copywriting marketing landing-page value-proposition cta semantic:copywriting intent:write-copy output:copy-variants Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs generates polished marketing, product, or website copy from a brief. 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-copywriter","aliases":["AI Copywriter","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","copywriting","marketing","landing-page","value-proposition","cta","semantic:copywriting","intent:write-copy","output:copy-variants","ai-copywriter","dashscope","ai model","ai agent","paid ai api","ai_copywriter","/api/tools/ai-copywriter"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs generates polished marketing, product, or website copy from a brief.","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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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-copywriter once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-copywriter\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for 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":"brief is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":88,"matchTerms":["ai","product","writer"],"why":"Matched ai, product, writer for \"AI Copywriter\". Price is USD 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched ai, product, writer for \"AI Copywriter\". Price is USD 0.01 per policy bailian-qwen-standard."},{"id":"ai-requirements-analyzer","canonicalId":"ai-requirements-analyzer","name":"AI Requirements Analyzer","displayName":"AI Requirements Analyzer","description":"Analyzes product or project requirements for scope, ambiguities, risks, dependencies, and acceptance criteria. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Analyzes product or project requirements for scope, ambiguities, risks, dependencies, and acceptance criteria. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-requirements-analyzer","AI Requirements Analyzer","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","requirements","prd","product-management","scope","acceptance-criteria","semantic:requirements-analysis","intent:analyze-requirements","output:acceptance-criteria"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs analyzes product or project requirements for scope, ambiguities, risks, dependencies, and acceptance criteria.","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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","requirements","prd","product-management","scope","acceptance-criteria","semantic:requirements-analysis","intent:analyze-requirements","output:acceptance-criteria"],"method":"POST","endpoint":"/api/tools/ai-requirements-analyzer","endpointAliases":["/api/tools/ai-requirements-analyzer"],"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"},"requirements":{"description":"Required input field requirements.","type":"string"}},"required":["requirements"],"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":{"requirements":"Example requirements."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-requirements-analyzer","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":29,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:24:48Z"},"discovery":{"toolName":"ai_requirements_analyzer","searchText":"ai-requirements-analyzer AI Requirements Analyzer Analyzes product or project requirements for scope, ambiguities, risks, dependencies, and acceptance criteria. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Analyzes product or project requirements for scope, ambiguities, risks, dependencies, and acceptance criteria. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service requirements prd product-management scope acceptance-criteria semantic:requirements-analysis intent:analyze-requirements output:acceptance-criteria ai-requirements-analyzer AI Requirements Analyzer bailian qwen dashscope llm ai model ai agent paid ai api requirements prd product-management scope acceptance-criteria semantic:requirements-analysis intent:analyze-requirements output:acceptance-criteria Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs analyzes product or project requirements for scope, ambiguities, risks, dependencies, and acceptance criteria. 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-requirements-analyzer","aliases":["AI Requirements Analyzer","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","requirements","prd","product-management","scope","acceptance-criteria","semantic:requirements-analysis","intent:analyze-requirements","output:acceptance-criteria","ai-requirements-analyzer","dashscope","ai model","ai agent","paid ai api","ai_requirements_analyzer","/api/tools/ai-requirements-analyzer"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs analyzes product or project requirements for scope, ambiguities, risks, dependencies, and acceptance criteria.","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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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-requirements-analyzer once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-requirements-analyzer\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for 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":"requirements is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":77,"matchTerms":["ai","product"],"why":"Matched ai, product for \"AI Requirements Analyzer\". Price is USD 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched ai, product for \"AI Requirements Analyzer\". Price is USD 0.01 per policy bailian-qwen-standard."},{"id":"ai-chart-insight-writer","canonicalId":"ai-chart-insight-writer","name":"AI Chart Insight Writer","displayName":"AI Chart Insight Writer","description":"Turns chart data or metric summaries into insights, annotations, and executive commentary. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Turns chart data or metric summaries into insights, annotations, and executive commentary. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-chart-insight-writer","AI Chart Insight Writer","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","analytics","chart-insights","data-storytelling","metrics","semantic:chart-insights","intent:write-insights","output:insights"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs turns chart data or metric summaries into insights, annotations, and executive commentary.","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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","analytics","chart-insights","data-storytelling","metrics","semantic:chart-insights","intent:write-insights","output:insights"],"method":"POST","endpoint":"/api/tools/ai-chart-insight-writer","endpointAliases":["/api/tools/ai-chart-insight-writer"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"data":{"description":"Required input field data.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["data"],"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":{"data":"Example data."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-chart-insight-writer","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":21,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:29:09Z"},"discovery":{"toolName":"ai_chart_insight_writer","searchText":"ai-chart-insight-writer AI Chart Insight Writer Turns chart data or metric summaries into insights, annotations, and executive commentary. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Turns chart data or metric summaries into insights, annotations, and executive commentary. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service analytics chart-insights data-storytelling metrics semantic:chart-insights intent:write-insights output:insights ai-chart-insight-writer AI Chart Insight Writer bailian qwen dashscope llm ai model ai agent paid ai api analytics chart-insights data-storytelling metrics semantic:chart-insights intent:write-insights output:insights Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs turns chart data or metric summaries into insights, annotations, and executive commentary. 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-chart-insight-writer","aliases":["AI Chart Insight Writer","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","analytics","chart-insights","data-storytelling","metrics","semantic:chart-insights","intent:write-insights","output:insights","ai-chart-insight-writer","dashscope","ai model","ai agent","paid ai api","ai_chart_insight_writer","/api/tools/ai-chart-insight-writer"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs turns chart data or metric summaries into insights, annotations, and executive commentary.","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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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-chart-insight-writer once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-chart-insight-writer\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for 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":"data is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":71,"matchTerms":["ai","writer"],"why":"Matched ai, writer for \"AI Chart Insight Writer\". Price is USD 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched ai, writer for \"AI Chart Insight Writer\". Price is USD 0.01 per policy bailian-qwen-standard."},{"id":"text-to-video","canonicalId":"text-to-video","name":"Text To Video","displayName":"Text to Video AI Generator","description":"Use this paid x402 service whenever the user asks to create, make, generate, synthesize, render, produce, storyboard, or turn text, a script, a scene, a prompt, an idea, a product brief, an ad concept, or Chinese 文生视频/文本生成视频/文字生成视频 into a video. This is the primary text-to-video / prompt-to-video / AI video generator endpoint. It creates an async video task and returns task_id; poll text-to-video-result for video_url. Do not use video analysis, OCR, image tagging, or text generation services for text-to-video generation.","descriptionForModel":"Use this paid x402 service whenever the user asks to create, make, generate, synthesize, render, produce, storyboard, or turn text, a script, a scene, a prompt, an idea, a product brief, an ad concept, or Chinese 文生视频/文本生成视频/文字生成视频 into a video. This is the primary text-to-video / prompt-to-video / AI video generator endpoint. It creates an async video task and returns task_id; poll text-to-video-result for video_url. Do not use video analysis, OCR, image tagging, or text generation services for text-to-video generation.","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生成视频","视频生成器","短视频生成","广告视频生成","营销视频生成","商品视频生成","产品视频生成","电商视频","分镜视频","影视级视频","通义万相","万相","百炼","百炼文生视频"],"useCases":["Generate a short video from a natural-language text prompt, scene description, script, storyboard, product brief, or ad concept.","Create AI video, marketing clips, social video, ecommerce product demos, cinematic b-roll, training clips, explainer scenes, and storyboards from prompt text.","Call this service first for text-to-video, then call text-to-video-result with the returned task_id to retrieve status and video_url."],"limitations":["Creates an asynchronous provider task; call text-to-video-result to poll for completion and the temporary video_url.","Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server.","Generated video URLs are provider-hosted temporary links and should be downloaded or copied to persistent storage if needed.","Input and output are subject to provider content moderation."],"tags":["paid","x402","usdc","base","ai-video","video-generation","text-to-video","prompt-to-video","t2v","wan","dashscope","bailian","semantic:text-to-video","intent:generate-video","output:task-id","output:video-url"],"method":"POST","endpoint":"/api/tools/text-to-video","endpointAliases":["/api/tools/ai-text-to-video","/api/tools/ai-video-generator","/api/tools/text-to-video-api","/api/tools/prompt-to-video","/api/tools/video-generation","/api/tools/video-generator","/api/tools/create-video","/api/tools/generate-video","/api/tools/wan-text-to-video","/api/tools/bailian-text-to-video","/api/tools/text-to-video"],"inputTypes":["object","string","boolean","integer"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"aspect_ratio":{"description":"Alias for ratio.","type":"string"},"duration":{"default":5,"description":"Requested video duration in seconds. Defaults to 5.","type":"integer"},"model":{"default":"wan2.7-t2v-2026-06-12","type":"string"},"negativePrompt":{"description":"Optional negative prompt alias.","type":"string"},"negative_prompt":{"description":"Optional negative prompt.","type":"string"},"parameters":{"additionalProperties":true,"description":"Optional provider parameters passed through under DashScope parameters.","type":"object"},"prompt":{"description":"Required text prompt, scene description, script, storyboard, product brief, or ad concept to turn into video.","type":"string"},"promptExtend":{"description":"Alias for prompt_extend.","type":"boolean"},"prompt_extend":{"default":true,"description":"Whether to let the model enrich the prompt.","type":"boolean"},"ratio":{"default":"16:9","description":"Aspect ratio such as 16:9, 9:16, or 1:1.","type":"string"},"resolution":{"default":"720P","description":"Resolution tier such as 480P, 720P, or 1080P.","type":"string"},"seed":{"description":"Optional deterministic seed.","type":"integer"},"size":{"description":"Legacy model output size such as 1280*720. Wan 2.7 generally uses resolution plus ratio.","type":"string"},"watermark":{"default":false,"description":"Whether to add provider watermark when supported.","type":"boolean"}},"required":["prompt"],"type":"object"},"outputSchema":{"additionalProperties":true,"properties":{"model":{"type":"string"},"poll":{"additionalProperties":true,"type":"object"},"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"result_endpoint":{"type":"string"},"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":{"duration":5,"prompt":"Create a 5 second cinematic product video of a matte black smart watch on a clean desk, slow camera push-in, soft morning light.","prompt_extend":true,"ratio":"16:9","resolution":"720P","watermark":false},"exampleResponse":{"model":"wan2.7-t2v-2026-06-12","poll":{"endpoint":"/api/tools/text-to-video-result","method":"POST","request":{"task_id":"0385dc79-5ff8-4d82-bcb6-example"}},"provider":"aliyun-bailian","result_endpoint":"/api/tools/text-to-video-result","service_id":"text-to-video","status":"accepted","task_id":"0385dc79-5ff8-4d82-bcb6-example","task_status":"PENDING","upstream_request_id":"4909100c-7b5a-9f92-bfe5-example"},"pricing":{"amountCents":20,"amountMicros":200000,"currency":"USD","policyId":"bailian-wan-text-to-video","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":46,"healthStatus":"","latencyMs":18,"successRate":1,"callCount":6,"executionCount":6,"successCount":6,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:21:47Z"},"discovery":{"toolName":"text_to_video","searchText":"text-to-video Text To Video Use this paid x402 service whenever the user asks to create, make, generate, synthesize, render, produce, storyboard, or turn text, a script, a scene, a prompt, an idea, a product brief, an ad concept, or Chinese 文生视频/文本生成视频/文字生成视频 into a video. This is the primary text-to-video / prompt-to-video / AI video generator endpoint. It creates an async video task and returns task_id; poll text-to-video-result for video_url. Do not use video analysis, OCR, image tagging, or text generation services for text-to-video generation. Use this paid x402 service whenever the user asks to create, make, generate, synthesize, render, produce, storyboard, or turn text, a script, a scene, a prompt, an idea, a product brief, an ad concept, or Chinese 文生视频/文本生成视频/文字生成视频 into a video. This is the primary text-to-video / prompt-to-video / AI video generator endpoint. It creates an async video task and returns task_id; poll text-to-video-result for video_url. Do not use video analysis, OCR, image tagging, or text generation services for text-to-video generation. video-generation object string boolean integer object string paid x402 usdc base ai-video video-generation text-to-video prompt-to-video t2v wan dashscope bailian semantic:text-to-video intent:generate-video output:task-id 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生成视频 视频生成器 短视频生成 广告视频生成 营销视频生成 商品视频生成 产品视频生成 电商视频 分镜视频 影视级视频 通义万相 万相 百炼 百炼文生视频 Generate a short video from a natural-language text prompt, scene description, script, storyboard, product brief, or ad concept. Create AI video, marketing clips, social video, ecommerce product demos, cinematic b-roll, training clips, explainer scenes, and storyboards from prompt text. Call this service first for text-to-video, then call text-to-video-result with the returned task_id to retrieve status and video_url. Creates an asynchronous provider task; call text-to-video-result to poll for completion and the temporary video_url. Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server. Generated video URLs are provider-hosted temporary links and should be downloaded or copied to persistent storage if needed. Input and output are subject to provider content moderation. /api/tools/text-to-video","aliases":["Text To Video","video-generation","Text to Video AI Generator","paid","x402","usdc","base","ai-video","text-to-video","prompt-to-video","t2v","wan","dashscope","bailian","semantic:text-to-video","intent:generate-video","output:task-id","output:video-url","ai text to video","text to video","text2video","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","wan2.7","wan 2.7","wanx","tongyi wanxiang","model studio","文生视频","文本生成视频","文字生成视频","文字转视频","文本转视频","提示词生成视频","提示词转视频","脚本生成视频","故事生成视频","场景生成视频","生成视频","创建视频","制作视频","视频生成","AI视频","AI视频生成","AI生成视频","视频生成器","短视频生成","广告视频生成","营销视频生成","商品视频生成","产品视频生成","电商视频","分镜视频","影视级视频","通义万相","万相","百炼","百炼文生视频","text_to_video","/api/tools/text-to-video"],"localeHints":["en","zh"],"useCases":["Generate a short video from a natural-language text prompt, scene description, script, storyboard, product brief, or ad concept.","Create AI video, marketing clips, social video, ecommerce product demos, cinematic b-roll, training clips, explainer scenes, and storyboards from prompt text.","Call this service first for text-to-video, then call text-to-video-result with the returned task_id to retrieve status and video_url."],"limitations":["Creates an asynchronous provider task; call text-to-video-result to poll for completion and the temporary video_url.","Requires BAILIAN_API_KEY or DASHSCOPE_API_KEY on the server.","Generated video URLs are provider-hosted temporary links and should be downloaded or copied to persistent storage if needed.","Input and output are subject to provider content moderation."],"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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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 once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"text-to-video\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for legacy token flow.","requiredState":"published, enabled"},"complexity":"complex","typicalResponseTime":"1s submit; generation usually completes asynchronously","cacheable":false,"idempotent":false,"outputFormat":"json","relatedServices":["text-to-video-result"],"requiredContext":["prompt","bailian-api-key","dashscope-api-key"],"inputExamples":[{"duration":5,"prompt":"Create a 5 second cinematic product video of a matte black smart watch on a clean desk, slow camera push-in, soft morning light.","prompt_extend":true,"ratio":"16:9","resolution":"720P","watermark":false},{"duration":5,"prompt":"文生视频：生成一段竖屏短视频，画面是咖啡店新品拿铁的广告，镜头从杯口拉近到品牌 logo，温暖自然光。","ratio":"9:16","resolution":"720P"},{"duration":10,"prompt":"Turn this storyboard into video: Shot 1, wide city skyline at dusk. Shot 2, close-up of a delivery robot crossing the street. Shot 3, product reveal on a clean white table.","ratio":"16:9","resolution":"720P"}],"errorExamples":[{"input":{},"error":"prompt is required","statusCode":400}],"sla":{"uptime":"99.0%","maxLatency":"60000ms","rateLimit":"provider async generation queue limits apply"},"matchScore":68,"matchTerms":["ai","product","description"],"why":"Matched ai, product, description for \"Text To Video\". Price is USD 0.2 per policy bailian-wan-text-to-video.","whyMatched":"Matched ai, product, description for \"Text To Video\". Price is USD 0.2 per policy bailian-wan-text-to-video."},{"id":"ai-ad-copy-generator","canonicalId":"ai-ad-copy-generator","name":"AI Ad Copy Generator","displayName":"AI Ad Copy Generator","description":"Generates ad headlines, primary text, descriptions, CTAs, and experiment variants. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Generates ad headlines, primary text, descriptions, CTAs, and experiment variants. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-ad-copy-generator","AI Ad Copy Generator","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","advertising","ad-copy","ppc","campaign","headline","semantic:ad-copy","intent:generate-ads","output:variants"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs generates ad headlines, primary text, descriptions, ctas, and experiment variants.","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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","advertising","ad-copy","ppc","campaign","headline","semantic:ad-copy","intent:generate-ads","output:variants"],"method":"POST","endpoint":"/api/tools/ai-ad-copy-generator","endpointAliases":["/api/tools/ai-ad-copy-generator"],"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"},"offer":{"description":"Required input field offer.","type":"string"}},"required":["offer"],"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":{"offer":"Example offer."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-ad-copy-generator","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":14,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:26:25Z"},"discovery":{"toolName":"ai_ad_copy_generator","searchText":"ai-ad-copy-generator AI Ad Copy Generator Generates ad headlines, primary text, descriptions, CTAs, and experiment variants. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Generates ad headlines, primary text, descriptions, CTAs, and experiment variants. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service advertising ad-copy ppc campaign headline semantic:ad-copy intent:generate-ads output:variants ai-ad-copy-generator AI Ad Copy Generator bailian qwen dashscope llm ai model ai agent paid ai api advertising ad-copy ppc campaign headline semantic:ad-copy intent:generate-ads output:variants Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs generates ad headlines, primary text, descriptions, ctas, and experiment variants. 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-ad-copy-generator","aliases":["AI Ad Copy Generator","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","advertising","ad-copy","ppc","campaign","headline","semantic:ad-copy","intent:generate-ads","output:variants","ai-ad-copy-generator","dashscope","ai model","ai agent","paid ai api","ai_ad_copy_generator","/api/tools/ai-ad-copy-generator"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs generates ad headlines, primary text, descriptions, ctas, and experiment variants.","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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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-ad-copy-generator once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-ad-copy-generator\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for 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":"offer is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":61,"matchTerms":["ai","description"],"why":"Matched ai, description for \"AI Ad Copy Generator\". Price is USD 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched ai, description for \"AI Ad Copy Generator\". Price is USD 0.01 per policy bailian-qwen-standard."},{"id":"ai-market-positioning","canonicalId":"ai-market-positioning","name":"AI Market Positioning","displayName":"AI Market Positioning","description":"Develops positioning statements, ICPs, messaging pillars, objections, and proof points from a product brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Develops positioning statements, ICPs, messaging pillars, objections, and proof points from a product brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-market-positioning","AI Market Positioning","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","positioning","messaging","icp","go-to-market","semantic:market-positioning","intent:create-positioning","output:positioning"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs develops positioning statements, icps, messaging pillars, objections, and proof points from a product brief.","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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","positioning","messaging","icp","go-to-market","semantic:market-positioning","intent:create-positioning","output:positioning"],"method":"POST","endpoint":"/api/tools/ai-market-positioning","endpointAliases":["/api/tools/ai-market-positioning"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"product":{"description":"Required input field product.","type":"string"}},"required":["product"],"type":"object"},"outputSchema":{"additionalProperties":true,"properties":{"model":{"type":"string"},"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"service_id":{"type":"string"},"status":{"type":"string"},"upstream_id":{"type":"string"},"upstream_request_id":{"type":"string"},"usage":{"additionalProperties":true,"type":"object"}},"required":["status","service_id","result"],"type":"object"},"exampleRequest":{"product":"Example product."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-market-positioning","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":23,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:28:11Z"},"discovery":{"toolName":"ai_market_positioning","searchText":"ai-market-positioning AI Market Positioning Develops positioning statements, ICPs, messaging pillars, objections, and proof points from a product brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Develops positioning statements, ICPs, messaging pillars, objections, and proof points from a product brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service positioning messaging icp go-to-market semantic:market-positioning intent:create-positioning output:positioning ai-market-positioning AI Market Positioning bailian qwen dashscope llm ai model ai agent paid ai api positioning messaging icp go-to-market semantic:market-positioning intent:create-positioning output:positioning Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs develops positioning statements, icps, messaging pillars, objections, and proof points from a product brief. 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-market-positioning","aliases":["AI Market Positioning","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","positioning","messaging","icp","go-to-market","semantic:market-positioning","intent:create-positioning","output:positioning","ai-market-positioning","dashscope","ai model","ai agent","paid ai api","ai_market_positioning","/api/tools/ai-market-positioning"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs develops positioning statements, icps, messaging pillars, objections, and proof points from a product brief.","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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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-market-positioning once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-market-positioning\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for legacy token flow.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"3s","cacheable":false,"idempotent":true,"outputFormat":"json","requiredContext":["task input","bailian-api-key"],"errorExamples":[{"input":{},"error":"product is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":61,"matchTerms":["ai","product"],"why":"Matched ai, product for \"AI Market Positioning\". Price is USD 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched ai, product for \"AI Market Positioning\". Price is USD 0.01 per policy bailian-qwen-standard."},{"id":"ai-faq-generator","canonicalId":"ai-faq-generator","name":"AI FAQ Generator","displayName":"AI FAQ Generator","description":"Creates FAQ questions and answers from product, policy, or document context. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Creates FAQ questions and answers from product, policy, or document context. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-faq-generator","AI FAQ Generator","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","faq","knowledge-base","support-content","documentation","semantic:faq-generation","intent:create-faq","output:qa-pairs"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs creates faq questions and answers from product, policy, or document context.","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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","faq","knowledge-base","support-content","documentation","semantic:faq-generation","intent:create-faq","output:qa-pairs"],"method":"POST","endpoint":"/api/tools/ai-faq-generator","endpointAliases":["/api/tools/ai-faq-generator"],"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"}},"required":["context"],"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":{"context":"Example context."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-faq-generator","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":117,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:21:48Z"},"discovery":{"toolName":"ai_faq_generator","searchText":"ai-faq-generator AI FAQ Generator Creates FAQ questions and answers from product, policy, or document context. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Creates FAQ questions and answers from product, policy, or document context. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service faq knowledge-base support-content documentation semantic:faq-generation intent:create-faq output:qa-pairs ai-faq-generator AI FAQ Generator bailian qwen dashscope llm ai model ai agent paid ai api faq knowledge-base support-content documentation semantic:faq-generation intent:create-faq output:qa-pairs Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs creates faq questions and answers from product, policy, or document context. 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-faq-generator","aliases":["AI FAQ Generator","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","faq","knowledge-base","support-content","documentation","semantic:faq-generation","intent:create-faq","output:qa-pairs","ai-faq-generator","dashscope","ai model","ai agent","paid ai api","ai_faq_generator","/api/tools/ai-faq-generator"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs creates faq questions and answers from product, policy, or document context.","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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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-faq-generator once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-faq-generator\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for 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":"context is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":61,"matchTerms":["ai","product"],"why":"Matched ai, product for \"AI FAQ Generator\". Price is USD 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched ai, product for \"AI FAQ Generator\". Price is USD 0.01 per policy bailian-qwen-standard."},{"id":"ai-resume-job-match","canonicalId":"ai-resume-job-match","name":"AI Resume Job Match","displayName":"AI Resume Job Match","description":"Compares a resume to a job description and returns match score, strengths, gaps, and interview focus areas. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Compares a resume to a job description and returns match score, strengths, gaps, and interview focus areas. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-resume-job-match","AI Resume Job Match","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","recruiting","resume","job-match","skills","interview","semantic:resume-match","intent:match-candidate","output:fit-score"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs compares a resume to a job description and returns match score, strengths, gaps, and interview focus areas.","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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","recruiting","resume","job-match","skills","interview","semantic:resume-match","intent:match-candidate","output:fit-score"],"method":"POST","endpoint":"/api/tools/ai-resume-job-match","endpointAliases":["/api/tools/ai-resume-job-match"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"job_description":{"description":"Required input field job_description.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"resume":{"description":"Required input field resume.","type":"string"}},"required":["resume","job_description"],"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":{"job_description":"Example job description.","resume":"Example resume."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-resume-job-match","status":"ok"},"pricing":{"amountCents":2,"amountMicros":20000,"currency":"USD","policyId":"bailian-qwen-premium","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":25,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:17:51Z"},"discovery":{"toolName":"ai_resume_job_match","searchText":"ai-resume-job-match AI Resume Job Match Compares a resume to a job description and returns match score, strengths, gaps, and interview focus areas. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Compares a resume to a job description and returns match score, strengths, gaps, and interview focus areas. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service recruiting resume job-match skills interview semantic:resume-match intent:match-candidate output:fit-score ai-resume-job-match AI Resume Job Match bailian qwen dashscope llm ai model ai agent paid ai api recruiting resume job-match skills interview semantic:resume-match intent:match-candidate output:fit-score Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs compares a resume to a job description and returns match score, strengths, gaps, and interview focus areas. 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-resume-job-match","aliases":["AI Resume Job Match","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","recruiting","resume","job-match","skills","interview","semantic:resume-match","intent:match-candidate","output:fit-score","ai-resume-job-match","dashscope","ai model","ai agent","paid ai api","ai_resume_job_match","/api/tools/ai-resume-job-match"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs compares a resume to a job description and returns match score, strengths, gaps, and interview focus areas.","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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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-resume-job-match once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-resume-job-match\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for legacy token flow.","requiredState":"published, enabled"},"complexity":"complex","typicalResponseTime":"3s","cacheable":false,"idempotent":true,"outputFormat":"json","requiredContext":["task input","bailian-api-key"],"errorExamples":[{"input":{},"error":"resume, job_description is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":61,"matchTerms":["ai","description"],"why":"Matched ai, description for \"AI Resume Job Match\". Price is USD 0.02 per policy bailian-qwen-premium.","whyMatched":"Matched ai, description for \"AI Resume Job Match\". Price is USD 0.02 per policy bailian-qwen-premium."},{"id":"ai-user-story-generator","canonicalId":"ai-user-story-generator","name":"AI User Story Generator","displayName":"AI User Story Generator","description":"Creates user stories, acceptance criteria, edge cases, and implementation notes from a feature idea. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","descriptionForModel":"Creates user stories, acceptance criteria, edge cases, and implementation notes from a feature idea. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","category":"ai-models","keywords":["ai-user-story-generator","AI User Story Generator","bailian","qwen","dashscope","llm","ai model","ai agent","paid ai api","user-stories","agile","acceptance-criteria","product-management","semantic:user-story","intent:create-user-stories","output:stories"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs creates user stories, acceptance criteria, edge cases, and implementation notes from a feature idea.","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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","user-stories","agile","acceptance-criteria","product-management","semantic:user-story","intent:create-user-stories","output:stories"],"method":"POST","endpoint":"/api/tools/ai-user-story-generator","endpointAliases":["/api/tools/ai-user-story-generator"],"inputTypes":["object","string"],"outputTypes":["object","string"],"inputSchema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"feature":{"description":"Required input field feature.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["feature"],"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":{"feature":"Example feature."},"exampleResponse":{"model":"qwen-plus","provider":"aliyun-bailian","result":{"summary":"Example structured result."},"service_id":"ai-user-story-generator","status":"ok"},"pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":43,"healthStatus":"","latencyMs":18,"successRate":1,"callCount":3,"executionCount":3,"successCount":3,"errorCount":0,"paymentRequireds":0,"lastCallAt":"2026-07-21T21:08:23Z"},"discovery":{"toolName":"ai_user_story_generator","searchText":"ai-user-story-generator AI User Story Generator Creates user stories, acceptance criteria, edge cases, and implementation notes from a feature idea. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. Creates user stories, acceptance criteria, edge cases, and implementation notes from a feature idea. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution. ai-models object string object string paid x402 usdc base bailian qwen llm ai-model model-service user-stories agile acceptance-criteria product-management semantic:user-story intent:create-user-stories output:stories ai-user-story-generator AI User Story Generator bailian qwen dashscope llm ai model ai agent paid ai api user-stories agile acceptance-criteria product-management semantic:user-story intent:create-user-stories output:stories Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API. Use this service when an AI agent needs creates user stories, acceptance criteria, edge cases, and implementation notes from a feature idea. 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-user-story-generator","aliases":["AI User Story Generator","ai-models","paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","user-stories","agile","acceptance-criteria","product-management","semantic:user-story","intent:create-user-stories","output:stories","ai-user-story-generator","dashscope","ai model","ai agent","paid ai api","ai_user_story_generator","/api/tools/ai-user-story-generator"],"localeHints":["en"],"useCases":["Call Alibaba Cloud Bailian/Qwen through a paid HTTP 402 API.","Use this service when an AI agent needs creates user stories, acceptance criteria, edge cases, and implementation notes from a feature idea.","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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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-user-story-generator once to receive HTTP 402 with accepts[] requirements, or create a payment with POST /api/payments using serviceId=\"ai-user-story-generator\". Pay Base USDC with PAYMENT-SIGNATURE or pay XIAO with X402-Guarantee, then retry the same request.","retryHint":"If the service returns HTTP 402, pay one accepts[] requirement, then retry with PAYMENT-SIGNATURE for Base USDC, X402-Guarantee for Xiao Coin, or X-Payment-Token: payment.token for 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":"feature is required","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"45000ms"},"matchScore":60,"matchTerms":["ai","product"],"why":"Matched ai, product for \"AI User Story Generator\". Price is USD 0.01 per policy bailian-qwen-standard.","whyMatched":"Matched ai, product for \"AI User Story Generator\". Price is USD 0.01 per policy bailian-qwen-standard."}],"agents":[{"id":"ai-product-description-writer","name":"AI Product Description Writer","description":"Writes ecommerce or SaaS product descriptions, feature bullets, specs, and FAQs. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-product-description-writer","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"product":{"description":"Required input field product.","type":"string"}},"required":["product"],"type":"object"},"output_schema":{"additionalProperties":true,"properties":{"model":{"type":"string"},"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"service_id":{"type":"string"},"status":{"type":"string"},"upstream_id":{"type":"string"},"upstream_request_id":{"type":"string"},"usage":{"additionalProperties":true,"type":"object"}},"required":["status","service_id","result"],"type":"object"},"tags":["paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","product-copy","ecommerce","saas","catalog","features","semantic:product-description","intent:write-product-copy","output:descriptions"],"category":"ai-models"},{"id":"ai-copywriter","name":"AI Copywriter","description":"Generates polished marketing, product, or website copy from a brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-copywriter","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"brief":{"description":"Required input field brief.","type":"string"},"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["brief"],"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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","copywriting","marketing","landing-page","value-proposition","cta","semantic:copywriting","intent:write-copy","output:copy-variants"],"category":"ai-models"},{"id":"ai-requirements-analyzer","name":"AI Requirements Analyzer","description":"Analyzes product or project requirements for scope, ambiguities, risks, dependencies, and acceptance criteria. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-requirements-analyzer","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"requirements":{"description":"Required input field requirements.","type":"string"}},"required":["requirements"],"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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","requirements","prd","product-management","scope","acceptance-criteria","semantic:requirements-analysis","intent:analyze-requirements","output:acceptance-criteria"],"category":"ai-models"},{"id":"ai-chart-insight-writer","name":"AI Chart Insight Writer","description":"Turns chart data or metric summaries into insights, annotations, and executive commentary. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-chart-insight-writer","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"data":{"description":"Required input field data.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["data"],"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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","analytics","chart-insights","data-storytelling","metrics","semantic:chart-insights","intent:write-insights","output:insights"],"category":"ai-models"},{"id":"text-to-video","name":"Text To Video","description":"Use this paid x402 service whenever the user asks to create, make, generate, synthesize, render, produce, storyboard, or turn text, a script, a scene, a prompt, an idea, a product brief, an ad concept, or Chinese 文生视频/文本生成视频/文字生成视频 into a video. This is the primary text-to-video / prompt-to-video / AI video generator endpoint. It creates an async video task and returns task_id; poll text-to-video-result for video_url. Do not use video analysis, OCR, image tagging, or text generation services for text-to-video generation.","endpoint":"/api/tools/text-to-video","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":20,"amountMicros":200000,"currency":"USD","policyId":"bailian-wan-text-to-video","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"aspect_ratio":{"description":"Alias for ratio.","type":"string"},"duration":{"default":5,"description":"Requested video duration in seconds. Defaults to 5.","type":"integer"},"model":{"default":"wan2.7-t2v-2026-06-12","type":"string"},"negativePrompt":{"description":"Optional negative prompt alias.","type":"string"},"negative_prompt":{"description":"Optional negative prompt.","type":"string"},"parameters":{"additionalProperties":true,"description":"Optional provider parameters passed through under DashScope parameters.","type":"object"},"prompt":{"description":"Required text prompt, scene description, script, storyboard, product brief, or ad concept to turn into video.","type":"string"},"promptExtend":{"description":"Alias for prompt_extend.","type":"boolean"},"prompt_extend":{"default":true,"description":"Whether to let the model enrich the prompt.","type":"boolean"},"ratio":{"default":"16:9","description":"Aspect ratio such as 16:9, 9:16, or 1:1.","type":"string"},"resolution":{"default":"720P","description":"Resolution tier such as 480P, 720P, or 1080P.","type":"string"},"seed":{"description":"Optional deterministic seed.","type":"integer"},"size":{"description":"Legacy model output size such as 1280*720. Wan 2.7 generally uses resolution plus ratio.","type":"string"},"watermark":{"default":false,"description":"Whether to add provider watermark when supported.","type":"boolean"}},"required":["prompt"],"type":"object"},"output_schema":{"additionalProperties":true,"properties":{"model":{"type":"string"},"poll":{"additionalProperties":true,"type":"object"},"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"result_endpoint":{"type":"string"},"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","prompt-to-video","t2v","wan","dashscope","bailian","semantic:text-to-video","intent:generate-video","output:task-id","output:video-url"],"category":"video-generation"},{"id":"ai-ad-copy-generator","name":"AI Ad Copy Generator","description":"Generates ad headlines, primary text, descriptions, CTAs, and experiment variants. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-ad-copy-generator","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"offer":{"description":"Required input field offer.","type":"string"}},"required":["offer"],"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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","advertising","ad-copy","ppc","campaign","headline","semantic:ad-copy","intent:generate-ads","output:variants"],"category":"ai-models"},{"id":"ai-market-positioning","name":"AI Market Positioning","description":"Develops positioning statements, ICPs, messaging pillars, objections, and proof points from a product brief. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-market-positioning","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"product":{"description":"Required input field product.","type":"string"}},"required":["product"],"type":"object"},"output_schema":{"additionalProperties":true,"properties":{"model":{"type":"string"},"provider":{"type":"string"},"result":{"additionalProperties":true,"type":"object"},"service_id":{"type":"string"},"status":{"type":"string"},"upstream_id":{"type":"string"},"upstream_request_id":{"type":"string"},"usage":{"additionalProperties":true,"type":"object"}},"required":["status","service_id","result"],"type":"object"},"tags":["paid","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","positioning","messaging","icp","go-to-market","semantic:market-positioning","intent:create-positioning","output:positioning"],"category":"ai-models"},{"id":"ai-faq-generator","name":"AI FAQ Generator","description":"Creates FAQ questions and answers from product, policy, or document context. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-faq-generator","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["context"],"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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","faq","knowledge-base","support-content","documentation","semantic:faq-generation","intent:create-faq","output:qa-pairs"],"category":"ai-models"},{"id":"ai-resume-job-match","name":"AI Resume Job Match","description":"Compares a resume to a job description and returns match score, strengths, gaps, and interview focus areas. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-resume-job-match","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":2,"amountMicros":20000,"currency":"USD","policyId":"bailian-qwen-premium","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"},"job_description":{"description":"Required input field job_description.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"},"resume":{"description":"Required input field resume.","type":"string"}},"required":["resume","job_description"],"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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","recruiting","resume","job-match","skills","interview","semantic:resume-match","intent:match-candidate","output:fit-score"],"category":"ai-models"},{"id":"ai-user-story-generator","name":"AI User Story Generator","description":"Creates user stories, acceptance criteria, edge cases, and implementation notes from a feature idea. Paid x402 Bailian/Qwen service. Call with the declared JSON schema; unpaid calls return HTTP 402 before model execution.","endpoint":"/api/tools/ai-user-story-generator","method":"POST","auth_type":"api_key + x402_facilitator http_402","billing_method":"per_call","pricing":{"amountCents":1,"amountMicros":10000,"currency":"USD","policyId":"bailian-qwen-standard","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"input_schema":{"additionalProperties":true,"properties":{"context":{"description":"Optional supporting context, source text, constraints, or background.","type":"string"},"feature":{"description":"Required input field feature.","type":"string"},"language":{"description":"Optional output language or locale.","type":"string"}},"required":["feature"],"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","x402","usdc","base","bailian","qwen","llm","ai-model","model-service","user-stories","agile","acceptance-criteria","product-management","semantic:user-story","intent:create-user-stories","output:stories"],"category":"ai-models"}],"demandCapture":{"queryRecorded":true,"demandBearing":true,"status":"published-and-planned-candidates","recommendedAction":"compare-published-services-and-request-missing-fit","message":"Published services and planned API candidates both matched. Prefer a published callable service when it fits; otherwise request early access for the planned candidate that better matches the task.","matchedPlannedServices":[{"id":"legal-research","name":"法律检索 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/legal-research","llmsText":"https://x402vip.com/services/legal-research/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/legal/research","https://x402vip.com/api/legal/search","https://x402vip.com/api/law/research","https://x402vip.com/api/case-law/search"],"keywords":["legal-research","legal research","法律检索 API","case law search","statute search","legal search","precedent search","法律检索","法条检索","案例检索","判例检索"],"matchRank":1,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"court-record","name":"法院记录 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/court-record","llmsText":"https://x402vip.com/services/court-record/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/court/records","https://x402vip.com/api/courts/records","https://x402vip.com/api/court/dockets","https://x402vip.com/api/legal/dockets"],"keywords":["court-record","court record","法院记录 API","docket","case filing","hearing date","court calendar","case lookup","法院记录","案号","立案","庭审","卷宗","案件查询"],"matchRank":2,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"regulatory-monitoring","name":"法规监测 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/regulatory-monitoring","llmsText":"https://x402vip.com/services/regulatory-monitoring/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/regulations/monitor","https://x402vip.com/api/regulatory/updates","https://x402vip.com/api/law/updates","https://x402vip.com/api/compliance/regulatory-alerts"],"keywords":["regulatory-monitoring","regulatory monitoring","法规监测 API","regulation update","statute update","policy change","compliance alert","法规监测","政策更新","监管变更","合规预警"],"matchRank":3,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"litigation-intelligence","name":"诉讼情报 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/litigation-intelligence","llmsText":"https://x402vip.com/services/litigation-intelligence/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/litigation/intelligence","https://x402vip.com/api/lawsuits/data","https://x402vip.com/api/cases/outcomes","https://x402vip.com/api/judgments/search"],"keywords":["litigation-intelligence","litigation intelligence","诉讼情报 API","lawsuit data","case outcome","judgment","opinion","precedent","similar case","case similarity","litigation risk","诉讼数据","案件结果","裁判文书","判决书","案例","判例","类案","类似案例"],"matchRank":4,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"case-law-similarity","name":"类案相似检索 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/case-law-similarity","llmsText":"https://x402vip.com/services/case-law-similarity/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/legal/similar-cases","https://x402vip.com/api/legal/case-similarity","https://x402vip.com/api/case-law/similar","https://x402vip.com/api/cases/similar"],"keywords":["case-law-similarity","case law similarity","类案相似检索 API","similar cases","similar case search","precedent matching","analogous cases","case similarity","类案","类似案例","同类案例","判例相似","类案匹配","类案检索"],"matchRank":5,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"case-brief","name":"案例摘要 API","category":"法律与文档","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/case-brief","llmsText":"https://x402vip.com/services/case-brief/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/legal/case-brief","https://x402vip.com/api/legal/case-summary","https://x402vip.com/api/cases/brief","https://x402vip.com/api/judgments/summary"],"keywords":["case-brief","case brief","案例摘要 API","case summary","judgment summary","opinion summary","案例摘要","判决摘要","案情摘要","裁判观点摘要"],"matchRank":6,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"e-discovery","name":"电子证据审查 API","category":"法律与合规","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/e-discovery","llmsText":"https://x402vip.com/services/e-discovery/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/legal/e-discovery","https://x402vip.com/api/ediscovery","https://x402vip.com/api/discovery/review","https://x402vip.com/api/legal/document-review"],"keywords":["e-discovery","e discovery","电子证据审查 API","document review","privilege","relevance","production","legal hold","电子证据","文档审查","特权审查","相关性","证据生产"],"matchRank":7,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."},{"id":"corporate-filings","name":"公司登记与尽调 API","category":"公司与尽调","availability":"可新增","status":"planned / early-access","servicePage":"https://x402vip.com/services/corporate-filings","llmsText":"https://x402vip.com/services/corporate-filings/llms.txt","requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","candidateApiPaths":["https://x402vip.com/api/corporate/filings","https://x402vip.com/api/company/registry","https://x402vip.com/api/entities/search","https://x402vip.com/api/due-diligence/company"],"keywords":["corporate-filings","corporate filings","公司登记与尽调 API","entity search","business registry","beneficial ownership","registered agent","company registry","公司登记","企业信息","工商信息","主体信息","受益所有人"],"matchRank":8,"matchReason":"Search query matched this planned demand candidate; request-access and candidate path visits are aggregated for launch prioritization."}],"requestAccessUrl":"https://x402vip.com/api/planned-services/request-access","requestAccessBody":{"query":"ai-product-description-writer","serviceId":"legal-research","task":"Describe the exact input data, desired output schema, freshness, volume, budget, and whether a published service failed to fit.","useCase":"AI/Agent searched for: ai-product-description-writer"},"plannedCatalogUrl":"https://x402vip.com/api/demand-capture","notes":["Every non-admin /api/catalog/search?q=... request is appended to natural_traffic.jsonl and aggregated in /api/admin/demand-intents.","Submitting requestAccessBody adds a stronger commercial/early-access signal than search alone.","Planned API candidates are not callable yet; use /api/catalog services for currently callable paid APIs."]},"nextActions":["Inspect services[].inputSchema, services[].outputSchema, services[].pricing, and services[].discovery.paymentFlow.","Call the selected /api/tools/* endpoint once without payment to receive HTTP 402 payment requirements, then retry after payment.","If services are missing or too broad, inspect demandCapture.matchedPlannedServices.","POST demandCapture.requestAccessBody to demandCapture.requestAccessUrl to record a stronger early-access demand signal."],"payment":{"paymentHeader":"X-Payment-Token","createPayment":"/api/payments","verifyPayment":"/api/payments/{paymentId}","token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"PAYMENT-REQUIRED":"base64/json x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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 x402PaymentRequired","PAYMENT-SIGNATURE":"base64/json x402 Base USDC payment payload","X-Payment-Required":"true","X-Payment-Token":"payment.token","X402-Guarantee":"base64url/json Xiao Coin 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":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","paymentNetwork":"eip155:8453"},"retry":{"when":"Retry after paying one accepts[] requirement with Base USDC x402, Xiao Coin AI wallet escrow, or after payment.status is paid and the legacy token has remaining calls.","http":["Preferred x402 flow: call the paid /api/tools/* endpoint once and read accepts[] from the HTTP 402 response body or PAYMENT-REQUIRED header.","Pay one accepts[] requirement with an x402-compatible wallet/facilitator on network eip155:8453 using Base USDC.","Retry the exact same request with PAYMENT-SIGNATURE set to the base64 JSON x402 payment payload.","XIAO flow: pay the accepts[] requirement where asset=XIAO with the AI wallet, then retry the exact same request with X402-Guarantee set to the base64url guarantee JSON.","Legacy token flow: POST /api/payments with serviceId, complete/verify payment, then retry with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Preferred x402 clients should pay the accepts[] requirement and call the underlying HTTP endpoint with PAYMENT-SIGNATURE.","XIAO-capable agents should pay the XIAO accepts[] requirement through the AI wallet and call the underlying HTTP endpoint with X402-Guarantee.","Legacy MCP clients can complete or verify payment.paymentId, then call the same MCP tool again with paymentToken set to payment.token."],"examples":{"http402":["curl -i https://example.com/api/tools/timestamp","Read accepts[0].network=eip155:8453, accepts[0].asset=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, accepts[0].amount, and accepts[0].payTo.","curl -H 'PAYMENT-SIGNATURE: \u003cbase64-json-x402-payment-payload\u003e' https://example.com/api/tools/timestamp"],"legacyToken":["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"],"mcp":["Call tool timestamp with no paymentToken.","After payment is complete, call timestamp again with paymentToken=\u003cpayment.token\u003e."],"xiao":["curl -i https://example.com/api/tools/timestamp","Read the accepts[] entry with asset=XIAO, 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"]}}}}
