---
title: "Generate Project"
method: POST
path: "/api/projects/generate"
tags: ["plan"]
---

# Generate Project

`POST /api/projects/generate`

Generate a project after plan confirmation.

This endpoint:
1. Creates the project record in the database with status "generating"
2. If voiceover is enabled, generates and streams the script
3. Returns the project ID for subsequent processing

Args:
    session_id: Session ID for Socket.IO room
    project_id: Client-generated project ID
    plan: The confirmed plan text
    scope_data: JSON string with scope parameters (title, style, motionGraphicsStyle, aspectRatio, length, voiceover)
    prompt: The original user prompt
    augmented_assets: Optional JSON array of augmented asset data
    current_user: Authenticated user info
    db: Database session
    
Returns:
    GenerateResponse with the project ID

## Response `200`

Successful Response

- GenerateResponse — Response model for project generation endpoint.
  - `success` boolean, required
  - `project_id` string, required
  - `message` string, nullable
  - `error` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/latted/apis/motion-graphics-designer-api.md) · [All operations](https://skmtc.dev/latted/apis/motion-graphics-designer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/latted/motion-graphics-designer-api/revisions/36d149b525df/schema)
