{"uid":"cap_L7brqS_ziHnDfqQBZCmWD","slug":"stablestudio-confirm-0f189727","name":"StableStudio Upload Confirm","description":"Confirm upload with final blob URL","url":"https://stablestudio.dev/api/upload/confirm","method":"POST","headers":{},"bodySchema":{"type":"object","required":["uploadId","blobUrl"],"properties":{"blobUrl":{"type":"string","format":"uri","description":"Final blob URL from Vercel Blob upload"},"uploadId":{"type":"string","description":"Upload ID from the upload endpoint"}}},"responseSchema":{"type":"object","required":["success","upload"],"properties":{"upload":{"type":"object","required":["id","blobUrl","filename","mediaType"],"properties":{"id":{"type":"string"},"blobUrl":{"type":"string"},"filename":{"type":"string"},"mediaType":{"type":"string"}},"additionalProperties":false},"success":{"type":"boolean","const":true}},"additionalProperties":false},"example":null,"exampleRequest":null,"tags":["image","video","generation","nano-banana","gpt-image","grok","flux","sora","veo","seedance","wan","ai","media"],"displayCostAmount":"0","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"proven_free","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"free","summary":"Free","primary":{"kind":"free","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"},"accepted":[{"kind":"free","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"}]},"paymentMethods":[{"uid":"pm_69oAHux7B9WIfLgpk6uGW","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0","costPer":"request","priority":0,"asset":"0x20c000000000000000000000b9537d11c60e8b50","unit":"request","depositMicros":null,"planRef":null}],"brandName":"StableStudio","brandSlug":"stablestudio","brandBaseUrl":"https://stablestudio.dev","brandDocsUrl":"https://stablestudio.dev","whatItDoes":"Confirms a completed file upload by associating the final Vercel Blob URL with an existing upload record","exampleAgentPrompt":"I just finished uploading my image to Vercel Blob and got back the blob URL — can you confirm the upload on StableStudio using upload ID 'upl_abc123' and blob URL 'https://blob.vercel-storage.com/myimage-xyz.png'?","exampleUseCases":null,"resultDescription":"Returns a success boolean and an upload object containing the upload ID, the confirmed blob URL, the filename, and the media type of the uploaded file.","failureModes":["Invalid or expired uploadId returns an error","Malformed or inaccessible blobUrl causes validation failure","Mismatch between uploadId and blobUrl ownership returns unauthorized error","Network timeout if Vercel Blob URL is unreachable","Duplicate confirmation of already-confirmed upload may return conflict"],"whenToPreferThis":"Use this endpoint as the second step of a two-phase upload flow on StableStudio — after obtaining an upload ID from the initial upload endpoint and completing the Vercel Blob upload, call this to finalize the record. This is required before the uploaded media can be used in AI generation workflows on StableStudio.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:37:27.543Z","isFirstParty":false}