- Get Started
- Programmable Media overview
- Developer kickstart
- SDK quick starts
- Try it!
- Video tutorial library
- Programmatic asset management
- Programmatic upload
- Upload programmatically
- Create upload presets
- Auto upload
- Auto-tag assets
- Moderate images with AI
- Upload images in Flutter
- Upload images in Node.js
- Upload multiple files in Node.js
- Upload videos in Node.js
- Upload images in Python
- Upload videos in Python
- Upload assets in a React app
- Upload assets in a Vue.js app
- Drag-and-drop uploads in React
- Upload assets in a Next.js app
- Upload assets with Server Actions
- Upload assets in Svelte
- Upload assets in a SvelteKit app
- Upload assets in a Remix app
- Use webhooks to remove backgrounds
- Interaction with Cloudinary APIs
- Cloudinary SDKs
- Find your credentials
- Configure the JavaScript SDK
- Configure the React SDK
- Configure the Flutter SDK
- Configure Svelte Cloudinary
- Configure the Javascript SDK in Svelte
- Configure the Node.js SDK
- Configure the Python SDK
- Configure the Go SDK
- Configure the Vue.js SDK
- Configure the Next.js SDK
- List images in Next.js
- Captioning on upload with Node.js
- Delete assets with Node.js
- Manage images in a Django app
- Cloudinary CLI
- Widgets
- Administration
- Programmatic upload
- Optimization and delivery
- Transformations
- Get started with transformations
- Advanced transformation features
- Text overlay transformations
- Complex transformations
- Named transformations
- Named transformations using TX Builder
- Advanced image components
- Trim videos in Node.js
- Splice videos in Node.js
- Zoompan effect
- Video transformations
- Crop and resize images in React
- Crop and resize videos in React
- Crop and resize images in Python
- Remove backgrounds and add drop shadows
- AI generative fill in Next.js
- Color accessibility in JavaScript
- Transformations for social media
- Dev Hints on YouTube
- Programmatic asset management
- Additional onboarding resources
- Guides
- Upload
- Transform and customize
- Image transformations
- Image transformations overview
- Resizing and cropping
- Placing layers on images
- Effects and enhancements
- Generative AI transformations
- Face-detection based transformations
- Custom focus areas
- Animated images
- Transformations on 3D models
- Conditional transformations
- User-defined variables and arithmetic transformations
- Custom functions
- Video transformations
- Eager and incoming transformations
- Media Editor widget
- How are transformations counted?
- Add-ons
- Image transformations
- Optimize and deliver
- Manage and analyze
- Video
- User-generated content
- AI in action
- Native mobile
- Add-ons
- Advanced Facial Attributes Detection
- Amazon Rekognition AI Moderation
- Amazon Rekognition Video Moderation
- Amazon Rekognition Auto Tagging
- Amazon Rekognition Celebrity Detection
- Aspose Document Conversion
- Cloudinary AI Background Removal
- Cloudinary AI Content Analysis
- Cloudinary AI Vision (Beta)
- Cloudinary Duplicate Image Detection
- Google AI Video Moderation
- Google AI Video Transcription
- Google Auto Tagging
- Google Automatic Video Tagging
- Google Translation
- Imagga Auto Tagging
- Imagga Crop and Scale
- Perception Point Malware Detection
- Microsoft Azure Video Indexer
- OCR Text Detection and Extraction
- Pixelz - Remove the Background
- URL2PNG Website Screenshots
- VIESUS™ Automatic Image Enhancement
- WebPurify Image Moderation
- References
- SDKs
- Release Notes
Last updated: Dec-12-2024
When using the Flutter SDK, you can use one of several options to upload files directly to Cloudinary without the need for server-side operations or authentication signatures.
Upload options
Upload endpoint
The upload endpoint is https://api.cloudinary.com/v1_1/<CLOUD_NAME>/upload
. To use the endpoint in your application, write a function that calls the Cloudinary upload
endpoint and pass:
- An unsigned upload preset with the upload method options you want to apply for all files
- The file(s) to upload
- Other unsigned upload parameters to apply to the selected files (e.g.
tags
, if needed).
For example:
Upload endpoint video tutorial
Watch this video tutorial to see how to upload images from your Flutter app to Cloudinary using the Upload API:
Tutorial contents
Upload widget
The Upload widget is a ready-made, responsive user interface that enables your users to upload files from a variety of sources directly to Cloudinary. You can customize and embed this UI in a WebView Flutter widget with just a few lines of code.
Check out the following Upload Widget code explorer that you can fork to try out some sample configuration changes:
This code is also available in GitHub.
Code examples
- Code sample: Implement the upload widget.
- CodeSandbox: Upload multiple files using a form in pure JavaScript using the Cloudinary upload endpoint.
✔️ Feedback sent!
Error
Unfortunately there's been an error sending your feedback.