# Openinary Docs
- [Openinary](https://docs.openinary.dev/index.md): Open-source alternative to Cloudinary. Resize, crop, convert and deliver images and video on the fly, from a URL. Hosted or self-hosted.
- [Cloud Quickstart](https://docs.openinary.dev/cloud/quickstart.md): Create your Openinary Cloud account, mint an API key, upload your first file, and deliver a transformed URL, in about five minutes.
- [Quick Start](https://docs.openinary.dev/quickstart.md): Install Openinary with one command, create an admin account, and make your first image transformation.
- [Migrate from Cloudinary](https://docs.openinary.dev/migrate-from-cloudinary.md): Copy your files, switch your uploads and update your URLs. Five steps, the same for ten images or a million.
- [How Transformations Work](https://docs.openinary.dev/media-transformations/overview.md): URL structure for on-the-fly image and video transformations, caching behavior, and cache invalidation with Openinary.
- [Image Transformations](https://docs.openinary.dev/media-transformations/image-transformations.md): Common image recipes: thumbnails, avatars, banners, and format conversion
- [Video Transformations](https://docs.openinary.dev/media-transformations/video-transformations.md): Common video recipes: resizing, trimming, poster frames, and what the 202 means
- [Automatic Format Selection](https://docs.openinary.dev/media-transformations/intelligent-compression.md): How Openinary picks AVIF, WebP, or JPEG from browser support, what f_auto changes, and how to force a format with the f parameter.
- [Upload & Cache Warming](https://docs.openinary.dev/media-transformations/upload-and-prewarm.md): Upload images and videos via the API and pre-generate transformed variants so the first public request is served instantly from cache.
- [Signed URLs](https://docs.openinary.dev/media-transformations/signed-urls.md): Restrict transformation access with HMAC-signed URLs that cannot be forged or tampered with
- [](https://docs.openinary.dev/guides/file-uploader.md): Drop a secure, ready-to-use file uploader into any React app with a single shadcn/ui command. Uploads go straight to your Openinary instance using short-lived presigned signatures, no API key in the browser.
- [ on Cloud](https://docs.openinary.dev/cloud/file-uploader.md): Wire the Openinary React file uploader to Openinary Cloud: drag & drop uploads straight from the browser, with no API key in the bundle.
- [Integrate with Next.js](https://docs.openinary.dev/guides/integrate/nextjs.md): Add secure file uploads and media delivery to a Next.js App Router project, on Openinary Cloud or your own instance: a route handler mints a short-lived signature, the browser uploads with it, and your API key never leaves the server.
- [Integrate with React](https://docs.openinary.dev/guides/integrate/react.md): Add secure file uploads and media delivery to any React app, on Openinary Cloud or your own instance: your backend mints a short-lived signature, the browser uploads with it, and your API key never reaches the bundle.
- [Openinary Cloud](https://docs.openinary.dev/cloud/overview.md): Managed Openinary, hosted for you. Same transformation API, same upload API, no server to run. Currently in public alpha.
- [What differs on Cloud](https://docs.openinary.dev/cloud/api.md): The bucket prefix, the endpoints Cloud does not have, quota errors and rate limits. Everything else matches the shared API reference.
- [Server Configuration](https://docs.openinary.dev/configuration/server.md): Environment variables for server mode, secrets, CORS, upload limits, rate limiting and the admin bootstrap.
- [Storage](https://docs.openinary.dev/configuration/storage.md): Point Openinary at S3, R2, MinIO or any S3-compatible bucket
- [Video Processing](https://docs.openinary.dev/configuration/video-processing.md): Worker concurrency, retries, cleanup and the fixed encode limits
- [Docker Resources](https://docs.openinary.dev/configuration/docker-resources.md): CPU and memory limits for the Openinary container, and what to set them to per server size
- [Telemetry](https://docs.openinary.dev/configuration/telemetry.md): Exactly what anonymous usage data Openinary sends, where it goes, and how to turn it off
- [Deploy on Coolify](https://docs.openinary.dev/guides/coolify-deployment.md): Deploy Openinary on Coolify from the Docker image, with the ports, variables and volumes it needs.
- [Deploy on Dokploy](https://docs.openinary.dev/guides/dokploy-deployment.md): Deploy Openinary on Dokploy by importing a ready-made Compose configuration.
- [Deploy on Railway](https://docs.openinary.dev/guides/railway-deployment.md): One-click deploy on Railway, with a managed S3 bucket already connected.
- [Local Development](https://docs.openinary.dev/local-development.md): Run the Openinary monorepo from source, with the API on :3000 and the dashboard on :3001.
- [Security](https://docs.openinary.dev/security.md): Auth model, API keys, upload validation, container users and incident response.
- [Cloudinary vs Openinary](https://docs.openinary.dev/cloudinary-comparison.md): An honest, feature-by-feature comparison of what Cloudinary offers versus what Openinary supports today.
- [Project Structure](https://docs.openinary.dev/project-structure.md): Where everything lives in the Openinary monorepo, and which package owns what.
- [API Reference](https://docs.openinary.dev/api-reference/introduction.md): Base URL, authentication, rate limits and every endpoint, documented once for Cloud and self-hosted
- [Transform Media](https://docs.openinary.dev/api-reference/media/transform.md): Resize, crop, convert and trim media by putting parameters in the URL
- [Authenticated Transform](https://docs.openinary.dev/api-reference/media/authenticated-transform.md): Apply transformations via a signed URL that cannot be guessed or tampered with
- [Upload Files](https://docs.openinary.dev/api-reference/files/upload.md): Upload one or more media files, optionally pre-generating cached transformation variants
- [Sign Upload](https://docs.openinary.dev/api-reference/files/upload-sign.md): Mint a short-lived signature so a browser can upload directly to POST /upload without exposing your API key
- [Download Original File](https://docs.openinary.dev/api-reference/files/download.md): Download the original uploaded file without any transformation
- [Download Folder as ZIP](https://docs.openinary.dev/api-reference/files/download-folder.md): Download every file under a folder as a single ZIP archive
- [Download Multiple Items as ZIP](https://docs.openinary.dev/api-reference/files/download-zip.md): Bundle a mixed selection of files and folders into a single ZIP archive
- [Create Folder](https://docs.openinary.dev/api-reference/files/create-folder.md): Create an empty folder in storage
- [List Storage](https://docs.openinary.dev/api-reference/storage/list.md): List the folders and files in one storage level
- [List Folders](https://docs.openinary.dev/api-reference/storage/folders.md): Get every folder path in storage, for building a folder picker
- [Get File Metadata](https://docs.openinary.dev/api-reference/storage/metadata.md): Retrieve size and timestamps for a specific file
- [Rename File or Folder](https://docs.openinary.dev/api-reference/storage/rename.md): Rename a file or folder in place, without changing its parent location
- [Move File or Folder](https://docs.openinary.dev/api-reference/storage/move.md): Move a file or folder into a different parent folder
- [Copy File](https://docs.openinary.dev/api-reference/storage/copy.md): Duplicate a file inside its own folder
- [Delete File or Folder](https://docs.openinary.dev/api-reference/storage/delete.md): Permanently delete a file or folder, with all its cached transformation variants
- [Stats & Folder Summaries](https://docs.openinary.dev/api-reference/storage/stats.md): Aggregate storage and cache usage, and per-folder item counts with preview thumbnails
- [Invalidate Cache](https://docs.openinary.dev/api-reference/cache/invalidate.md): Clear cached transformation variants without deleting originals
- [Video Processing Status](https://docs.openinary.dev/api-reference/video/status.md): Poll the processing status of a queued video transformation
- [Queue Statistics](https://docs.openinary.dev/api-reference/queue/stats.md): Job counts per status for the video processing queue
- [Worker Statistics](https://docs.openinary.dev/api-reference/queue/worker-stats.md): Current state of the background video processing worker
- [Queue Jobs](https://docs.openinary.dev/api-reference/queue/jobs.md): List, retry, cancel, and delete video processing jobs
- [Queue Events (SSE)](https://docs.openinary.dev/api-reference/queue/events.md): Stream video processing job updates over Server-Sent Events
- [Create API Key](https://docs.openinary.dev/api-reference/api-keys/create.md): Generate a new API key for authenticating requests
- [List API Keys](https://docs.openinary.dev/api-reference/api-keys/list.md): Retrieve every API key on the account
- [Update API Key](https://docs.openinary.dev/api-reference/api-keys/update.md): Rename or enable/disable an existing API key
- [Delete API Key](https://docs.openinary.dev/api-reference/api-keys/delete.md): Permanently revoke an API key
- [Health](https://docs.openinary.dev/api-reference/health.md): Check server and database availability
- [Changelog](https://docs.openinary.dev/changelog.md): New features, improvements, and fixes shipped in Openinary
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.