Skip to main content
PUT
Configure autopilot

Authorizations

Authorization
string
header
required

A workspace API key.

Path Parameters

brandId
string
required

The Brand this autopilot drives. GET /v1/brands lists them.

Required string length: 1 - 200
Example:

"brd_4b81"

Body

application/json
enabled
boolean

Whether this Brand's autopilot may run, scheduled or manual. false pauses it without deleting the configuration: scheduled runs stop, and POST /v1/autopilot-runs and the approval and retry of its runs answer 409 conflict until it is true again. Omitted on the first save it defaults to false; omitted later, the saved value is kept.

mode
enum<string>

draft_only asks before rendering; review_first asks before publishing; full_auto schedules without the normal approval checkpoint.

Available options:
draft_only,
review_first,
full_auto
runIntervalMinutes
integer

Minutes between eligible scheduled runs. 60 to 43,200.

Required range: 60 <= x <= 43200
timezone
string

IANA timezone used for schedules and quiet hours.

Required string length: 1 - 100
Example:

"Africa/Nairobi"

quietHours
object | null

Local time window during which publishing waits. Send null to remove quiet hours.

approvalSla
object

How long a pending human approval may wait and what happens next. A sent approvalSla replaces the saved one as a whole; omit it to keep the saved one.

caps
object

Safety and spend limits. A zero count disables that activity. Sent caps replace the saved caps; an omitted per-day cap means its default (3 videos, 12 posts per day). Omitting caps keeps the saved caps, or 3 videos, 12 posts and 25 USD per run on a new autopilot.

destinations
object[]

Where finished content should be published. An empty list generates the asset but does not publish it.

Maximum array length: 30
sourceClipIds
string[]

Ids of workspace source clips to edit: the contentId of each asset from GET /v1/assets. Omit to generate a new narrated video.

Maximum array length: 100
Required string length: 1 - 300
targetSeconds
integer

Target video length in seconds. 10 to 600.

Required range: 10 <= x <= 600
shortsCount
integer

With sourceClipIds: how many vertical shorts to cut beside the long video, each with burned captions and its own titles and description. 0 to 10; omitted means 3 on a new autopilot and keeps the saved value otherwise. Each output (the long video and every short) is one footage-edit unit, the same price as POST /v1/video/edit; a short that is not delivered is refunded at settlement. A source longer than 20 minutes adds one unit per started 20 minutes beyond the first, from the length the edit measures, charged when the run settles.

Required range: 0 <= x <= 10
trendWindowHours
integer

How many hours of observed trends the run may consider. 1 to 720.

Required range: 1 <= x <= 720
minTrendScore
number

Minimum trend score eligible for automatic selection. 0 to 100.

Required range: 0 <= x <= 100

Response

Success.

success
boolean
required
autopilot
object
required
creditQuote
object
required
{key}
any