aivaux
🔒 Bcrypt-secured ⚡ Resumable uploads ✨ AI-powered

Store, find, and understand
your files — with AI.

A private cloud vault with intelligent file management. Upload once, find anything instantly with semantic search, auto-tagging, and smart OCR.

Free forever · No credit card required · Upgrade anytime

app.filevault.io/dashboard
🏠 Home
📁 Documents
📁 Photos
📁 Projects
🗑 Trash
✨ Auto-Organize
📄 Q4-Report-2025.pdf invoice 2.4 MB
🖼 team-photo.jpg photo 4.1 MB
📝 project-notes.txt notes 12 KB
🗜 source-code-v2.zip code 18.7 MB
🎵 podcast-ep12.mp3 audio 31.2 MB
🔒 bcrypt password hashing
Resumable uploads up to 5 GB
📱 Works on any device
🗂 Unlimited folders

Everything you need to manage files.

Powerful fundamentals — fast, focused, and completely private.

🔒

Private & Secure

Accounts are bcrypt-hashed and session-protected. Your files are only ever accessible to you.

Resumable Uploads

Upload files up to 5 GB with chunked, resumable transfers. Drop your connection — pick up where you left off.

📁

Folders & Organisation

Create nested folders, drag files between them, and keep your vault structured exactly how you like it.

👁

Instant Preview

Preview images, PDFs, and text files without downloading. Fast, in-browser rendering for any format.

🔗

Secure Sharing

Generate password-protected, expiring share links for any file. Send to anyone — no account required.

🗑

Trash & Recovery

Deleted files go to trash first. Restore accidentally deleted files anytime before permanent removal.

✨ Premium AI Features

Your files, supercharged by AI.

Upgrade to Premium and unlock six intelligent features

📝

Smart OCR

Extract text from any image instantly. Receipts, whiteboards, handwritten notes — all searchable in seconds.

🧠

Semantic Search

Search in plain English. "Invoices from last month", "photos of my dog" — AI understands what you mean.

🏷

Auto-Tagging

Every file you upload is automatically tagged and classified. Find anything without manual organisation.

🗂

Auto-Organize

AI analyses your vault and proposes a perfect folder structure. Review it, then apply with one click.

🔍

Duplicate Scanner

Find files cluttering your vault with the same name. Clean up wasted storage space effortlessly.

💬

AI Assistant

Type commands like "move all PDFs to Documents" or "rename my holiday photos" — AI executes them.

👑 Unlock all AI features — $9.9/mo

7-day free trial · Cancel anytime · No credit card required

Up and running in under a minute.

No setup, no configuration — just sign up and start uploading.

1

Create your account

Register with a username and password. It's free — no email, no credit card, no friction.

2

Upload your files

Drag and drop or browse to upload. Files up to 5 GB with chunked, resumable transfers.

3

Let AI do the rest

Upgrade to Premium and AI automatically tags, organises, and makes your files intelligently searchable.

Connect any AI agent in 3 steps.

Aivaux is built for AI agents. API key auth, OpenAPI spec, and a standard plugin manifest make integration effortless.

1

Create an account & generate an API key

Sign up, log in, then go to Settings > API Keys to generate a key. The key starts with aiv_ and is shown only once — save it securely.

# Register a new account
curl -X POST https://aivaux.com/auth/register \
  -H "Content-Type: application/json" \
  -d '{"username":"my-agent","email":"[email protected]","password":"securePass123"}'

# Log in to get a session cookie
curl -c cookies.txt -X POST https://aivaux.com/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"my-agent","password":"securePass123"}'

# Generate an API key (save the response!)
curl -b cookies.txt -X POST https://aivaux.com/account/api-keys \
  -H "Content-Type: application/json" \
  -d '{"label":"my-ai-agent"}'

# Response (key shown only once):
# {"key":"aiv_abc123...","prefix":"aiv_abc12345","label":"my-ai-agent"}
2

Authenticate with your API key

Pass the key as a Bearer token on every request. No cookies, no session management — just one header.

# List your files
curl https://aivaux.com/files \
  -H "Authorization: Bearer aiv_abc123..."

# Upload a file
curl -X POST https://aivaux.com/files/upload \
  -H "Authorization: Bearer aiv_abc123..." \
  -F "[email protected]"

# Download a file
curl https://aivaux.com/files/download/42 \
  -H "Authorization: Bearer aiv_abc123..." \
  -o document.pdf

# Create a folder
curl -X POST https://aivaux.com/folders \
  -H "Authorization: Bearer aiv_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"name":"Reports"}'
3

Discover all endpoints automatically

Point your agent at the OpenAPI spec or the AI plugin manifest. These are public — no auth needed to read them.

# OpenAPI 3.1 specification (26 endpoints, full schemas)
curl https://aivaux.com/api/openapi.json

# AI plugin manifest (ChatGPT / agent discovery standard)
curl https://aivaux.com/.well-known/ai-plugin.json

What your agent can do

📤
Upload & replace files
POST /files/upload · PUT /files/:id
📥
Download & list files
GET /files · GET /files/download/:id
📁
Organise folders
POST /folders · GET /folders/tree
🔗
Share files
POST /share · DELETE /share/:id
🗑
Manage trash
DELETE /files/:id · POST /trash/files/:id/restore
🔑
Manage API keys
POST /account/api-keys · DELETE /account/api-keys/:id

Example: Python agent

import requests

API_KEY = "aiv_abc123..."
BASE    = "https://aivaux.com"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# List all files
files = requests.get(f"{BASE}/files", headers=HEADERS).json()["files"]
print(f"Found {len(files)} files")

# Upload a new file
with open("report.pdf", "rb") as f:
    resp = requests.post(f"{BASE}/files/upload",
        headers=HEADERS, files={"files": f})
    print(resp.json())

# Create a folder and move a file into it
folder = requests.post(f"{BASE}/folders",
    headers=HEADERS, json={"name": "Reports"}).json()["folder"]
requests.patch(f"{BASE}/files/{files[0]['id']}/move",
    headers=HEADERS, json={"folder_id": folder["id"]})

Example: Node.js agent

const API_KEY = "aiv_abc123...";
const BASE    = "https://aivaux.com";
const headers = { "Authorization": `Bearer ${API_KEY}` };

// List files
const { files } = await fetch(`${BASE}/files`, { headers }).then(r => r.json());
console.log(`Found ${files.length} files`);

// Upload a file
const form = new FormData();
form.append("files", new Blob(["hello world"]), "hello.txt");
await fetch(`${BASE}/files/upload`, { method: "POST", headers, body: form });

// Check storage quota
const quota = await fetch(`${BASE}/account/quota`, { headers }).then(r => r.json());
console.log(`Using ${quota.used_bytes} of ${quota.quota_bytes} bytes`);

Full API reference.

All endpoints accept and return JSON. Base URL: https://aivaux.com

Authentication — two options:
Option 1 — API Key (recommended for agents): Generate a key at POST /account/api-keys, then include Authorization: Bearer aiv_xxx on every request. No cookies needed.
Option 2 — Session cookie: Call POST /auth/login to get a session cookie that authenticates subsequent requests. Include Content-Type: application/json on requests with a body.
POST /auth/register

Create a new account.

Request
curl -X POST https://aivaux.com/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "username": "alice",
    "email": "[email protected]",
    "password": "securePass123"
  }'
Response 201
{ "success": true }
POST /auth/login

Log in and receive a session cookie.

Request
curl -X POST https://aivaux.com/auth/login \
  -H "Content-Type: application/json" \
  -c cookies.txt \
  -d '{
    "username": "alice",
    "password": "securePass123"
  }'
Response 200
{ "success": true }
DELETE /account

Permanently delete your account and all files.

Request
curl -X DELETE https://aivaux.com/account \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{ "password": "securePass123" }'
Response 200
{ "success": true }
POST /files/upload

Upload one or more files (up to 100 MB each, 20 files per request).

Request
curl -X POST https://aivaux.com/files/upload \
  -b cookies.txt \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "folder_id=3"
Response 201
{
  "success": true,
  "files": [
    {
      "id": 12,
      "original_name": "report.pdf",
      "mime_type": "application/pdf",
      "size_bytes": 204800,
      "uploaded_at": "2026-03-08 14:30:00"
    }
  ]
}
PUT /files/:id

Replace a file's content. The filename and ID are preserved; only the content changes.

Request
curl -X PUT https://aivaux.com/files/12 \
  -b cookies.txt \
  -F "[email protected]"
Response 200
{
  "success": true,
  "file": {
    "id": 12,
    "original_name": "report.pdf",
    "mime_type": "application/pdf",
    "size_bytes": 310200,
    "uploaded_at": "2026-03-08 15:12:00"
  }
}
GET /files/download/:id

Download a file by ID. Supports Range headers for partial downloads.

Request
curl https://aivaux.com/files/download/12 \
  -b cookies.txt \
  -o report.pdf
Response 200
Binary file content
(Content-Disposition: attachment)
GET /files

List files with optional search and filters.

Request
curl "https://aivaux.com/files?folder_id=root&q=report&mime=application/pdf" \
  -b cookies.txt
Response 200
{
  "files": [
    {
      "id": 12,
      "original_name": "report.pdf",
      "mime_type": "application/pdf",
      "size_bytes": 204800,
      "uploaded_at": "2026-03-08 14:30:00",
      "folder_id": null,
      "tags": "[\"document\",\"report\"]"
    }
  ]
}
DELETE /files/:id

Move a file to trash (soft delete). Recoverable from the Trash view.

Request
curl -X DELETE https://aivaux.com/files/12 \
  -b cookies.txt
Response 200
{ "success": true }
PATCH /files/:id/rename

Rename a file.

Request
curl -X PATCH https://aivaux.com/files/12/rename \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{ "name": "quarterly-report.pdf" }'
Response 200
{ "success": true }
PATCH /files/:id/move

Move a file to a different folder. Set folder_id to null for root.

Request
curl -X PATCH https://aivaux.com/files/12/move \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{ "folder_id": 5 }'
Response 200
{ "success": true }

Common Error Responses

400 Bad request — missing or invalid parameters
401 Not authenticated — login first or session expired
404 Resource not found — wrong ID or deleted
409 Conflict — duplicate username, email, or file name
413 Storage quota exceeded — delete files or upgrade

Start free. Scale when you need to.

A generous free tier for individuals, and an AI-powered Premium plan for power users.

Free
$0 /mo

20 GB storage, all core features, forever free.

Get Started
👑 Premium
$9.9 /mo

100 GB storage + all 6 AI features unlocked.

See Premium →
Compare all features in detail →

Your files deserve a smarter home.

Join aivaux today — free to start, powerful when you need it. No credit card, no setup, no friction.

Already have an account? Log in →