Replace a scene's named moments
Named moments on a scene.
A cue does NOTHING on its own — it is an ADDRESS, so something else can be told to fire on it.
Today the brand mark reads them: PUT /projects/{id}/branding with formula: "ghost" rests the mark low and lifts it on hit:<name>, which is how a subscribe bump lands on the exact word rather than on a beat.
at is seconds from the scene start, or a moment on the scene's own rulers — word:subscribe, word:#4, bar:3, beat:7, cam:hero, end-2, with +0.25 / +1b / +2B offsets. Prefer the moment form: a cue pinned to a word survives a re-cut of the narration and one pinned to 4.2s does not. It resolves at render against the scene's measured grid, and a cue that does not resolve is dropped rather than firing at zero.
The list is REPLACED, not merged.
Authorization
bearerAuth Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/scenes/497f6eca-6276-4993-bfeb-53cbbbba6f08/cues" \ -H "Content-Type: application/json" \ -d '{ "cues": [ { "name": "subscribe", "at": "word:subscribe" } ] }'{
"data": {
"scene_id": "861eef56-1159-4a95-802f-abab2d0cc192",
"cues": [
{
"name": "subscribe",
"at": "word:subscribe"
}
]
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}{
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}