{"schemaVersion":"server402.catalog.search.v1","generatedAt":"2026-06-03T23:50:55Z","query":"sky-replacement","filters":{"limit":10},"total":3,"services":[{"id":"sky-replacement","canonicalId":"sky-replacement","internalServiceId":"aliyun-imageseg-change-sky","name":"Change Sky Image Segmentation","description":"Use this visual AI API when the task needs replacing the sky region in an image. Send the schema keys exactly as listed (ImageURL, ReplaceImageURL); required parameters: ImageURL, ReplaceImageURL.","descriptionForModel":"Use this visual AI API when the task needs replacing the sky region in an image. Send the schema keys exactly as listed (ImageURL, ReplaceImageURL); required parameters: ImageURL, ReplaceImageURL.","category":"image-segmentation","keywords":["ChangeSky","阿里云分割抠图 天空替换","image segmentation","background removal","cutout","matting","mask generation","foreground extraction","change","sky"],"useCases":["replacing the sky region in an image","Call one focused visual AI capability directly with JSON inputs","Use public image or video URLs and structured parameters to get machine-readable results"],"limitations":["Pass parameter names exactly as listed in the input schema","Only public http or https URLs and JSON/base64 text parameters are supported in this adapter","Binary file upload is not exposed by this Server402 adapter","Provider credentials and upstream permissions must be configured on the server"],"tags":["computer-vision","image-segmentation","background-removal"],"method":"POST","endpoint":"/api/tools/sky-replacement","legacyEndpoint":"/api/tools/aliyun-imageseg-change-sky","endpointAliases":["/api/tools/sky-replacement","/api/tools/aliyun-imageseg-change-sky"],"inputTypes":["object","string","uri"],"outputTypes":["object","string"],"inputSchema":{"description":"Use Alibaba Cloud RPC parameter names exactly, for example ImageURL, ImageUrl, Url, URL, JobId, or Tasks depending on the service.","properties":{"ImageURL":{"description":"Public http or https image URL accepted by the Alibaba Cloud API.","format":"uri","type":"string"},"ReplaceImageURL":{"description":"Public http or https auxiliary image URL accepted by the Alibaba Cloud API.","format":"uri","type":"string"}},"required":["ImageURL","ReplaceImageURL"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","data"],"type":"object"},"exampleRequest":{"ImageURL":"https://example.com/image.jpg","ReplaceImageURL":"https://example.com/mask-or-replacement.jpg"},"exampleResponse":{"code":"200","content":"","data":{"Action":"ChangeSky","Result":"example result from Alibaba Cloud imageseg"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":20,"currency":"USD","policyId":"aliyun-viapi","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":6,"healthStatus":"unhealthy","healthCheckedAt":"2026-06-03T13:57:25Z","healthLatencyMs":343,"latencyMs":1,"successRate":0,"callCount":1,"executionCount":1,"successCount":0,"errorCount":1,"paymentRequireds":0,"lastCallAt":"2026-06-03T12:06:27Z"},"discovery":{"toolName":"sky_replacement","searchText":"sky-replacement Change Sky Image Segmentation Use this visual AI API when the task needs replacing the sky region in an image. Send the schema keys exactly as listed (ImageURL, ReplaceImageURL); required parameters: ImageURL, ReplaceImageURL. Use this visual AI API when the task needs replacing the sky region in an image. Send the schema keys exactly as listed (ImageURL, ReplaceImageURL); required parameters: ImageURL, ReplaceImageURL. image-segmentation object string uri object string computer-vision image-segmentation background-removal ChangeSky 阿里云分割抠图 天空替换 image segmentation background removal cutout matting mask generation foreground extraction change sky replacing the sky region in an image Call one focused visual AI capability directly with JSON inputs Use public image or video URLs and structured parameters to get machine-readable results Pass parameter names exactly as listed in the input schema Only public http or https URLs and JSON/base64 text parameters are supported in this adapter Binary file upload is not exposed by this Server402 adapter Provider credentials and upstream permissions must be configured on the server /api/tools/sky-replacement","aliases":["Change Sky Image Segmentation","image-segmentation","computer-vision","background-removal","ChangeSky","阿里云分割抠图 天空替换","image segmentation","background removal","cutout","matting","mask generation","foreground extraction","change","sky","sky-replacement","sky_replacement","/api/tools/sky-replacement"],"localeHints":["en","zh"],"useCases":["replacing the sky region in an image","Call one focused visual AI capability directly with JSON inputs","Use public image or video URLs and structured parameters to get machine-readable results"],"limitations":["Pass parameter names exactly as listed in the input schema","Only public http or https URLs and JSON/base64 text parameters are supported in this adapter","Binary file upload is not exposed by this Server402 adapter","Provider credentials and upstream permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"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"},"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":{"X-Payment-Required":"true","X-Payment-Token":"payment.token"},"bodySchema":{"properties":{"error":{"type":"string"},"payment":{"properties":{"amountCents":{"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"}},"required":["error","payment"],"type":"object"}},"retry":{"when":"Retry after payment.status is paid and the token has remaining calls.","http":["Call POST /api/payments with serviceId to create a payment if the first service call returned 402.","Complete or verify payment using GET /api/payments/{paymentId}.","Retry the original /api/tools/* request with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Complete or verify payment using the returned payment.paymentId.","Call the same MCP tool again with paymentToken set to payment.token."],"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":"Create a payment with POST /api/payments using serviceId=\"sky-replacement\", then pass the returned token in X-Payment-Token or MCP paymentToken.","retryHint":"If the service returns HTTP 402, complete or verify the payment and retry the same request with the payment token.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1200ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["image-segmentation-job-result","face-segmentation-parsing","mask-refinement"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"ImageURL is required","statusCode":400},{"input":{"ImageURL":"not-a-url"},"error":"ImageURL must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":206,"matchTerms":["sky replacement","sky","replacement"],"why":"Matched sky replacement, sky, replacement for \"Change Sky Image Segmentation\". Price is USD 0.20 per policy aliyun-viapi."},{"id":"sky-segmentation","canonicalId":"sky-segmentation","internalServiceId":"aliyun-imageseg-segment-sky","name":"Segment Sky Image Segmentation","description":"Use this visual AI API when the task needs segmenting sky regions in an image. Send the schema keys exactly as listed (ImageURL); required parameters: ImageURL.","descriptionForModel":"Use this visual AI API when the task needs segmenting sky regions in an image. Send the schema keys exactly as listed (ImageURL); required parameters: ImageURL.","category":"image-segmentation","keywords":["SegmentSky","阿里云分割抠图 天空分割","image segmentation","background removal","cutout","matting","mask generation","foreground extraction","segment","sky"],"useCases":["segmenting sky regions in an image","Call one focused visual AI capability directly with JSON inputs","Use public image or video URLs and structured parameters to get machine-readable results"],"limitations":["Pass parameter names exactly as listed in the input schema","Only public http or https URLs and JSON/base64 text parameters are supported in this adapter","Binary file upload is not exposed by this Server402 adapter","Provider credentials and upstream permissions must be configured on the server"],"tags":["computer-vision","image-segmentation","background-removal"],"method":"POST","endpoint":"/api/tools/sky-segmentation","legacyEndpoint":"/api/tools/aliyun-imageseg-segment-sky","endpointAliases":["/api/tools/sky-segmentation","/api/tools/aliyun-imageseg-segment-sky"],"inputTypes":["object","string","uri"],"outputTypes":["object","string"],"inputSchema":{"description":"Use Alibaba Cloud RPC parameter names exactly, for example ImageURL, ImageUrl, Url, URL, JobId, or Tasks depending on the service.","properties":{"ImageURL":{"description":"Public http or https image URL accepted by the Alibaba Cloud API.","format":"uri","type":"string"}},"required":["ImageURL"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","data"],"type":"object"},"exampleRequest":{"ImageURL":"https://example.com/image.jpg"},"exampleResponse":{"code":"200","content":"","data":{"Action":"SegmentSky","Result":"example result from Alibaba Cloud imageseg"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":20,"currency":"USD","policyId":"aliyun-viapi","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":6,"healthStatus":"unhealthy","healthCheckedAt":"2026-06-03T13:57:30Z","healthLatencyMs":96,"latencyMs":2,"successRate":0,"callCount":1,"executionCount":1,"successCount":0,"errorCount":1,"paymentRequireds":0,"lastCallAt":"2026-06-03T12:06:28Z"},"discovery":{"toolName":"sky_segmentation","searchText":"sky-segmentation Segment Sky Image Segmentation Use this visual AI API when the task needs segmenting sky regions in an image. Send the schema keys exactly as listed (ImageURL); required parameters: ImageURL. Use this visual AI API when the task needs segmenting sky regions in an image. Send the schema keys exactly as listed (ImageURL); required parameters: ImageURL. image-segmentation object string uri object string computer-vision image-segmentation background-removal SegmentSky 阿里云分割抠图 天空分割 image segmentation background removal cutout matting mask generation foreground extraction segment sky segmenting sky regions in an image Call one focused visual AI capability directly with JSON inputs Use public image or video URLs and structured parameters to get machine-readable results Pass parameter names exactly as listed in the input schema Only public http or https URLs and JSON/base64 text parameters are supported in this adapter Binary file upload is not exposed by this Server402 adapter Provider credentials and upstream permissions must be configured on the server /api/tools/sky-segmentation","aliases":["Segment Sky Image Segmentation","image-segmentation","computer-vision","background-removal","SegmentSky","阿里云分割抠图 天空分割","image segmentation","background removal","cutout","matting","mask generation","foreground extraction","segment","sky","sky-segmentation","sky_segmentation","/api/tools/sky-segmentation"],"localeHints":["en","zh"],"useCases":["segmenting sky regions in an image","Call one focused visual AI capability directly with JSON inputs","Use public image or video URLs and structured parameters to get machine-readable results"],"limitations":["Pass parameter names exactly as listed in the input schema","Only public http or https URLs and JSON/base64 text parameters are supported in this adapter","Binary file upload is not exposed by this Server402 adapter","Provider credentials and upstream permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"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"},"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":{"X-Payment-Required":"true","X-Payment-Token":"payment.token"},"bodySchema":{"properties":{"error":{"type":"string"},"payment":{"properties":{"amountCents":{"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"}},"required":["error","payment"],"type":"object"}},"retry":{"when":"Retry after payment.status is paid and the token has remaining calls.","http":["Call POST /api/payments with serviceId to create a payment if the first service call returned 402.","Complete or verify payment using GET /api/payments/{paymentId}.","Retry the original /api/tools/* request with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Complete or verify payment using the returned payment.paymentId.","Call the same MCP tool again with paymentToken set to payment.token."],"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":"Create a payment with POST /api/payments using serviceId=\"sky-segmentation\", then pass the returned token in X-Payment-Token or MCP paymentToken.","retryHint":"If the service returns HTTP 402, complete or verify the payment and retry the same request with the payment token.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1200ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["sky-replacement","image-segmentation-job-result","face-segmentation-parsing"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"ImageURL is required","statusCode":400},{"input":{"ImageURL":"not-a-url"},"error":"ImageURL must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":44,"matchTerms":["sky"],"why":"Matched sky for \"Segment Sky Image Segmentation\". Price is USD 0.20 per policy aliyun-viapi."},{"id":"hd-sky-segmentation","canonicalId":"hd-sky-segmentation","internalServiceId":"aliyun-imageseg-segment-hd-sky","name":"Segment Hd Sky Image Segmentation","description":"Use this visual AI API when the task needs generating high-definition sky segmentation. Send the schema keys exactly as listed (ImageURL); required parameters: ImageURL.","descriptionForModel":"Use this visual AI API when the task needs generating high-definition sky segmentation. Send the schema keys exactly as listed (ImageURL); required parameters: ImageURL.","category":"image-segmentation","keywords":["SegmentHDSky","阿里云分割抠图 高清天空分割","image segmentation","background removal","cutout","matting","mask generation","foreground extraction","segment","hd","sky"],"useCases":["generating high-definition sky segmentation","Call one focused visual AI capability directly with JSON inputs","Use public image or video URLs and structured parameters to get machine-readable results"],"limitations":["Pass parameter names exactly as listed in the input schema","Only public http or https URLs and JSON/base64 text parameters are supported in this adapter","Binary file upload is not exposed by this Server402 adapter","Provider credentials and upstream permissions must be configured on the server"],"tags":["computer-vision","image-segmentation","background-removal"],"method":"POST","endpoint":"/api/tools/hd-sky-segmentation","legacyEndpoint":"/api/tools/aliyun-imageseg-segment-hd-sky","endpointAliases":["/api/tools/hd-sky-segmentation","/api/tools/aliyun-imageseg-segment-hd-sky"],"inputTypes":["object","string","uri"],"outputTypes":["object","string"],"inputSchema":{"description":"Use Alibaba Cloud RPC parameter names exactly, for example ImageURL, ImageUrl, Url, URL, JobId, or Tasks depending on the service.","properties":{"ImageURL":{"description":"Public http or https image URL accepted by the Alibaba Cloud API.","format":"uri","type":"string"}},"required":["ImageURL"],"type":"object"},"outputSchema":{"properties":{"code":{"type":"string"},"content":{"type":"string"},"data":{"type":"object"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["requestId","data"],"type":"object"},"exampleRequest":{"ImageURL":"https://example.com/image.jpg"},"exampleResponse":{"code":"200","content":"","data":{"Action":"SegmentHDSky","Result":"example result from Alibaba Cloud imageseg"},"message":"success","requestId":"example-request-id"},"pricing":{"amountCents":20,"currency":"USD","policyId":"aliyun-viapi","settleMode":"settle_first","billingMode":"per_call","maxCalls":1,"allowReuse":false,"bindClient":true},"payment":{"providerId":"x402-base-usdc","provider":"x402_facilitator"},"quality":{"qualityScore":4,"healthStatus":"unhealthy","healthCheckedAt":"2026-06-03T13:57:29Z","healthLatencyMs":102,"successRate":0,"callCount":1,"executionCount":1,"successCount":0,"errorCount":1,"paymentRequireds":0,"lastCallAt":"2026-06-03T12:06:35Z"},"discovery":{"toolName":"hd_sky_segmentation","searchText":"hd-sky-segmentation Segment Hd Sky Image Segmentation Use this visual AI API when the task needs generating high-definition sky segmentation. Send the schema keys exactly as listed (ImageURL); required parameters: ImageURL. Use this visual AI API when the task needs generating high-definition sky segmentation. Send the schema keys exactly as listed (ImageURL); required parameters: ImageURL. image-segmentation object string uri object string computer-vision image-segmentation background-removal SegmentHDSky 阿里云分割抠图 高清天空分割 image segmentation background removal cutout matting mask generation foreground extraction segment hd sky generating high-definition sky segmentation Call one focused visual AI capability directly with JSON inputs Use public image or video URLs and structured parameters to get machine-readable results Pass parameter names exactly as listed in the input schema Only public http or https URLs and JSON/base64 text parameters are supported in this adapter Binary file upload is not exposed by this Server402 adapter Provider credentials and upstream permissions must be configured on the server /api/tools/hd-sky-segmentation","aliases":["Segment Hd Sky Image Segmentation","image-segmentation","computer-vision","background-removal","SegmentHDSky","阿里云分割抠图 高清天空分割","image segmentation","background removal","cutout","matting","mask generation","foreground extraction","segment","hd","sky","hd-sky-segmentation","hd_sky_segmentation","/api/tools/hd-sky-segmentation"],"localeHints":["en","zh"],"useCases":["generating high-definition sky segmentation","Call one focused visual AI capability directly with JSON inputs","Use public image or video URLs and structured parameters to get machine-readable results"],"limitations":["Pass parameter names exactly as listed in the input schema","Only public http or https URLs and JSON/base64 text parameters are supported in this adapter","Binary file upload is not exposed by this Server402 adapter","Provider credentials and upstream permissions must be configured on the server"],"paymentFlow":{"type":"http-402","createPayment":{"method":"POST","url":"/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"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"},"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":{"X-Payment-Required":"true","X-Payment-Token":"payment.token"},"bodySchema":{"properties":{"error":{"type":"string"},"payment":{"properties":{"amountCents":{"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"}},"required":["error","payment"],"type":"object"}},"retry":{"when":"Retry after payment.status is paid and the token has remaining calls.","http":["Call POST /api/payments with serviceId to create a payment if the first service call returned 402.","Complete or verify payment using GET /api/payments/{paymentId}.","Retry the original /api/tools/* request with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Complete or verify payment using the returned payment.paymentId.","Call the same MCP tool again with paymentToken set to payment.token."],"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":"Create a payment with POST /api/payments using serviceId=\"hd-sky-segmentation\", then pass the returned token in X-Payment-Token or MCP paymentToken.","retryHint":"If the service returns HTTP 402, complete or verify the payment and retry the same request with the payment token.","requiredState":"published, enabled"},"complexity":"moderate","typicalResponseTime":"1200ms","cacheable":true,"idempotent":true,"outputFormat":"json","relatedServices":["sky-replacement","image-segmentation-job-result","face-segmentation-parsing"],"requiredContext":["public-image-url","aliyun-credentials"],"errorExamples":[{"input":{},"error":"ImageURL is required","statusCode":400},{"input":{"ImageURL":"not-a-url"},"error":"ImageURL must be a valid http or https URL","statusCode":400}],"sla":{"uptime":"99.5%","maxLatency":"5000ms"},"matchScore":44,"matchTerms":["sky"],"why":"Matched sky for \"Segment Hd Sky Image Segmentation\". Price is USD 0.20 per policy aliyun-viapi."}],"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":{"X-Payment-Required":"true","X-Payment-Token":"payment.token"},"bodySchema":{"properties":{"error":{"type":"string"},"payment":{"properties":{"amountCents":{"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"}},"required":["error","payment"],"type":"object"}},"retry":{"when":"Retry after payment.status is paid and the token has remaining calls.","http":["Call POST /api/payments with serviceId to create a payment if the first service call returned 402.","Complete or verify payment using GET /api/payments/{paymentId}.","Retry the original /api/tools/* request with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Complete or verify payment using the returned payment.paymentId.","Call the same MCP tool again with paymentToken set to payment.token."],"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"},"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"},"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":{"X-Payment-Required":"true","X-Payment-Token":"payment.token"},"bodySchema":{"properties":{"error":{"type":"string"},"payment":{"properties":{"amountCents":{"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"}},"required":["error","payment"],"type":"object"}},"retry":{"when":"Retry after payment.status is paid and the token has remaining calls.","http":["Call POST /api/payments with serviceId to create a payment if the first service call returned 402.","Complete or verify payment using GET /api/payments/{paymentId}.","Retry the original /api/tools/* request with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Complete or verify payment using the returned payment.paymentId.","Call the same MCP tool again with paymentToken set to payment.token."],"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}}}}
