Composio

A VideoGen custom toolkit for Composio agents.

composio-videogen is the official Composio custom toolkit for VideoGen. One call returns a Composio custom toolkit with the full set of VideoGen tools, ready to attach to a Composio session. Your agent can turn a script into a finished narrated video, plus generate standalone images, video clips, voiceovers, sound effects, music, and talking-head avatars.

Every tool wraps the official videogen SDK and runs as the team that owns your API key.

Install

$pip install composio-videogen

Setup

Get an API key from app.videogen.io/developers and set it as VIDEOGEN_API_KEY:

$export VIDEOGEN_API_KEY="sk_videogen_live_..."

Usage

create_videogen_toolkit() returns a Composio custom toolkit. Attach it to a session with experimental={"custom_toolkits": [...]}, and session.tools() returns your VideoGen tools alongside any other Composio tools.

1from composio import Composio
2from composio_videogen import create_videogen_toolkit
3
4composio = Composio()
5videogen = create_videogen_toolkit(composio)
6
7session = composio.create(
8 user_id="default",
9 experimental={"custom_toolkits": [videogen]},
10)
11
12tools = session.tools()

By default each tool blocks until the workflow run or tool execution reaches a terminal state (succeeded, failed, or cancelled) and returns the finished result.

Options

create_videogen_toolkit reads VIDEOGEN_API_KEY from the environment by default. Pass options to override:

1from videogen import VideoGen
2from composio_videogen import create_videogen_toolkit
3
4videogen = create_videogen_toolkit(
5 composio,
6 client=VideoGen(api_key="sk_videogen_live_..."),
7 wait=False,
8 include=["script_to_video", "generate_image", "text_to_speech"],
9)
OptionDefaultDescription
composioA Composio client. When provided, the toolkit is created via composio.experimental.Toolkit; otherwise the toolkit class is used directly.
clientA pre-configured VideoGen client.
api_keyVIDEOGEN_API_KEYAPI key used to build a client when client is omitted.
base_urlVIDEOGEN_BASE_URL or https://api.videogen.ioOverride the API base URL.
waitTrueBlock until the operation finishes and return the result. Set False to return immediately with the run/execution id.
poll_interval_msHow often to poll while waiting, in milliseconds.
timeout_msMaximum time to wait for a terminal state before giving up, in milliseconds.
includeall toolsRestrict the registered tools to these tool names.

When wait is False, use the matching get_* tool (e.g. get_workflow_run, get_tool_execution) to poll the returned id yourself.

Tools

The toolkit registers 34 tools. Tool names are snake_case (e.g. script_to_video, generate_image); parameters match the corresponding VideoGen SDK method. Composio exposes each with a LOCAL_VIDEOGEN_ prefix on its slug.

  • Workflows (end-to-end video): script_to_video, voiceover_to_video, slideshow_to_video, storyboard_to_video, list_workflow_runs, get_workflow_run, cancel_workflow_run
  • Media generation: generate_image, generate_video_clip, text_to_speech, generate_sound_effect, generate_music, generate_avatar, vectorize_image, remove_image_background, remove_video_background, upscale_image, upscale_video, image_3d_effect, list_tool_executions, get_tool_execution, cancel_tool_execution
  • Projects: list_projects, get_project, export_project, remix_project, list_project_remix_actions
  • Files: upload_file, get_file, list_files
  • Resources & account: list_avatar_presenters, list_tts_voices, list_languages, get_me

For the full parameter list of each tool, see the MCP server reference — the same tools are exposed there — and the REST API reference.