Self-hosted trial with cloud services

Overview

A self-hosted trial provides access to TinyMCE premium plugins in a self-hosted environment. Integrators can optionally connect to Tiny Cloud services during the trial to evaluate server-side features such as Spell Checker Pro, Export to PDF, and TinyMCE AI, without requiring a separate server-side deployment or additional scripts. Connecting to cloud services is opt-in. Setting the online_license_services_opt_in option to true enables the connection. Without this option, the editor is licensed and operational but cloud-dependent premium plugins are not auto-configured.

Only new customers can start a self-hosted trial. For trial duration and entitlement details, see the Tiny Cloud Account portal.

Prerequisites

  • A TinyMCE account with an active trial. Sign up at Get TinyMCE.

  • A trial license key, issued from the 'Self-hosted' tab of the Customer Portal.

  • Node.js (and npm) installed.

  • A project directory with a package.json file. Initialize one by running npm init if needed.

  • A secure context: the page must be served over HTTPS or from localhost. Trial license keys require a secure context to complete key validation.

Setup

Step 1: Install TinyMCE and premium plugins

Install both the core editor and premium plugins package:

npm install tinymce@^8 tinymce-premium@^8

Step 2: Configure the editor with the trial license key

Add the trial license key to the TinyMCE configuration using the license_key option. Setting online_license_services_opt_in to true connects the editor to Tiny Cloud services, so that cloud-dependent premium plugins are auto-configured for the duration of the trial:

tinymce.init({
  selector: 'textarea',  // change this value according to the HTML
  license_key: 'your-trial-license-key',  // trial license key from the Self-hosted tab
  plugins: [
    'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview',
    'anchor', 'searchreplace', 'visualblocks', 'code', 'fullscreen',
    'insertdatetime', 'media', 'table', 'help', 'wordcount',
    'tinymcespellchecker', 'exportpdf', 'exportword', 'importword',
    'linkchecker', 'mediaembed', 'editimage', 'autocorrect', 'tinymceai'
  ],
  toolbar: 'undo redo | blocks | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | help',
  online_license_services_opt_in: true,
  tinymceai_token_provider: async () => {  // 'no-api-key' is replaced with the Cloud API key once the account is created
    await fetch(`https://demo.api.tiny.cloud/1/no-api-key/auth/random`, { method: 'POST', credentials: 'include' });
    return await fetch(`https://demo.api.tiny.cloud/1/no-api-key/jwt/tinymceai`, { credentials: 'include' })
      .then(resp => resp.text())
      .then(token => ({ token }));
  }
});

Replace the 'your-trial-license-key' placeholder with the trial license key issued from the Self-hosted tab of the Customer Portal. The token provider URL uses no-api-key, a Cloud API key visible on the Cloud tab of the Customer Portal. The placeholder is automatically replaced with the Cloud API key by visiting the Customer Portal.

Without online_license_services_opt_in, the trial license key still validates and the editor remains fully functional, but cloud-dependent plugins (such as Spell Checker Pro, Link Checker, and Export to PDF) are not auto-configured and report that their service URL is not set.

Setting online_license_services_opt_in to true enables a network connection from the editor to Tiny Cloud. Remove this option or set it to false to disable the cloud connection at any time.

Most cloud-powered plugins work automatically once online_license_services_opt_in is set to true. Some plugins require additional configuration. For example, TinyMCE AI requires a tinymceai_token_provider function, shown above using the trial demo identity service. The token provider URL uses no-api-key, which is automatically replaced with the trial API key from the Cloud tab of the Customer Portal once the account is created. This is a separate key from the trial license key. For details, see TinyMCE AI trial demo identity service. Check the documentation for each plugin in use for any additional setup it requires.

Step 3: Ensure the license key manager is available

The tinymce-premium NPM package includes the license key manager. If bundling TinyMCE, ensure the license key manager is imported:

import 'tinymce-premium/plugins/licensekeymanager';

For hosting setups, ensure the licensekeymanager folder is present in the plugins directory alongside all other plugins. For more details, see Setting up the Commercial License Key Manager.

Cloud-powered features

The following premium features require a connection to Tiny Cloud services and will only function when online_license_services_opt_in is set to true:

Feature Description

Spell Checker Pro

Real-time spellchecking powered by cloud-based language services.

Link Checker

Validates hyperlinks within content using a cloud-based link validation service.

Enhanced Media Embed

Rich media previews for URLs using a cloud-based media resolution service.

Export to PDF

Converts editor content to PDF format using a cloud-based conversion service.

Export to Word

Converts editor content to DOCX format using a cloud-based conversion service.

Import from Word

Imports DOCX content into the editor using a cloud-based conversion service.

Image Editing

Advanced image editing with cloud-based image proxy support.

TinyMCE AI

AI-powered content generation and editing.

All other premium plugins included in the tinymce-premium package function during the trial without a cloud connection.

For the full list of features included in a trial, see the Tiny Cloud Account portal.

Network requirements

When online_license_services_opt_in is enabled, the editor connects to Tiny Cloud services at *.api.tiny.cloud. Ensure that this domain pattern is allowed for outbound HTTPS access if the network uses a forward proxy or firewall.

For detailed Content Security Policy (CSP) configuration, see TinyMCE and Content Security Policy.

Trial limitations

Limitation Details

Duration

The trial period begins at sign-up. For the current trial duration, see the Tiny Cloud Account portal.

Eligibility

New customers only. Existing customers with an active subscription are not eligible for a self-hosted trial.

After expiry

The editor ceases to function when the trial license key expires. Purchase a commercial license to continue using TinyMCE.

Cloud services

Cloud-powered features require an active internet connection and the online_license_services_opt_in option set to true. Without this option, cloud-dependent plugins are not auto-configured.

After the trial

To continue using TinyMCE after the trial period:

  • Purchase a commercial license: Visit TinyMCE Pricing to select a plan. A commercial license key is provided for ongoing self-hosted use.

  • Self-hosted premium services: For production use of features such as Spell Checker, Export to PDF, and Import from Word, self-host the required server-side services or use a Tiny Cloud plan. See Premium server-side services for self-hosting options.

  • Cloud deployment: Alternatively, switch to a fully cloud-hosted deployment. See Cloud deployment for setup instructions.

FAQ

Question Answer

Does the trial require an API key?

The trial license key is all that is required for the editor and for most cloud-powered plugins. A separate Cloud API key is needed only to authenticate TinyMCE AI through the demo identity service.

Can the cloud connection be disabled?

Yes. Remove the online_license_services_opt_in option or set it to false. Cloud-powered features will not be auto-configured, but the editor and all self-hosted plugins will continue to operate.

What happens when the trial expires?

TinyMCE disables the editor and displays a notification indicating that the license key has expired. Purchase a commercial license to continue use.

Is a separate script tag required for cloud services?

No. Unlike a hybrid deployment, the self-hosted trial does not require an additional script tag. The online_license_services_opt_in option and the trial license key handle all cloud service connectivity.

Which plugins work without cloud services?

All premium plugins that do not depend on an external service function during the trial regardless of the online_license_services_opt_in option value. Only the features listed in Cloud-powered features require the cloud connection to be enabled.

Can the trial be extended?

Trial extensions are not available through self-service. Contact TinyMCE Support for assistance.