---
title: "Create a project"
method: POST
path: "/projects"
tags: ["Projects"]
---

# Create a project

`POST /projects`

## Request

- Base URL: `https://api.vidmoat.com/v1`
- URL: `https://api.vidmoat.com/v1/projects`
- Auth: HTTP bearer

Create an empty 16:9, 1920x1080, 30 fps project, optionally applying a first batch of commands. Counts against the plan's project limit.

## Request body

- object
  - `name` string: Up to 80 characters.
  - `commands` object[]: Optional commands to apply straight after creation, with the same rules as [Apply commands](/developer/docs/api/projects/apply-commands). If they fail, the project is still created.

## Response `201`

Create a project

- object
  - `project` object: The new project, summary view.
    - `id` string: Project id.
    - `name` string: Project name.
    - `createdAt` string: ISO 8601 time.
    - `updatedAt` string: ISO 8601 time.
    - `durationSec` number: End of the last clip, in seconds.
    - `clipCount` integer: Number of clips on the timeline.
    - `settings` object: Output settings.
      - `aspectRatio` string: For example `16:9`.
      - `width` integer: Pixels.
      - `height` integer: Pixels.
      - `fps` number: Frames per second.
      - `background` string: CSS colour.
    - `workspace` object, nullable: The workspace it is filed in: `{ id, name }`, or `null`.
  - `results` unknown[]: Only when you sent `commands`. See Apply commands.
    - unknown

## Other responses

- `402`: `quota_exceeded`: The plan's project limit is reached.

---

[API](https://skmtc.dev/vidmoat/apis/vidmoat-api.md) · [All operations](https://skmtc.dev/vidmoat/apis/vidmoat-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vidmoat/apis/vidmoat-api/revisions/23e24e25c756?raw)
