A direct link to every file.Store it once, use it anywhere.
FluidCloud is the media drive your team actually wants to use — and your apps and bots can read directly. Every file gets a clean, streamable link, organized in Spaces, with the controls and API to use it anywhere.
await fluid.spaces('aurora') .file('reel-03.mp4').url()
anywhere
to share or stream
each one you control
this week
FluidTalk — our AI chat product — runs on this exact API in production.
Built for media, not folders.
A direct link points straight at the file. Your team opens it, a player streams it, your bot reads it — the bytes come from the link itself, so nothing has to be downloaded and re-uploaded to move it around.
Not built for apps & bots
- Folder chaos that never scales
- Clunky for a team at media scale
- No real API to the file itself
- Links break or expire on you
Raw infra, no product
- Just keys and a blank page
- No media UI for your team
- Sharing is a project to build
- You wire up everything yourself
A media drive with links
- A direct, streamable link for every file
- Organized in Spaces, found by tags
- Link controls: expiry, password, revoke
- API, SDKs & one-line embeds
1 · Upload once
Your file goes straight into a Space — once. No copies scattered across drives and inboxes.
2 · Get a direct link
FluidCloud hands that file its own link that points straight at the bytes — shareable, embeddable, callable.
3 · Use it in place
Open it, stream it, or read it from code. The file is served from the link — never downloaded just to move it.
Upload, organize, link.
The whole flow lives in one drive — no download tax, no re-upload glue, no folder archaeology.
Upload
Files upload straight to cloud storage, resumable, with no server hop in the middle — so even big videos go fast and survive a dropped connection.
direct upload · multipart · resumableOrganize
Tags beat folders. Type, Format, Tag, Set, Theme — typed dimensions you can filter on instantly. Group related assets into Collections you can share or embed as one.
Type · Format · Tag · CollectionLink & share
Get a direct link or a one-line embed for any file. Add an expiry or a password, cap the views, or revoke it the instant you need to — every link stays under your control.
direct link · embed · controlsShare a direct link — and stay in control.
Each link can carry an expiry, a password and a view cap — and you can revoke it the instant you need to. Open it, then pull it back, below.
One drive, three ways to use it.
For agencies
Spaces keep every client, brand and campaign organized, and you invite your team into just the Spaces they need. Tags and Collections keep a big library findable.
See SpacesFor developers
A clean REST surface plus SDKs on npm and pypi. Upload a file, get a direct link back, stream it in place — and skip the glue code entirely.
See the APIFor bots & automations
Your agent reads the file straight from its link — no download-then-reupload. Short-lived, file-scoped tokens let you wire FluidCloud right into your automations.
Wire it upOrganize everything into Spaces.
A Space is a clean workspace for a client, brand, project or campaign. Invite people to just the Spaces they need — everyone sees only what you share with them, so it's easy to bring in freelancers and assistants.
# list the files in a Space GET /v1/spaces/aurora/files 200 {"space": "aurora", "count": 1204, "files": [ … ]}
Upload → direct link → stream. In any stack.
The same three moves, whatever you write in. Put a file in, get a direct link back, stream it in place.
# 1 · upload straight to a Space curl -X POST https://api.fluidvip.com/v1/files \ -H "Authorization: Bearer fck_live_…" \ -F [email protected] -F space=aurora # 2 · request the file's direct link curl -I https://cdn.fluidvip.com/aurora/reel-03.mp4 HTTP/2 200 content-type: video/mp4 accept-ranges: bytes content-length: 18443201 # stream it in place
import { FluidCloud } from "@fluidvip/cloud"; const fc = new FluidCloud(process.env.FLUID_KEY); const f = await fc.files.upload("./reel-03.mp4", { space: "aurora" }); console.log(f.url); // a direct, streamable link
from fluidvip import FluidCloud fc = FluidCloud() f = fc.files.upload("reel-03.mp4", space="aurora") print(f.url) # https://cdn.fluidvip.com/aurora/reel-03.mp4
<!-- one line · streams in place, token-scoped --> <fluid-player src="https://cdn.fluidvip.com/aurora/reel-03.mp4" token="ft_…" ></fluid-player>
One-line embeds. Paste and ship.
Auth'd by short-lived, file-scoped tokens — drop a component, hand it a token, and you're streaming.
A real product, not a bucket.
Direct links
Every file gets a clean, streamable link your apps and bots read straight from the source.
Stream in place
Files seek and play without downloading the whole thing first — great for long video.
Link controls
Set an expiry or password, cap the views, and revoke any link instantly.
Spaces
Organize by client, brand or campaign, and invite your team into just the Spaces they need.
Tags beat folders
Typed tags and smart filters find anything in seconds — no folder digging.
Collections
Group related assets into a Collection you can share or embed as one.
Fast uploads
Big files upload straight to storage, resumable, with no server hop in the middle.
Public API + SDKs
npm and pypi SDKs plus a clean REST surface — FluidTalk is the first consumer.
Embeddable components
<fluid-uploader>/<fluid-viewer>/<fluid-player> drop in one line.
Team & roles
Seats and roles so the right people get exactly the access they should.
Private by default
Files aren't public until you share a link — and you can pull it back anytime.
Media grid + lightbox
Virtualized thumbnails and a lightbox make browsing thousands of files smooth.
Your files. Your links. No surprise lockouts.
Built for creators and agencies who got burned by Big-Tech terms — your files and your links stay under your control, always.
Our whole team finally works out of one media library instead of ten scattered drives.
I deleted 200 lines of download-then-reupload glue. Now my service just reads the link.
Start free. Get a direct link today.
No card to start. Your content stays yours, from day one.
Part of the Fluid ecosystem.
Shared sign-in and unified billing across FluidTalk, FluidGhost, and FluidCloud.
Start free. Scale when you do.
Every tier includes direct links and the full API. No card to start.
- 1 Space
- Starter storage
- Direct links for every file
- Full API + SDKs
- Link controls
- No card to start
- Up to 10 Spaces
- Generous storage
- Collections
- Smart filters
- Embeddable components
- Custom link controls
- Email support
- Unlimited Spaces
- High storage
- Team seats + roles
- Priority support
- SSO across the ecosystem
Straight answers.
What's a direct link, and how does it work?
How are direct links kept secure?
Can I control who on my team sees what?
Do I have to download a file just to use it somewhere else?
Is there really a public API and SDKs?
Will my account get locked over my content?
Where is my data stored?
What file types and sizes are supported?
Get a direct link in your next deploy.
Start free — no card. Your content stays yours.