Synthesia
Create AI-generated videos from text using Synthesia templates and avatars.
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("synthesia", "createVideo", {
"input_scriptText": "<input script text>",
"input_avatar": "<input avatar>",
"input_background": "green_screen"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Synthesia answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "synthesia-createvideo",
name: "Synthesia: Create video",
description: "Calls Synthesia when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("synthesia", {
"action": "createVideo",
"input_scriptText": "<input script text>",
"input_avatar": "<input avatar>",
"input_background": "green_screen"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/synthesia/createVideo" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"input_scriptText":"<input script text>","input_avatar":"<input avatar>","input_background":"green_screen"}}'Actions
createVideoin catalog
Create video. Create a video within your Synthesia account with one or more scenes
Also accepted as create_video.
| Input | Type | Description |
|---|---|---|
input_scriptTextrequired | long text | An array of scenes to be included in the video |
input_scriptAudioUrloptional | text | URL of the audio file to be used for the video script (optional) |
input_avatarrequired | text | The avatar to be used in the video https://docs.synthesia.io/reference/avatars) |
input_backgroundrequired | one of "green_screen" | "off_white" | "warm_white" | "light_pink" | "soft_pink" | "light_blue" | "dark_blue" | "soft_cyan" | "strong_cyan" | "light_orange" | "soft_orange" | "white_studio" | Background for the video. Can be a stock background, custom asset ID, or URL |
testoptional | boolean | If enabled, creates a test video with a watermark |
titleoptional | text | Custom title for the video (displayed on the share page) |
descriptionoptional | long text | Custom description for the video (displayed on the share page) |
visibilityoptional | one of "private" | "public" | Video visibility setting |
brandKitIdoptional | text | The ID of the brand kit to use (use "workspace_default" for default) |
callbackIdoptional | text | Arbitrary metadata/identifier for the video |
pushServiceUrloptional | text | Webhook URL for push notifications when video completes |
createAVideoFromATemplate
Create a video from a template. Create a video based on a template created in Synthesia
| Input | Type | Description |
|---|---|---|
templateIdrequired | id (picked from your account) | Select the template to use for video creation |
templateDataoptional | object | Key-value pairs for template variables. Keys must match variable names in the template (case-sensitive) |
testoptional | boolean | If enabled, creates a test video with a watermark |
titleoptional | text | Custom title for the video |
visibilityoptional | one of "private" | "public" | The visibility setting for the video |
descriptionoptional | long text | Custom description for the video |
brandKitIdoptional | text | The ID of the brand kit to use (use "workspace_default" for default) |
Details
- Id
synthesia- Category
- AI and ML
- Tags
- video, avatar, generation, ai, enterprise
- Package
@activepieces/piece-synthesia@0.1.4- Tier
- Community