Skip to content

Embedded Widget

The embedded widget is the simplest way to put a Runway Character on your website. Drop a single script tag into your HTML and your visitors can start a video conversation — no backend, no React, no API key management on the client.

Helpful links:

WidgetReact SDK
SetupOne script tagServer route + React
Server requiredNoYes
CustomizationPortal configFull programmatic control
Best forMarketing & support pagesCustom apps, integrations

Use the widget when you want the lowest-effort integration. Use the React SDK when you need full control over the UI and session lifecycle.

Go to the Developer Portal and click into the Character you want to embed.

Character detail page in the Developer Portal

Navigate to the Embed tab. Add at least one allowed origin (e.g. http://localhost:3000 for local development), then adjust limits and styling to suit your site. See Configuration below for details on each setting.

Embed tab showing the embed code snippet, allowed origins, and interface settings

Use the Preview to check your changes, then copy the script tag shown at the top of the page.

Widget preview with the launcher visible in the bottom-right corner

Paste the snippet into your site’s HTML, before the closing </body> tag:

<script
src="https://cdn.runwayml.com/v1/embeds/widget.js"
data-pub-key="pub_..."
></script>

That’s it — reload the page and the widget launcher appears in the corner. Your visitors can click it to start a conversation with your Character.

All configuration is managed through the Embed tab in the Developer Portal.

The widget only loads on origins you explicitly allow. Add your production domain (and any staging/preview domains) in the Allowed origins section.

Requests from unlisted origins are rejected.

SettingDescription
Max DurationMaximum session length in seconds (default: 120)
Max DailyMaximum number of calls per day

Customize the widget’s look and feel to match your brand:

  • Icon — use the default icon or upload a custom image
  • Label — toggle a text label next to the icon (e.g. “Need help?”)
  • Colors — set icon/label color, background color, CTA colors
  • CTA copy — customize the call-to-action text (e.g. “Ask anything”)
  • Layout — choose between compact and full expanded views, and whether the widget starts expanded
  • Video call — choose between circle and full video call shapes
  • Placement — position the widget (e.g. bottom right)
  • Share screen automatically — when enabled, the visitor’s screen is shared with the Character automatically when a call starts
  • Widget not loading: Make sure the page’s origin is in the Allowed origins list. The origin must match exactly, including protocol and port.
  • Script tag placement: The <script> tag should appear before the closing </body> tag so the page content loads first.
  • No credits: Make sure the developer account has credits before visitors can start a call.