{"uid":"cap_kSDxcODGwlfu2tqyVJ4pq","slug":"vaaya-fal-upload-69d5dec6","name":"Vaaya FAL Upload","description":"Stage a media file on the fal CDN before a fal generation. Returns { upload_url, file_url }: PUT the raw file bytes to upload_url (with the matching Content-Type header), then pass file_url as the image_url/video_url/audio_url param of the generation. Upload originals UNCOMPRESSED — never downscale or re-encode; high-res inputs cost nothing extra and compression degrades outputs.","url":"https://vaaya.ai/api/run/fal/upload","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["file_name","content_type"],"properties":{"file_name":{"type":"string","minLength":1},"content_type":{"type":"string","minLength":1}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"pathParams":{"type":"object"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","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":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_V812JhjEDE3_Z2Xfsu4Mz","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Upload a file to FAL (a media/ML inference platform) via the Vaaya proxy, returning a hosted URL usable in subsequent AI media generation or processing calls.","exampleAgentPrompt":"Upload this image file to FAL through Vaaya so I can use the hosted URL in my next image-to-image generation step.","exampleUseCases":[{"title":"Pre-upload image for style transfer","prompt":"I have a reference photo I want to run through a style transfer model on FAL — can you upload it via Vaaya first and give me the hosted URL to use in the next step?"},{"title":"Host logo for AI graphic generation","prompt":"Upload my company logo PNG to FAL using Vaaya so I can pass the URL into an AI image generation workflow for creating marketing graphics."},{"title":"Prepare video frame for ML pipeline","prompt":"I need to run a video frame through a fal.ai inference model — please upload the image file through Vaaya and return the FAL-hosted URL I can use as input."}],"resultDescription":"A hosted FAL asset URL pointing to the uploaded file, which can be passed directly as an input parameter to fal.ai model inference endpoints for image-to-image, inpainting, upscaling, or other media generation workflows.","failureModes":["File too large — FAL upload size limits may cause rejection","Unsupported file format — FAL may not accept certain MIME types","Network timeout on large file uploads","Invalid or missing file body in POST request","Upstream FAL service unavailable causing proxy failure"],"whenToPreferThis":"Use this endpoint when you need to make a locally held or agent-accessible file available at a publicly reachable FAL URL before passing it into a fal.ai model inference call. It is the correct pre-step for any fal.ai workflow that requires a URL input rather than accepting raw binary data directly. Prefer this over generic storage services when the downstream consumer is specifically a fal.ai model.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T17:52:39.008Z","isFirstParty":false}