plugin for Flutter

A Flutter plugin that wraps the native API SDKs, for hosting and managing media assets (videos and images).

Security warning

This method stores your publitio API key and secret on the client. This has security implications. Unless you're OK with all your files being theoretically available to all clients to view and modify, you should either call publitio from the server side (without this plugin), or use a method that supports serverless auth like I describe here

Getting started

See the example directory for a complete sample app showing video upload and playback. Works on iOS and Android.

For a more advance example, check out

To run the example app you'll need credentials:

  1. Create a free account at, and get your credentials from the dashboard.
  2. Put your API key and secret in example/ios/Runner/Info.plist, and in example/lib/main.dart (replace the text "YOUR_API_KEY" and "YOUR_API_SECRET" respectively)
  3. Run the example by typing flutter run from the example directory.


Add flutter_publitio as a dependency in your pubspec.yaml.


await FlutterPublitio.configure("YOUR_API_KEY", "YOUR_API_SECRET");


final uploadOptions = {
    "privacy": "1", // Marks file as publicly accessible
    "option_download": "1", // Can be downloaded by anyone
    "option_transform": "1" // Url transforms enabled
final response = await FlutterPublitio.uploadFile("file path", uploadOptions);



This plugin currently supports the uploadFile function. If you need more functions, please let me know by opening an issue (or make a PR 😜)