Skip to content

Extensions, Services & Capabilities

An extension, a service, and a capability describe three different layers of the same setup. The extension provides functionality, the service stores shared configuration, and the capability is the operation you select for a task.

  1. Built in or installed

    Extension

    A package of code that can be built in or installed.

    Examples: translation, language detection, OCR, text processing, or actions for other tools.

  2. Stores configuration

    Service

    A configured instance created from an extension.

    It owns shared runtime settings such as an account, API key, provider, base URL, region, or files.

  3. Selected by tasks

    Capability

    A concrete operation under a service that you can choose in the app.

    A capability can be copied, renamed, sorted, and configured independently for different tasks.

One extension can create multiple services, and one service can contain multiple capability instances.

That is why the code that provides functionality, the shared configuration it uses, and the operation you select appear as separate objects.

How they fit together

You can install multiple extensions. A service holds one set of account, credentials, and shared configuration. The same extension can have multiple services. A capability can also be copied into multiple instances, each with different parameters.

Extension A
├─ Service A1: one account, credentials, and shared configuration
│  ├─ Translation capability 1: parameter set A
│  ├─ Translation capability 2: copied with parameter set B
│  └─ Language detection capability
└─ Service A2: another service configuration for Extension A
 └─ Translation capability 3

Extension B
└─ Service B1: an independently configured service from another extension
 ├─ OCR capability
 └─ Generic capability

Four capability types

Translation Translate text or look up words and phrases.
OCR Read text and text regions from images.
Language detection Identify the language used by a piece of text.
Generic capability Provide other operations that do not belong to the three capability types above.
  1. Use an extension included with Float Translate or install another extension.
  2. Add and configure a service from that extension. The service stores shared settings such as an account, API key, provider, base URL, region, or local files.
  3. Review the capability instances under that service. Enable the operations you need and complete any capability-specific options.
  4. Place each capability in a compatible location, such as the floating capsule, a panel, a shortcut, or a workflow.

One extension can support several services, and each service can provide several capability instances. Copying or configuring a capability separately gives you another operation with its own settings while the shared service configuration stays with the service.

Float Translate only offers a capability in locations that can provide the input and context it requires. A capability type describes its general role, but it does not guarantee that every capability of that type can be placed everywhere.

  • Input and output must connect. A text capability cannot process an image until OCR has produced text. In a workflow, the previous step’s output must match the next capability’s input.
  • The location must provide the required context. An action that works on a translation result needs a result to act on. An action that needs selected text may not be suitable for a shortcut that has no selection context.
  • The service and capability must be usable. Missing service configuration, a disabled capability, unavailable credentials, or unsupported language and app conditions can prevent a placed capability from running.

Placement compatibility answers where the capability can be added. Current availability answers whether it can run for this input right now. A capability can therefore be valid in a location but temporarily unavailable for a particular task.

  1. Confirm that its extension is enabled and its service exists.
  2. Check that the service configuration is complete and the capability instance is enabled.
  3. Check whether the target location can provide the input and context that the capability requires.
  4. In a workflow, check whether the previous step produces a compatible output.
  5. Add the capability from the settings for the location where you want to use it.

See Configure Capabilities for capability settings. For placement instructions, continue with Floating Capsule, Shortcuts, Translation Panel, or Create a Workflow.