{"openapi":"3.0.3","info":{"title":"ArtPlayer Developer API","version":"1.1.0","description":"Asynchronous image, video, GIF and audio tools. Select a service, upload and validate its inputs, quote, create a job, poll and download its outputs. Hidden website tools are excluded. All timestamps are Unix seconds. Target dimensions are estimates; returned media dimensions are measured. Use Content-Length on request bodies. Uploads without serviceId retain the image-upscale default. Direct upload tickets must be used without your ArtPlayer API key. Keys share the existing account wallet. RapidAPI remains a gated linked-account pilot; marketplace billing is not enabled."},"x-artplayer-tools":[{"serviceId":"image-upscale","name":"Image upscaler","inputs":[{"mediaType":"image","upload":"multipart"}],"note":"4K is experimental.","quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"image-upscale","preset":"2k"},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["image-upscale"]},"preset":{"type":"string","enum":["1080p","square","2k","4k"]}},"required":["assetId","serviceId","preset"],"additionalProperties":false}},{"serviceId":"photo-restoration","name":"Photo restoration","inputs":[{"mediaType":"image","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"photo-restoration","options":{"facePriority":true,"mode":"repair","strategy":"full"}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["photo-restoration"]},"preset":{"type":"string","enum":["2k"]},"options":{"type":"object","properties":{"facePriority":{"type":"boolean"},"mode":{"type":"string","enum":["repair","colorize"]},"strategy":{"type":"string","enum":["full","conservative"]}},"required":["facePriority","mode","strategy"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}},{"serviceId":"image-watermark-remover","name":"Image watermark removal","inputs":[{"mediaType":"image","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"image-watermark-remover"},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["image-watermark-remover"]},"preset":{"type":"string","enum":["2k"]}},"required":["assetId","serviceId"],"additionalProperties":false}},{"serviceId":"image-outpainter","name":"Image expansion","inputs":[{"mediaType":"image","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"image-outpainter","options":{"direction":"all","ratioPercent":20}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["image-outpainter"]},"preset":{"type":"string","enum":["2k"]},"options":{"type":"object","properties":{"direction":{"type":"string","enum":["left","right","top","bottom","all"]},"ratioPercent":{"anyOf":[{"type":"number","enum":[10]},{"type":"number","enum":[20]},{"type":"number","enum":[30]},{"type":"number","enum":[40]}]}},"required":["direction","ratioPercent"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}},{"serviceId":"video-upscale","name":"Video upscaler · standard","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-upscale","resolution":"1080p"},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-upscale"]},"resolution":{"type":"string","enum":["1080p","4k"]}},"required":["assetId","serviceId","resolution"],"additionalProperties":false}},{"serviceId":"video-upscale-fast2","name":"Video upscaler · advanced","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-upscale-fast2","resolution":"1080p"},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-upscale-fast2"]},"resolution":{"type":"string","enum":["1080p","4k"]}},"required":["assetId","serviceId","resolution"],"additionalProperties":false}},{"serviceId":"gif-upscale","name":"GIF upscaler · standard","inputs":[{"mediaType":"gif","upload":"multipart"}],"note":"Prepare the GIF after validation and quote the returned video asset. MP4 is always delivered; GIF is optional.","quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"gif-upscale","gifScale":2},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["gif-upscale"]},"gifScale":{"anyOf":[{"type":"number","enum":[2]},{"type":"number","enum":[4]}]}},"required":["assetId","serviceId","gifScale"],"additionalProperties":false}},{"serviceId":"gif-upscale-fast2","name":"GIF upscaler · advanced","inputs":[{"mediaType":"gif","upload":"multipart"}],"note":"Prepare the GIF after validation and quote the returned video asset. MP4 is always delivered; GIF is optional.","quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"gif-upscale-fast2","gifScale":2},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["gif-upscale-fast2"]},"gifScale":{"anyOf":[{"type":"number","enum":[2]},{"type":"number","enum":[4]}]}},"required":["assetId","serviceId","gifScale"],"additionalProperties":false}},{"serviceId":"video-subtitle-remover-standard","name":"Subtitle removal · standard","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-subtitle-remover-standard"},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-subtitle-remover-standard"]}},"required":["assetId","serviceId"],"additionalProperties":false}},{"serviceId":"video-subtitle-remover-pro","name":"Subtitle removal · precise","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-subtitle-remover-pro","options":{"mode":"Text","erase_ratio_location":[{"top_left_x":0.1,"top_left_y":0.7,"bottom_right_x":0.9,"bottom_right_y":0.95}]}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-subtitle-remover-pro"]},"options":{"type":"object","properties":{"mode":{"default":"Text","type":"string","enum":["Subtitle","Text"]},"erase_ratio_location":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"top_left_x":{"type":"number","minimum":0,"maximum":1},"top_left_y":{"type":"number","minimum":0,"maximum":1},"bottom_right_x":{"type":"number","minimum":0,"maximum":1},"bottom_right_y":{"type":"number","minimum":0,"maximum":1}},"required":["top_left_x","top_left_y","bottom_right_x","bottom_right_y"],"additionalProperties":false}}},"required":["mode","erase_ratio_location"],"additionalProperties":false}},"required":["assetId","serviceId"],"additionalProperties":false}},{"serviceId":"video-watermark-remover","name":"Video watermark removal","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-watermark-remover","options":{"mode":"Text","erase_ratio_location":[{"top_left_x":0.1,"top_left_y":0.7,"bottom_right_x":0.9,"bottom_right_y":0.95}]}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-watermark-remover"]},"options":{"type":"object","properties":{"mode":{"default":"Text","type":"string","enum":["Text"]},"erase_ratio_location":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"top_left_x":{"type":"number","minimum":0,"maximum":1},"top_left_y":{"type":"number","minimum":0,"maximum":1},"bottom_right_x":{"type":"number","minimum":0,"maximum":1},"bottom_right_y":{"type":"number","minimum":0,"maximum":1}},"required":["top_left_x","top_left_y","bottom_right_x","bottom_right_y"],"additionalProperties":false}}},"required":["mode","erase_ratio_location"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}},{"serviceId":"video-face-blur","name":"Face blur","inputs":[{"mediaType":"video","upload":"direct"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-face-blur","options":{"maskMode":"mosaic","maskStrength":"medium","faceBoxExpand":0.2,"faceConfidence":0.35}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-face-blur"]},"options":{"type":"object","properties":{"maskMode":{"default":"mosaic","type":"string","enum":["mosaic","blur"]},"maskStrength":{"default":"medium","type":"string","enum":["low","medium","high"]},"faceBoxExpand":{"default":0.2,"type":"number","minimum":0,"maximum":1},"faceConfidence":{"default":0.35,"type":"number","minimum":0.1,"maximum":1}},"required":["maskMode","maskStrength","faceBoxExpand","faceConfidence"],"additionalProperties":false}},"required":["assetId","serviceId"],"additionalProperties":false}},{"serviceId":"video-frame-interpolation","name":"Frame interpolation","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-frame-interpolation","targetFps":60},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-frame-interpolation"]},"targetFps":{"type":"integer","minimum":15,"maximum":120}},"required":["assetId","serviceId","targetFps"],"additionalProperties":false}},{"serviceId":"video-reframe","name":"Video reframing","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-reframe"},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-reframe"]}},"required":["assetId","serviceId"],"additionalProperties":false}},{"serviceId":"asr-subtitles","name":"Speech to subtitles","inputs":[{"mediaType":"video","upload":"multipart"},{"mediaType":"audio","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"asr-subtitles","options":{"language":"eng-US","enableSpeakerInfo":false}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["asr-subtitles"]},"options":{"type":"object","properties":{"language":{"type":"string","enum":["cmn-Hans-CN","eng-US","spa-ES","ind-ID"]},"enableSpeakerInfo":{"type":"boolean"}},"required":["language","enableSpeakerInfo"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}},{"serviceId":"vocal-separator","name":"Vocal separation","inputs":[{"mediaType":"video","upload":"multipart"},{"mediaType":"audio","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"vocal-separator","options":{"scene":"Audio","outputFormat":"mp3"}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["vocal-separator"]},"options":{"type":"object","properties":{"scene":{"type":"string","enum":["Audio","Music","Drama","Narrate"]},"outputFormat":{"type":"string","enum":["mp3","wav"]}},"required":["scene","outputFormat"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}},{"serviceId":"video-compressor","name":"Video compression","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-compressor","options":{"codec":"h264","preset":"balanced","resolution":"original"}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-compressor"]},"options":{"type":"object","properties":{"codec":{"type":"string","enum":["h264","h265"]},"preset":{"type":"string","enum":["quality","balanced","compact"]},"resolution":{"default":"original","type":"string","enum":["original","480p","720p","1080p","1440p"]}},"required":["codec","preset","resolution"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}},{"serviceId":"video-lip-sync","name":"Lip sync","inputs":[{"mediaType":"video","upload":"direct"},{"mediaType":"audio","upload":"direct"}],"note":"Upload both video and audio. assetId is the video; inputAssets.audio is the audio.","quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-lip-sync","inputAssets":{"audio":"22222222-2222-4222-8222-222222222222"},"options":{"enableVideoLoop":false}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-lip-sync"]},"inputAssets":{"type":"object","properties":{"audio":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["audio"],"additionalProperties":false},"options":{"type":"object","properties":{"enableVideoLoop":{"type":"boolean"}},"required":["enableVideoLoop"],"additionalProperties":false}},"required":["assetId","serviceId","inputAssets","options"],"additionalProperties":false}},{"serviceId":"video-portrait-matting","name":"Portrait matting","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-portrait-matting","options":{"format":"webm","backgroundColor":"green"}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-portrait-matting"]},"options":{"type":"object","properties":{"format":{"type":"string","enum":["webm","mov","mp4"]},"backgroundColor":{"type":"string","enum":["green","white","black"]}},"required":["format","backgroundColor"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}},{"serviceId":"video-greenscreen-matting","name":"Greenscreen matting","inputs":[{"mediaType":"video","upload":"multipart"}],"quoteExample":{"assetId":"11111111-1111-4111-8111-111111111111","serviceId":"video-greenscreen-matting","options":{"format":"webm","backgroundColor":"green"}},"quoteSchema":{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-greenscreen-matting"]},"options":{"type":"object","properties":{"format":{"type":"string","enum":["webm","mov","mp4"]},"backgroundColor":{"type":"string","enum":["green","white","black"]}},"required":["format","backgroundColor"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}}],"servers":[{"url":"https://artplayer.org/ai/api/v1"}],"security":[{"bearerAuth":[]}],"paths":{"/tools":{"get":{"operationId":"listTools","summary":"List the public services and accepted media types","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tools"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/uploads":{"post":{"operationId":"createUpload","summary":"Allocate an upload for the selected service and media type","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadInput"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Upload"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/uploads/{id}/parts/{part}":{"put":{"operationId":"uploadPart","summary":"Upload or retry one part","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"part","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Part"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}},"/uploads/{id}/complete":{"post":{"operationId":"completeUpload","summary":"Seal bytes and start validation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"202":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/uploads/{id}/prepare":{"post":{"operationId":"prepareGif","summary":"Convert a ready GIF to a validated video asset before quoting","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GifPrepareInput"}}}},"responses":{"202":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/uploads/{id}":{"get":{"operationId":"getUpload","summary":"Wait for the ready state before quoting","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/quotes":{"post":{"operationId":"createQuote","summary":"Price validated inputs with service-specific parameters","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteInput"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/jobs":{"post":{"operationId":"createJob","summary":"Accept an asynchronous job with atomic credit reservation","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"description":"Reuse the same value and quoteId after a timeout. A different quote returns 409. Key rotation preserves this namespace."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobInput"}}}},"responses":{"202":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/jobs/{id}":{"get":{"operationId":"getJob","summary":"Read task status","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/jobs/{id}/result":{"get":{"operationId":"getResult","summary":"Download a completed result before its expiry","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"format","in":"query","schema":{"type":"string","enum":["png","jpg","webp","mp4","webm","mov","gif","json","srt","mp3","wav"]}},{"name":"role","in":"query","schema":{"type":"string","enum":["voice","background","music","sfx"]},"description":"Required for vocal separation. Select an available role from job.outputs."},{"name":"Range","in":"header","schema":{"type":"string"}}],"responses":{"200":{"description":"Private result bytes. Use a URL listed in job.outputs for the exact format and track. Downloads do not consume inference credits. Stored files support Range; generated SRT does not.","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"video/mp4":{"schema":{"type":"string","format":"binary"}},"video/webm":{"schema":{"type":"string","format":"binary"}},"video/quicktime":{"schema":{"type":"string","format":"binary"}},"audio/mpeg":{"schema":{"type":"string","format":"binary"}},"audio/wav":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"application/x-subrip":{"schema":{"type":"string","format":"binary"}}}},"206":{"description":"Private result bytes. Use a URL listed in job.outputs for the exact format and track. Downloads do not consume inference credits. Stored files support Range; generated SRT does not.","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"video/mp4":{"schema":{"type":"string","format":"binary"}},"video/webm":{"schema":{"type":"string","format":"binary"}},"video/quicktime":{"schema":{"type":"string","format":"binary"}},"audio/mpeg":{"schema":{"type":"string","format":"binary"}},"audio/wav":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"application/x-subrip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"File expired or unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"411":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"416":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"See error.code and error.requestId. Retry 429 using Retry-After. Retry uncertain job creation with the original Idempotency-Key and quoteId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Create an API Key in your account. Keep it on your server."}},"schemas":{"UploadInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":180},"size":{"type":"integer","minimum":0,"exclusiveMinimum":true,"maximum":9007199254740991},"serviceId":{"default":"image-upscale","type":"string","enum":["image-upscale","photo-restoration","image-watermark-remover","image-outpainter","video-upscale","video-upscale-fast2","gif-upscale","gif-upscale-fast2","video-subtitle-remover-standard","video-subtitle-remover-pro","video-watermark-remover","video-face-blur","video-frame-interpolation","video-reframe","asr-subtitles","vocal-separator","video-compressor","video-lip-sync","video-portrait-matting","video-greenscreen-matting"]},"mediaType":{"type":"string","enum":["image","video","audio","gif"]}},"required":["name","size","serviceId"],"additionalProperties":false},"QuoteInput":{"oneOf":[{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["image-upscale"]},"preset":{"type":"string","enum":["1080p","square","2k","4k"]}},"required":["assetId","serviceId","preset"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["photo-restoration"]},"preset":{"type":"string","enum":["2k"]},"options":{"type":"object","properties":{"facePriority":{"type":"boolean"},"mode":{"type":"string","enum":["repair","colorize"]},"strategy":{"type":"string","enum":["full","conservative"]}},"required":["facePriority","mode","strategy"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["image-watermark-remover"]},"preset":{"type":"string","enum":["2k"]}},"required":["assetId","serviceId"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["image-outpainter"]},"preset":{"type":"string","enum":["2k"]},"options":{"type":"object","properties":{"direction":{"type":"string","enum":["left","right","top","bottom","all"]},"ratioPercent":{"anyOf":[{"type":"number","enum":[10]},{"type":"number","enum":[20]},{"type":"number","enum":[30]},{"type":"number","enum":[40]}]}},"required":["direction","ratioPercent"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-upscale"]},"resolution":{"type":"string","enum":["1080p","4k"]}},"required":["assetId","serviceId","resolution"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-upscale-fast2"]},"resolution":{"type":"string","enum":["1080p","4k"]}},"required":["assetId","serviceId","resolution"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["gif-upscale"]},"gifScale":{"anyOf":[{"type":"number","enum":[2]},{"type":"number","enum":[4]}]}},"required":["assetId","serviceId","gifScale"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["gif-upscale-fast2"]},"gifScale":{"anyOf":[{"type":"number","enum":[2]},{"type":"number","enum":[4]}]}},"required":["assetId","serviceId","gifScale"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-subtitle-remover-standard"]}},"required":["assetId","serviceId"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-subtitle-remover-pro"]},"options":{"type":"object","properties":{"mode":{"default":"Text","type":"string","enum":["Subtitle","Text"]},"erase_ratio_location":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"top_left_x":{"type":"number","minimum":0,"maximum":1},"top_left_y":{"type":"number","minimum":0,"maximum":1},"bottom_right_x":{"type":"number","minimum":0,"maximum":1},"bottom_right_y":{"type":"number","minimum":0,"maximum":1}},"required":["top_left_x","top_left_y","bottom_right_x","bottom_right_y"],"additionalProperties":false}}},"required":["mode","erase_ratio_location"],"additionalProperties":false}},"required":["assetId","serviceId"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-watermark-remover"]},"options":{"type":"object","properties":{"mode":{"default":"Text","type":"string","enum":["Text"]},"erase_ratio_location":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"top_left_x":{"type":"number","minimum":0,"maximum":1},"top_left_y":{"type":"number","minimum":0,"maximum":1},"bottom_right_x":{"type":"number","minimum":0,"maximum":1},"bottom_right_y":{"type":"number","minimum":0,"maximum":1}},"required":["top_left_x","top_left_y","bottom_right_x","bottom_right_y"],"additionalProperties":false}}},"required":["mode","erase_ratio_location"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-face-blur"]},"options":{"type":"object","properties":{"maskMode":{"default":"mosaic","type":"string","enum":["mosaic","blur"]},"maskStrength":{"default":"medium","type":"string","enum":["low","medium","high"]},"faceBoxExpand":{"default":0.2,"type":"number","minimum":0,"maximum":1},"faceConfidence":{"default":0.35,"type":"number","minimum":0.1,"maximum":1}},"required":["maskMode","maskStrength","faceBoxExpand","faceConfidence"],"additionalProperties":false}},"required":["assetId","serviceId"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-frame-interpolation"]},"targetFps":{"type":"integer","minimum":15,"maximum":120}},"required":["assetId","serviceId","targetFps"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-reframe"]}},"required":["assetId","serviceId"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["asr-subtitles"]},"options":{"type":"object","properties":{"language":{"type":"string","enum":["cmn-Hans-CN","eng-US","spa-ES","ind-ID"]},"enableSpeakerInfo":{"type":"boolean"}},"required":["language","enableSpeakerInfo"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["vocal-separator"]},"options":{"type":"object","properties":{"scene":{"type":"string","enum":["Audio","Music","Drama","Narrate"]},"outputFormat":{"type":"string","enum":["mp3","wav"]}},"required":["scene","outputFormat"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-compressor"]},"options":{"type":"object","properties":{"codec":{"type":"string","enum":["h264","h265"]},"preset":{"type":"string","enum":["quality","balanced","compact"]},"resolution":{"default":"original","type":"string","enum":["original","480p","720p","1080p","1440p"]}},"required":["codec","preset","resolution"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-lip-sync"]},"inputAssets":{"type":"object","properties":{"audio":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["audio"],"additionalProperties":false},"options":{"type":"object","properties":{"enableVideoLoop":{"type":"boolean"}},"required":["enableVideoLoop"],"additionalProperties":false}},"required":["assetId","serviceId","inputAssets","options"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-portrait-matting"]},"options":{"type":"object","properties":{"format":{"type":"string","enum":["webm","mov","mp4"]},"backgroundColor":{"type":"string","enum":["green","white","black"]}},"required":["format","backgroundColor"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false},{"type":"object","properties":{"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["video-greenscreen-matting"]},"options":{"type":"object","properties":{"format":{"type":"string","enum":["webm","mov","mp4"]},"backgroundColor":{"type":"string","enum":["green","white","black"]}},"required":["format","backgroundColor"],"additionalProperties":false}},"required":["assetId","serviceId","options"],"additionalProperties":false}]},"GifPrepareInput":{"type":"object","properties":{"background":{"type":"string","enum":["#ffffff","#000000"]}},"required":["background"],"additionalProperties":false},"JobInput":{"type":"object","properties":{"quoteId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["quoteId"],"additionalProperties":false},"Upload":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"partSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"partCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"direct":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"method":{"type":"string","enum":["PUT"]},"headers":{"type":"object","additionalProperties":{"type":"string"}},"expiresAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["url","method","headers","expiresAt"],"additionalProperties":false}},"required":["id","partSize","partCount"],"additionalProperties":false},"Part":{"type":"object","properties":{"partNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"etag":{"type":"string"}},"required":["partNumber","etag"],"additionalProperties":false},"Asset":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"state":{"type":"string"},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"image":{"nullable":true,"type":"object","properties":{"width":{"type":"number"},"height":{"type":"number"},"format":{"type":"string"}},"required":["width","height","format"],"additionalProperties":false},"mediaType":{"type":"string","enum":["image","video","audio","gif"]},"media":{"nullable":true,"type":"object","properties":{"width":{"type":"number"},"height":{"type":"number"},"duration":{"type":"number"},"fps":{"type":"number"},"size":{"type":"number"},"format":{"type":"string"},"hasAudio":{"type":"boolean"},"sampleRate":{"type":"number"},"channels":{"type":"number"}},"additionalProperties":false},"expiresAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error":{"nullable":true,"type":"string"}},"required":["id","state","size","image","mediaType","media","expiresAt","error"],"additionalProperties":false},"Quote":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["image-upscale","photo-restoration","image-watermark-remover","image-outpainter","video-upscale","video-upscale-fast2","gif-upscale","gif-upscale-fast2","video-subtitle-remover-standard","video-subtitle-remover-pro","video-watermark-remover","video-face-blur","video-frame-interpolation","video-reframe","asr-subtitles","vocal-separator","video-compressor","video-lip-sync","video-portrait-matting","video-greenscreen-matting"]},"preset":{"type":"string"},"credits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"outputWidth":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"outputHeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"outputFps":{"type":"number"},"duration":{"type":"number"},"expiresAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","serviceId","credits","expiresAt"],"additionalProperties":false},"Job":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"serviceId":{"type":"string","enum":["image-upscale","photo-restoration","image-watermark-remover","image-outpainter","video-upscale","video-upscale-fast2","gif-upscale","gif-upscale-fast2","video-subtitle-remover-standard","video-subtitle-remover-pro","video-watermark-remover","video-face-blur","video-frame-interpolation","video-reframe","asr-subtitles","vocal-separator","video-compressor","video-lip-sync","video-portrait-matting","video-greenscreen-matting"]},"status":{"type":"string","enum":["pending","running","succeeded","failed","canceled"]},"credits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"settlement":{"type":"string","enum":["reserved","consumed","released"]},"createdAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"completedAt":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"resultExpiresAt":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"image":{"nullable":true,"type":"object","properties":{"width":{"type":"number"},"height":{"type":"number"},"format":{"type":"string"}},"required":["width","height","format"],"additionalProperties":false},"error":{"nullable":true,"type":"string"},"statusUrl":{"type":"string"},"resultUrl":{"nullable":true,"type":"string"},"outputs":{"type":"array","items":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpg","webp","mp4","webm","mov","gif","json","srt","mp3","wav"]},"role":{"type":"string","enum":["voice","background","music","sfx"]},"contentType":{"type":"string"},"url":{"type":"string"},"media":{"nullable":true,"type":"object","properties":{"width":{"type":"number"},"height":{"type":"number"},"duration":{"type":"number"},"fps":{"type":"number"},"size":{"type":"number"},"format":{"type":"string"},"hasAudio":{"type":"boolean"},"sampleRate":{"type":"number"},"channels":{"type":"number"}},"additionalProperties":false}},"required":["format","contentType","url","media"],"additionalProperties":false}}},"required":["id","serviceId","status","credits","settlement","createdAt","completedAt","resultExpiresAt","image","error","statusUrl","resultUrl","outputs"],"additionalProperties":false},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["code","message","requestId"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"Tools":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"object","properties":{"serviceId":{"type":"string","enum":["image-upscale","photo-restoration","image-watermark-remover","image-outpainter","video-upscale","video-upscale-fast2","gif-upscale","gif-upscale-fast2","video-subtitle-remover-standard","video-subtitle-remover-pro","video-watermark-remover","video-face-blur","video-frame-interpolation","video-reframe","asr-subtitles","vocal-separator","video-compressor","video-lip-sync","video-portrait-matting","video-greenscreen-matting"]},"name":{"type":"string"},"mediaTypes":{"type":"array","items":{"type":"string"}},"note":{"type":"string"}},"required":["serviceId","name","mediaTypes"],"additionalProperties":false}}},"required":["tools"],"additionalProperties":false}}}}