API referenceProjects

Read the project's conductor (tempo map)

The project's musical grid as a conductor: tempo points with curved ramps, signature changes, key changes, markers and an arrangement lane, anchored in musical position (q = quarter-notes from bar 1,

or bar + beat) so seconds are derived and an edit at bar 5 does not slide bar 9. PATCH /tempo (set_tempo) stays for flat edits and flattens ramps. Falls back to the v1 tempo migrated, then the grid the film was generated at, then 120 bpm 4/4. Includes edit_version.

GET
/projects/{id}/conductor

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

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/conductor"
{
  "data": {
    "conductor": {
      "version": 2,
      "originSec": 0,
      "keyScale": "string",
      "source": "default",
      "meter": {
        "beats": 1,
        "unit": 1
      },
      "signatures": [
        {
          "id": "string",
          "bar": 2,
          "beats": 0,
          "unit": 0,
          "label": "string"
        }
      ],
      "keys": [
        {
          "id": "string",
          "q": 0,
          "keyScale": "string"
        }
      ],
      "points": [
        {
          "id": "string",
          "q": 0,
          "bpm": 20,
          "curve": -1,
          "hold": true,
          "label": "string"
        }
      ],
      "markers": [
        {
          "id": "string",
          "q": 0,
          "label": "string",
          "color": "string"
        }
      ],
      "arrangement": [
        {
          "id": "string",
          "startBar": 0,
          "endBar": 0,
          "label": "string",
          "color": "string"
        }
      ],
      "warp": {
        "mode": "off",
        "nativeMapRef": "string"
      }
    },
    "origin": "conductor",
    "stale_v2": true,
    "has_ramps": true,
    "warnings": [
      "string"
    ],
    "edit_version": 0
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}