File Storage
Docs menu

Rich-text editor plugins

Load the CDN SDK, then the editor plugin. Each opens FileStorageSDK.openFilePicker and inserts the selected file URL.

TinyMCE

<script src="https://cdn.filestorage.io/file-storage.min.js"></script>
<script src="https://cdn.filestorage.io/plugins/tinymce/plugin.js"></script>
<script>
  tinymce.init({
    selector: '#editor',
    plugins: 'filestorage',
    toolbar: 'filestorage',
    filestorage: {
      apiKey: 'fs_live_…',
      s3: { proxyBaseUrl: 'https://your-proxy.example' },
    },
  })
</script>

CKEditor 5

<script src="https://cdn.filestorage.io/plugins/ckeditor5/filestorage.js"></script>
<script>
  // After ClassicEditor.create(el, { toolbar: { items: [..., 'filestorage'] } })
  FileStorageCKEditor.createButton(editor, {
    apiKey: 'fs_live_…',
    s3: { proxyBaseUrl: 'https://your-proxy.example' },
  })
</script>

Froala

<script src="https://cdn.filestorage.io/plugins/froala/filestorage.js"></script>
<script>
  FileStorageFroala.register(FroalaEditor, {
    apiKey: 'fs_live_…',
    s3: { proxyBaseUrl: 'https://your-proxy.example' },
  })
  new FroalaEditor('#editor', { toolbarButtons: ['filestorage', '|', 'bold', 'italic'] })
</script>

Drupal, Joomla, Laravel, and Symfony packages use the same HTTP contract / mount API — see the integration guide.