> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.videogen.io/getting-started/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.videogen.io/_mcp/server. # Getting started > Set up the VideoGen API: create an API key, install the TypeScript or Python SDK, and follow the linear path to generate, edit, and export a video. This guide walks you through everything you need to generate a finished video with the API. Set up your key and SDK below, then follow the three steps in order. ## 1. Get an API key Go to [app.videogen.io/api](https://app.videogen.io/api) and create an API key. The full key is only shown once, so copy and store it securely. Every request authenticates with a bearer token: ```bash Authorization: Bearer sk_videogen_live_... ``` See [Authentication](/authentication) for key safety and per-language setup. ## 2. Install the SDK #### TypeScript ```bash npm install @videogen/sdk ``` #### Python ```bash pip install videogen ``` #### cURL No installation needed. ## 3. Verify your key Before building, confirm your key works with a call to `GET /v1/me`. It takes no parameters and returns the account and team behind the key. #### TypeScript ```typescript import { VideoGen } from "@videogen/sdk"; const client = new VideoGen({ apiKey: "sk_videogen_live_..." }); const me = await client.account.getMe(); console.log(me?.apiKeyId, me?.apiKeyNickname, me?.email, me?.displayName, me?.teamId); ``` #### Python ```python from videogen import VideoGen client = VideoGen(api_key="sk_videogen_live_...") me = client.account.get_me() print(me["apiKeyId"], me["apiKeyNickname"], me["email"], me["displayName"], me["teamId"]) ``` #### cURL ```bash curl https://api.videogen.io/v1/me \ -H "Authorization: Bearer sk_videogen_live_..." ``` A `200` response with your `email` and `teamId` means the key is valid. A `401` means the key is missing or wrong. ## 4. Follow the flow Generating a video is a linear path of three steps. Work through them in order: ### Run a workflow Start a workflow from a script, voiceover, or slideshow. VideoGen builds the visuals, narration, and captions and creates a project. [Run a workflow](/run-a-workflow) ### Apply remix actions Optionally layer on edits: background music, a logo overlay, caption changes, or open-ended natural-language edits. [Apply remix actions](/apply-remix-actions) ### Export your video Render the finished project to an MP4 and download it. [Export your video](/export-your-video) ## What's next * [Workflows reference](/workflows): Every workflow, its inputs, and options. * [Handling async tasks](/handling-async-tasks): Polling and webhook patterns. * [REST API reference](/rest-api-reference): Full endpoint documentation. > HTTP API with TypeScript and Python SDKs for generating image, video, and audio assets with VideoGen. ## Docs - [Run a workflow](https://docs.videogen.io/run-a-workflow.md): Step one of the VideoGen flow: start a workflow with POST /v1/workflows/*, then poll the run until the video is ready. - [Apply remix actions](https://docs.videogen.io/apply-remix-actions.md): Step two of the VideoGen flow: apply remix actions (background music, logo, captions, transitions, natural-language edits) to a project. - [Export your video](https://docs.videogen.io/export-your-video.md): Step three of the VideoGen flow: export a project with POST /v1/projects/{projectId}/export, then poll or wait for project_export.* webhooks before downloading the MP4.