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.

Embedded WidgetReact SDK
Setup effortOne script tagServer route + React components
Requires a serverNoYes (API key must stay server-side)
CustomizationPortal configurationFull programmatic control
Best forMarketing pages, landing pages, support portalsCustom apps, deep 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.

1. Configure your widget in the Developer Portal

Section titled “1. Configure your widget in the Developer Portal”

Go to the Developer Portal, open your Character, and navigate to the Embed tab. Here you can configure:

  • Allowed origins — restrict which domains can load the widget
  • Limits — set the maximum session duration and maximum daily calls
  • Interface — customize the widget’s appearance (colors, layout, CTA text, video call shape, placement)

Once configured, copy the embed code snippet shown at the top of the page.

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 — your visitors can now click the button 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