API reference

API reference · Account

One idea to a finished film

POST/api/studio/filmSigned in session

Holds the shots' and the music's total whole, writes the plan with a chat model billed to the account (its cost in x-antimatter-cost-micros), then makes the shots and the music as one render plan under that hold. Any refusal before the plan stands releases the hold and nothing is made. The browser lays the cut once every take has landed. Same origin only.

Request body

application/json, required

Request body fields
FieldTypeWhat it is
idearequiredstringThe idea, a sentence or a paragraph. At most 4000 characters.
shotsrequiredintegerFrom 1 to 12.
secondsrequirednumberSeconds a shot, held to the model's own lengths.
modelrequiredstringThe video model every shot is made on: one that makes a shot from words alone.
stylestringAt most 500 characters.
aspectrequiredstringOne of "16:9", "9:16", "1:1".
musicrequiredobjectMade by a priced music model ({kind: model, model}), the person's own file ({kind: own}) or none.
music.kindrequiredstringOne of "model", "own", "none".
music.modelstring
project_idstringThe account's id of the film it is made in, stp_ followed by hex (POST only).

Example

{
  "idea": "string",
  "shots": 1,
  "seconds": 0,
  "model": "antimatter/auto",
  "aspect": "16:9",
  "music": {
    "kind": "model",
    "model": "antimatter/auto"
  }
}

Answer 201

The plan as written and the render plan making it.

Fields of the 201 answer
FieldTypeWhat it is
objectstringOne of "studio.film".
titlestring
shotsarray of object
shots[].titlestring
shots[].promptstring
shots[].camerastring or null
shots[].lookstring or null
shots[].secondsnumber
shots[].modelstring or null
shots[].voiceoverstring
music_promptstring or null
music_secondsnumber
writing_microsintegerBilled micro USD of the writing, every attempt counted.
writer_modelstring
writer_namestring
planobject
plan.idstring
plan.objectstringOne of "studio.plan".
plan.project_idstring
plan.statusstringOne of "running", "completed", "cancelled".
plan.quote_microsintegerThe total the balance was checked against.
plan.microsintegerSettled shots' charges plus running shots' holds.
plan.countsobject
plan.shotsarray of object
plan.shots[].idstring
plan.shots[].objectstringOne of "studio.shot".
plan.shots[].indexinteger
plan.shots[].titlestring or null
plan.shots[].modelstring
plan.shots[].statusstringOne of "waiting", "starting", "running", "completed", "failed", "cancelled".
plan.shots[].microsintegerThe quote while it waits, the job's hold while it runs, the charge once done.
plan.shots[].job_idstring or null
plan.shots[].jobobject or nullThe shot's job, as /api/studio/jobs answers it.
plan.shots[].errorobject or null
plan.shots[].error.codestring
plan.shots[].error.messagestring
plan.shots[].created_atinteger
plan.shots[].started_atinteger or null
plan.shots[].finished_atinteger or null
plan.created_atinteger
plan.finished_atinteger or null
music_indexinteger or nullThe plan's index of the music.

Errors

  • 400OpenAI shaped error.
  • 401OpenAI shaped error.
  • 402OpenAI shaped error.
  • 403OpenAI shaped error.
  • 404OpenAI shaped error.
  • 429OpenAI shaped error.
  • 502OpenAI shaped error.
  • 503OpenAI shaped error.

Every error answers in one shape, with its type, code and the field it names. The whole list is in the docs' Errors section.

Antimatter