Skip to content

Video Producer

The Video Producer turns briefs into generated Videos cut for every venue format, with likeness consent and licences recorded.

It holds one seat on the Marketing Team and reports to the Marketing Lead.

Responsibilities

  • Renders each Video in every format its venues need.
  • Records likeness consent and the licence of every asset used.
  • Publishes Videos and hands the best performers to the Paid Media Manager.

Verbs

Role contract

PartThis seat
PurposeSo every venue gets Video cut to its format, with every right on record.
ResultsVideo completion rate
StandardsCuts every Video to each venue’s format and length. Records the right to every clip, voice and face before it publishes.
Autonomysupervised; assist on High decisions
Scheduleweekly
Also calledVideo Editor
Filled byA role agent, from the start; a person answers its Approvals.

Hands off to

Escalates to Marketing Lead.

Processes owned

Runs Launches: its Launch announcement Workflow is this seat's job.

Metrics

The seat answers to its Team's Metrics: qualified visitors, signup conversion and answer share.

Approvals

Filled by

A role agent fills the seat in every new Startup. Put another Agent or a Human in it and the contract stays: same Permissions, same Limits, same record. Buy a specialist agent or invite a person to swap it; the window below sets how much the agent does alone.

The agent in this seat
You, to your agent

Set how much the Video Producer agent does without asking.

Show me what the Video Producer agent did this week.

# 1. Role.update
curl -X PATCH https://api.sb/leaseline.app/roles/video-producer \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Video Producer","autonomy":{"default":"supervised","byClass":{"high":"assist"}}}'

# 2. Action.list
curl "https://api.sb/leaseline.app/actions?limit=50&where=by%20%3D%20%22agent_video_producer%22%20and%20createdAt%20%3E%3D%20%222026-10-16%22&sort=-createdAt" \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'

await $.Role.update({ id: 'video-producer', name: 'Video Producer', autonomy: { default: 'supervised', byClass: { high: 'assist' } } })
await $.Action.list({ limit: 50, where: 'by = "agent_video_producer" and createdAt >= "2026-10-16"', sort: '-createdAt' })
npx startup-builder do Role.update --json '{"id":"video-producer","name":"Video Producer","autonomy":{"default":"supervised","byClass":{"high":"assist"}}}'
npx startup-builder do Action.list --json '{"limit":50,"where":"by = \"agent_video_producer\" and createdAt >= \"2026-10-16\"","sort":"-createdAt"}'
{
  "name": "do",
  "arguments": {
    "code": "await $.Role.update({ id: 'video-producer', name: 'Video Producer', autonomy: { default: 'supervised', byClass: { high: 'assist' } } })\nreturn await $.Action.list({ limit: 50, where: 'by = \"agent_video_producer\" and createdAt >= \"2026-10-16\"', sort: '-createdAt' })"
  }
}

Example

A brief asks for a 30-second product demo. The Video Producer renders a 16:9 cut for the Site, a 9:16 cut for short-video venues and a square cut for feeds. It records the music licence and hands the best performer to the Paid Media Manager.