• AI reference · Area media

update_asset

Update asset. Change a piece's words, where it is filed, its score tags, or its paid calls.

Where it is

In the media area (films, carousels and pictures in the media library): open it with tools_for { area: "media" }, then call it with use_tool { name: "update_asset", args }.

Does it need a yes?

Runs at once, no yes card: it changes only the office's own working state, and nothing reaches anyone. Here: the library's own fields.

Inputs

InputTypeNeededAbout
assetIdstringyesformat `^[a-z0-9][a-z0-9-]{0,159}$`
titlestringno3 to 120 characters
projectstringnoThe piece's project, e.g. "Film · First client" · 3 to 120 characters
departmentstringnoThe department this piece is for, e.g. marketing · format `^[a-z0-9-]{1,40}$`
notesstringnoup to 20,000 characters
captionstringnoup to 5,000 characters
seriesstringnoup to 80 characters
orderintegerno0 to 999
kindLabelstringnoup to 80 characters
changeNotestringnoup to 300 characters
tagsarray of stringnoup to 20 items
spendarray of objectnoPaid calls that made this piece. Append-only, one line per request id · up to 100 items
spend[].whatstringyesWhat was paid for, e.g. 'Voice-over' · 1 to 200 characters
spend[].usdnumberyesCost in US dollars, 0 to 100 · 0 to 100
spend[].provider"fal" | "higgsfield" | "elevenlabs" | "openai" | "anthropic" | "google" | "other"yesWho was paid
spend[].modelstringnoThe model or voice used · 1 to 120 characters
spend[].requestIdstringyesThe provider's request id. The same id with the same details changes nothing · 1 to 120 characters
spend[].atstringnoWhen it was made (default now) · up to 40 characters
spend[].editIdstringnoformat `^[a-f0-9]{24}$`
moodsarray of stringnoMusic: how it feels, e.g. calm, hopeful · up to 40 items
usesarray of stringnoMusic: what it is for, e.g. bed under talk, intro · up to 40 items
energy"low" | "mid" | "high"noMusic: low, mid or high
bpmnumbernoMusic: tempo, 30 to 300 · 30 to 300
musicalKeystringnoMusic: key, e.g. 'Am' or 'F# maj' · 1 to 8 characters
loopsCleanlybooleannoMusic: the end joins the start without a click
madeBy"agent" | "owner"noWho made the music: agent or owner
scoreType"background" | "full" | "agent-buildup"noMusic: background, full or agent-buildup. Music: background (a bed under talk), full (a complete piece), agent-buildup (an agent built it)
derivedFromobjectnoMusic fitted from another piece. Its id, revision and the target length.
derivedFrom.itemIdstringyes1 to 160 characters
derivedFrom.revisionintegeryes0 or more
derivedFrom.targetSecondsnumberyes1 to 7200
derivedFrom.endOnPhrasebooleanno
composedFromobjectnoMusic built from these sources and packs
composedFrom.sourceIdsarray of stringnoup to 20 items
composedFrom.packIdsarray of stringnoup to 20 items
importedSourceobjectnoBought or borrowed music: its source and licence
importedSource.namestringyes1 to 200 characters
importedSource.referencestringyes1 to 2,000 characters
importedSource.licensestringyes1 to 2,000 characters
agentOkfalsenofalse takes it off the agent music shelf. Only the owner puts music on, in the app
agentstringnoup to 120 characters
taskintegernoThe task this work is for, so the owner sees it there. · 1 or more
run_idstringnoYour run id from the connector's start, so the output ties back to this session · format `^[A-Za-z0-9_.:@-]{1,120}$`

Example

{
  "name": "update_asset",
  "arguments": {
    "assetId": "assetId"
  }
}

When it is refused

  • invalid: The input isn't right. The sentence names the field and the fix; nothing was done. Fix it and call again.
  • not_found: No such thing in this company (a task, file, person, record). Check the number or name, or list first.
  • not_allowed: Not without another step: the owner's yes, your own task held with pick_up, or a setting the owner turns on. The sentence says which.
  • taken: Someone else holds it (another AI on that task). Pick another task.
  • stale: It changed since you read it. Read it again and use the new version.
  • failed: On our side or a service's, never your input. Try again in a minute; if it keeps failing, call report_problem.