API referenceProjects

Fork a project, or freeze a snapshot of it

Copy a project into a NEW project that continues on its own, keeping the lineage.

Chapters, script, pauses, scenes and their compositions, music, theme, captions, bible and characters come along; voice and media are shared by URL (every voice take is kept). History, comments, costs, renders and shares are not copied. kind: "snapshot" makes a frozen, archived copy; restore one by forking it. Counts toward the plan's project limit. Free.

POST
/projects/{id}/forks

Authorization

bearerAuth
AuthorizationBearer <token>

Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….

In: header

Path Parameters

id*string
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/forks" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {
    "project_id": "string",
    "forked_from_project_id": "string",
    "kind": "fork",
    "chapters": 0,
    "scenes": 0
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}