ef-configuration is a context provider that configures Editframe elements within its subtree. Wrap your composition at the root level to set the API host and URL signing endpoint.
Image Proxy
By default, ef-image routes external http:// and https:// source URLs through the Editframe image proxy at /api/v1/assets/image?src=…. The proxy re-serves images from the Editframe origin so the canvas renderer can draw them without a CORS taint error, and it normalises content-type and caching headers.
Set image-proxy="none" when the compositor is embedded in an environment that has no Editframe backend (for example, a third-party CMS editor) and image sources already serve permissive CORS headers. In that mode ef-image fetches the source URL directly; the internal fetch → blob → canvas pipeline still avoids canvas taint as long as the image origin returns a valid CORS response.
<ef-configuration image-proxy="none">
<!-- ef-image elements fetch their src directly, no proxy needed -->
<ef-image src="https://your-cms.example.com/media/photo.jpg"></ef-image>
</ef-configuration>React:
import { Configuration, Image } from "@editframe/react";
<Configuration imageProxy="none">
<Image src="https://your-cms.example.com/media/photo.jpg" />
</Configuration>Failure modes
| Setting | Proxy unavailable | CORS headers absent on source |
|---|---|---|
"auto" (default) | Image request 404s; image missing from render | Proxy fetches successfully; image appears |
"none" | N/A — no proxy request is made | fetch throws; image missing from render, load error logged |
When image-proxy="none" and a source lacks CORS headers, the error surfaces explicitly as a failed fetch rather than a silent proxy 404, making misconfiguration easier to diagnose.
Attributes
api-host
- React prop
apiHost- Type
string- Default
""- Description
- Base URL of the Editframe API used for file/asset requests.
image-proxy
- React prop
imageProxy- Type
auto | none- Default
"auto"- Description
- Controls whether cross-origin
ef-imagesources are routed through the/api/v1/assets/imageproxy ("auto", default) or fetched directly ("none").
media-engine
- React prop
mediaEngine- Type
string- Default
"local"- Description
- Reserved for future engine switching; local rendering always uses the default codec set.
signing-url
- React prop
signingURL- Type
string- Default
"/@ef-sign-url"- Description
- URL used to request signed bearer tokens for authenticated cross-origin media access (default
"/@ef-sign-url", matching@editframe/elements).
Events
| Event | Detail | Description |
|---|---|---|
playback-attached | { controller: PlaybackController } | Fires when EFConfigurationElement#attachPlayback creates a new PlaybackController. This lets GUI controls that resolved their PlaybackBridge before the attach notice it without polling. |