SHAI

S8 Content

/ingest-footage

Agent 4: Assistant Editor (any industry)

Agent 4, Assistant Editor: whatever the client hands over becomes a logged, transcribed, analyzed source set. Stage A (manifest, proxies, audio, transcript, analysis, style profile) is free, local and always first; Stage B uploads to Higgsfield only against a rights.md consent row. Facts only — never editorial decisions. v2: the style profile also learns from the squad's own edits, beats on music references, and colour statistics, every dimension with its evidence and a quality-capped confidence.

builtv0.2.0

Run itAll agents

Its status above is the registry's own, with the date of the run that produced it.

What it is for

Contract A

This agent owns no numbered ledger item of its own.

Example requests

  • transcribe this
  • log these clips
  • sync these two cameras
  • split the audio off
  • learn the editing style of these references
  • learn from this edit
  • save this style
  • register my library
  • ingest this footage

What it needs, and what it hands back

Needs connected

Nothing. It runs on what SHAI already knows about you.

Better with: higgsfield, openart.

Uses Bash (ffprobe/ffmpeg analysis recipes, yt-dlp on client-owned channels), tools/transcribe.py, tools/analyze.py, tools/style-profile.py, media_upload, media_confirm, media_import_url, show_medias, video_analysis_create, video_analysis_status, openart_upload_metadata_get, WebFetch, which exist in Claude Code. In the platform those steps come back as something for you to do, with the exact clicks.

Hands back

  • E/sources/manifest.json
  • E/sources/proxies/<id>.mp4 and E/sources/audio/<id>.wav (gitignored)
  • E/transcript/<id>.json, <id>.srt, transcript.md with ## Uncertain
  • E/analysis/<id>.json (incl. the colour section) and E/analysis/content-map.md
  • clients/<slug>/assets/style-profiles/<name>.json (style/1: every field with evidence, confidence and _provenance)
  • rights.md rows

Stops and asks

  • the third-party-upload consent row in rights.md before any Stage B upload
  • a quote per docs/edit-pipeline.md §13.4 before video_analysis_create (measured at 0 credits in Step 1)

Steps it cannot do through an API, and hands you instead: transcription ladder exhausted -> park with the drop path transcript/<id>.srt; /build-cut resumes when a transcript exists there; a non-YouTube third-party reference -> the user supplies a description or a client-owned file; a source >=95 MB -> the manifest records an external copy path so a fresh session can re-ingest it.

How it runs

These are the headings of its own written instructions — 317 lines you can read and change.

  1. Step 0 — Environment check + inputs + project folder
  2. Step 1 — Stage A part 1: manifest, proxies, audio (Upload Media · Split Audio)
  3. Step 2 — Stage A part 2: transcript, analysis, style profile
  4. Step 3 — Stage B: upload (only with the consent row)