Give social publishing APIs a direct media URL
The file starts as media file. Upload and keep URL alive for async fetch. Map media url for publishing to the next step and keep the file ID beside the run for cleanup.
- Reviewed by
- GetFileURL technical team
- Updated
- Input
- media file
- Action
- Upload and keep URL alive for async fetch
- Output
- Media URL for publishing
What this page answers
It turns a file already inside a workflow into a direct public URL that another API can fetch.
- Reviewed by
- GetFileURL technical team
- Last updated
One request in, a URL and JSON out
curl -X POST https://api.getfileurl.com/v1/files \
-H 'Authorization: Bearer $GETFILEURL_KEY' \
-F 'file=@workflow-output.pdf' \
-F 'visibility=public'{
"file_id": "file_8ks41p",
"url": "https://cdn.getfileurl.com/f/file_8ks41p/workflow-output.pdf",
"content_type": "application/pdf",
"expires_at": "2026-05-29T10:30:00Z"
}Make the file handoff visible.
A useful recipe shows four things: file in, upload request, returned URL, and cleanup handle.
Capture the file
Start from media file and keep the original content type when possible.
Upload and parse JSON
Keep the upload response visible as workflow data, not hidden inside a side effect.
Send onward
Pass the returned URL to media url for publishing and store the file ID for cleanup.
Validate the URL before the destination retries.
Most automation file issues are caused by a URL that looks fine in a browser but fails from a server-side API call.
Direct response
The URL should return file bytes, not an app preview, permission page, or redirect loop.
Useful headers
Content type, size, and disposition should match what the destination expects.
Enough retention
Expiry should account for queue delays, async processing, and retry branches.
Copy the same upload shape into code
curl -X POST https://api.getfileurl.com/v1/files \
-H 'Authorization: Bearer $GETFILEURL_KEY' \
-F 'file=@social-image.png' \
-F 'visibility=public'Common questions
What does this recipe solve?
It turns a file already inside a workflow into a direct public URL that another API can fetch.
Should the URL be permanent?
Not by default. Use the shortest retention window that gives the destination enough time to fetch the file.
What should I log?
Log the returned URL, file ID, content type, size, expiry, and destination response status.