What the post demonstrates

The post links two separate repositories. Jianying Headless contains the local draft-building, editing, verification, and export core. yichen-jianying-edit is the Agent Skill that tells Codex how to operate that core and supplies the talking-head plan compiler and ASR wrapper. Installing only the Skill does not provide the editing engine.

The author's demo is useful evidence that one eight-minute talking-head source became a three-minute draft in the author's environment. It does not show the number of attempts, full prompt history, source transcript, deleted passages, accepted mistakes, total Codex usage, native save and cold-reopen record, or an independent repeat. Treat it as a working case report. Do not turn it into a general success rate.

The phrase "millisecond-level cuts" also needs a technical qualifier. The plan stores integer microseconds, and ASR may return fine-grained timestamps. The compiler then fits each retained span to complete output frames. At 30 fps, adjacent frame boundaries are about 33.3 milliseconds apart, so the resulting cut is frame-aligned rather than an arbitrary one-millisecond video cut.

How the workflow fits together

Workflow map from a rights-cleared talking-head video through ASR, Codex decisions, a frame-aligned compiler, and an editable Jianying draft
The default deliverable is an editable local draft. Online publishing, rights approval, and guaranteed clean cuts sit outside the automation. Credit: Original deterministic editorial diagram by Grow AI Skills. Open full-size image.

ASR supplies candidate word and sentence times. Codex makes the editorial decision: keep the complete take, remove the false start, or hold a risky boundary for review. The compiler checks that retained pronunciation fits inside the selected source ranges, maps subtitles and approved sound cues to the shorter timeline, and emits a draft plan. Jianying remains the native review surface.

This is different from the site's long-video-to-Shorts workflow, which selects complete moments and reframes them for a new format. It is also narrower than the Hypit workflow, which can describe reference structure, material generation, reusable components, and a code-authored composition. The Jianying workflow here solves rough cutting and editable native draft delivery for supported local media.

Check the license and exact versions first

Version gate comparing the required Apple Silicon Mac, macOS 26, Jianying 11.4 profiles, and the newer official Jianying recommendation
The upstream tool pins its draft profiles to Jianying 11.4.0 and 11.4.2, while the official site currently recommends macOS v11.5.1 or newer. A mismatch is a stop condition. Credit: Original deterministic editorial diagram by Grow AI Skills. Open full-size image.

The reviewed license calls the repository source-available and limits the original work to personal learning, research, and non-commercial personal workflows. Client delivery, paid products, revenue-generating work, internal business operations, commercial redistribution, and packaging it as another public Skill require prior written permission. Public GitHub access does not remove those terms.

The runtime boundary is equally strict. The reviewed core README requires Apple Silicon, macOS 26.0 or newer, Python 3.9 or newer, FFmpeg, ffprobe, Xcode Command Line Tools, and a matching Jianying installation. Draft profiles are pinned to 11.4.0 and 11.4.2; native export accepts 11.4.2. The official Jianying site currently recommends macOS v11.5.1 or newer, so a normal update can move the installed app outside the automation's accepted profile.

Run doctor before assigning media work. If the application version, build, bundle ID, official library hash, project codec, or application signature differs, stop and inspect. Editing the expected version or hash until the check turns green would remove the evidence that the installed runtime matches the tested profile.

Environment preflight
python3 /ABSOLUTE/PATH/yichen-jianying-edit/scripts/headless_draft.py doctor

Install and inspect the two parts separately

Pin the core and Skill to reviewed commits instead of following two moving branches. Read the root license, third-party notices, Skill instructions, scripts, expected environment variables, network calls, local write paths, and update path before execution. The site's Agent Skill intake guide gives a fuller review checklist.

Build the native codec from the core checkout, then point the Skill at that checkout when they live in separate directories. The environment variable stores a local path; it is not a credential.

Core location and first check
export JIANYING_HEADLESS_ROOT="/ABSOLUTE/PATH/jianying-headless"
python3 "$JIANYING_HEADLESS_ROOT/tools/build_native_codec.py"
python3 /ABSOLUTE/PATH/yichen-jianying-edit/scripts/headless_draft.py doctor

The upstream documentation says the build script compiles the project's bridge source against libraries supplied by the installed Jianying application. It expects the resulting codec hash to match the reviewed binary. It does not download Jianying, unlock account resources, or make an unsupported version compatible.

Give Codex a bounded editing brief

"Make this video tighter" leaves the model to guess how much meaning it may remove. Name the delivery state, edit intensity, speed, caption requirement, music choice, protected content, and escalation rule. Ask for a draft first. Export only after the native review passes.

Starter request for a talking-head rough cut
Use $yichen-jianying-edit to create an editable Jianying draft from:
/ABSOLUTE/PATH/source.mp4

Editing brief:
- Moderate cut. Remove repeated takes, unfinished false starts, and isolated filler.
- Keep every complete idea, product name, number, comparison, negation, and qualifier.
- Mark a boundary CHECK when deleting it may change the conclusion or clip a word.
- Use 30 fps, speed 1.0, and voice volume 1.0.
- Add reviewed subtitles. Do not add BGM or sound effects.
- Deliver a Jianying draft only. Do not export MP4 or publish online.

Run doctor first. If the runtime, hash, license, source rights, or ASR dependency is not ready,
stop and report the exact blocker. Show unresolved CHECK items before final compilation.

Set speed, sound, BGM, and edit intensity from the current request. Put any unclear semantic deletion into CHECK instead of guessing, and do not carry speed or deletion preferences over from an earlier project. The plan's settings_confirmed field records that these choices came from the current request; the field cannot supply missing instructions.

Transcribe once and bind the result to the source

The public Skill does not bundle an ASR service or credential. Its asr_once.py wrapper expects a compatible local transcription executor, records the source SHA-256, and stores one completed result per source hash. A completed record can be reused. A pending or ambiguous request blocks a new submission so that a retry does not quietly create another paid call.

ASR ledger call
python3 SKILL/scripts/asr_once.py run \
  --source /ABSOLUTE/PATH/source.mp4 \
  --ledger /ABSOLUTE/PATH/work/asr-ledger

Set YICHEN_ASR_EXECUTOR only when you have a compatible, reviewed executor at a known local path. The default checks the current user's scripts/transcribe.py, which is not part of the public Skill. If you already have a timestamped transcript tied to the same source hash, the workflow can start there without a paid ASR request.

Review names, numbers, product terms, negations, and repeated phrases against the audio before cutting. An ASR correction may change subtitle text while the source sound stays untouched. Do not keep resubmitting audio merely to make punctuation or spelling look cleaner.

Turn the transcript into KEEP, DELETE, and CHECK decisions

Speech timeline showing KEEP, DELETE, and protected pronunciation intervals with a separate CHECK decision
ASR supplies candidate boundaries. Codex records semantic decisions, and the compiler must fit each retained range to the frame grid without clipping protected speech. Credit: Original deterministic editorial diagram by Grow AI Skills. Open full-size image.

The upstream editing guide defines three useful states. DELETE covers repeated information, unfinished fragments, obvious slips, isolated hesitation sounds, and empty repeated prefixes. KEEP covers demonstrations, transitions, qualifications, and short words that are necessary to the idea. CHECK is for a boundary that may change the conclusion, obscure a number, break the next sentence, or clip uncertain audio.

Make a sentence-level decision before trimming breaths. Each retained range may contain one or more protect spans marking pronunciation that must survive. If the frame grid cannot fit the protected speech inside the proposed keep interval, the compiler stops. Move the source boundary to a nearby low-energy point; do not delete part of the protected word to satisfy the validator.

Energy measurements can suggest a cut point. They cannot prove that a sound is disposable breathing. A low-energy consonant, an English spelling pause, or the release at the end of a name can be quiet and still matter.

Compile a decision record instead of editing by intuition

Annotated JSON edit plan with source hash, confirmed settings, unresolved-check status, protected spans, subtitles, and delete decisions
A structured plan binds the decisions to one source file and keeps unresolved cuts visible instead of hiding them inside a finished timeline. Credit: Original deterministic editorial diagram by Grow AI Skills. Open full-size image.

The jianying-edit-plan/v1 format binds the work to one source path, source hash, measured duration, frame rate, speed, voice gain, confirmed settings, keep ranges, subtitles, optional approved sound cues, and the editorial decision ledger. A final delivery plan requires settings_confirmed: true and check_decisions_pending: false.

Minimal structure
{
  "schema": "jianying-edit-plan/v1",
  "source": "/ABSOLUTE/PATH/source.mp4",
  "source_sha256": "MEASURED_SHA256",
  "source_duration": 480.0,
  "fps": 30,
  "speed": 1.0,
  "voice_volume": 1.0,
  "settings_confirmed": true,
  "check_decisions_pending": false,
  "bgm": false,
  "keeps": [
    {
      "start": 12.40,
      "end": 18.86,
      "protect": [[12.48, 18.78]],
      "reason": "complete explanation"
    }
  ],
  "subtitles": [
    {"start": 12.48, "end": 18.78, "text": "Reviewed subtitle text"}
  ],
  "decisions": [
    {"action": "DELETE", "start": 9.10, "end": 12.40, "reason": "unfinished first take"}
  ]
}

The values above illustrate the format; they are not copied from a real recording. Measure duration and hash from the current file, and derive boundaries from its reviewed transcript.

Compile and inspect the outputs
python3 SKILL/scripts/edit_plan.py compile \
  --plan WORK/edit-plan.json \
  --out WORK/compiled-v1

A successful compile creates compiled.json, subtitles.srt, and transcript.md. The compiler accepts 24, 25, 30, 50, or 60 fps, maps every retained source range onto a continuous target timeline, checks the source hash and duration, rejects subtitles inside deleted material, and prevents an approved sound cue from extending past the video.

Listen to the edited speech before building video

The render-audio command applies the same keep ranges, speed, and target duration to a new WAV. Review that WAV for a clipped word, repeated phrase, missing qualifier, long silence, or abrupt cadence before building video. Re-transcribe it once, compare it with the expected retained speech, and listen around every changed boundary.

Audio-only review render
python3 SKILL/scripts/edit_plan.py render-audio \
  --plan WORK/compiled-v1/compiled.json \
  --out WORK/voice-v1.wav \
  --work WORK/audio-render-v1

The review WAV does not prove Jianying's final sound. The upstream guide says FFmpeg and Jianying may handle speed differently. Use the WAV to test the semantic map and candidate boundaries, then confirm timing and sound again in the native draft.

Build the editable Jianying draft

Editable Jianying draft diagram with continuous main video, captions, B-roll, and optional local audio tracks
The main track remains continuous after removed source spans are omitted. Captions and local media stay on editable tracks inside the draft. Credit: Original deterministic editorial diagram by Grow AI Skills. Open full-size image.

Convert the compiled speech plan into jy14-headless-plan/v1, build it in a new isolated work directory, and verify the result before registering anything on the Jianying home screen.

Build without touching the live Jianying project list
python3 SKILL/scripts/headless_draft.py from-compiled \
  --compiled WORK/compiled-v1/compiled.json \
  --name "Talking-head rough cut v1" \
  --out WORK/headless-plan.json

python3 SKILL/scripts/headless_draft.py build \
  --plan WORK/headless-plan.json \
  --out WORK/headless-build

python3 SKILL/scripts/headless_draft.py verify-build \
  --build WORK/headless-build

The first track must be continuous main video with no target-timeline gap or overlap. Removed speech disappears because its source span is absent from the plan; the source file itself remains unchanged. Later tracks can hold captions, local audio, images, GIFs, or picture-in-picture material within the limits of the reviewed profile. The build copies source files into the draft under content-hash names, so the draft depends on its own Resources directory.

In this workflow, publish means register the new draft on the local Jianying home screen. It does not upload a video or make anything public. Save work and fully quit Jianying before running the command. Do not force-quit the application through the Skill.

Register locally, then verify after native save
python3 SKILL/scripts/headless_draft.py publish \
  --build WORK/headless-build \
  --audit WORK/headless-publish

# Open the draft in Jianying, review it, save it, quit Jianying, then:
python3 SKILL/scripts/headless_draft.py verify \
  --build WORK/headless-build \
  --report WORK/after-native-save.json

Use four separate acceptance gates

Four review gates for compile validation, edited-audio review, draft structure verification, and Jianying playback and cold reopen
Compile success, audio review, structural verification, and native Jianying review answer different questions. Export remains a later explicit action. Credit: Original deterministic editorial diagram by Grow AI Skills. Open full-size image.

Compile validation establishes a coherent, frame-aligned mapping. The edited WAV establishes that the intended words and candidate boundaries survived the map. Draft verification establishes that local files, hashes, tracks, and timeline structure agree. Native Jianying review establishes whether the draft actually plays, sounds right, saves, quits, and opens again.

The upstream verification record reports a synthetic two-second H.264/AAC export and 149 historical feature checks on the author's machine. It also says the reviewed package has not completed clean-machine installation acceptance and that its new package test did not cover native UI open, save, cold reopen, or subjective listening. Those limits belong in every pilot plan.

  • The source hash, measured duration, and reviewed transcript all refer to the same file.
  • No CHECK item remains hidden inside a final plan.
  • Every protected name, number, negation, qualifier, and word ending is audible.
  • Captions match the sound and stay clear of faces, controls, and important on-screen data.
  • The main timeline has no gap, overlap, or accidental duplicated audio.
  • Every local B-roll, music, font, effect, and sound has an appropriate license.
  • The draft opens, plays, saves, quits, cold-reopens, and passes structural readback.
  • Export occurs only when the request explicitly requires a frozen MP4.

Budget the accepted draft

Cost and permission table separating Seed-ASR price, variable Codex usage, human review time, and written permission for commercial use
The ASR list price is one line in the budget. Agent usage, review time, retries, and the upstream non-commercial license remain separate. Credit: Original deterministic editorial diagram by Grow AI Skills. Open full-size image.

The X post points to Doubao ASR at 0.8 RMB per hour. The current Volcengine price list supports that figure for Seed-ASR 2.0 in North China 2 on the review date. It does not establish the total price of this workflow. Account setup, other regions or services, taxes, retries, storage, and future price changes can alter the bill.

Track Codex usage from the account or API route actually used, then add ASR calls, setup time, failed attempts, native review, repair, export, and rights work. Divide that total by the number of drafts that pass acceptance, not by the number of transcription calls. A rejected edit still carries its transcription and review costs.

Treat commercial permission as a release prerequisite. Obtain written authorization before using the upstream core or Skill for monetized publishing, client delivery, a paid course, an agency workflow, or internal business operations. A favorable demo and a public repository do not supply that authorization.

Choose a small first pilot

Use a short, rights-cleared talking-head recording with one speaker, clean audio, no licensed music, and a transcript you can check from beginning to end. Ask for subtitles and a moderate removal pass, leave BGM and effects off, and deliver a draft rather than an MP4. Record the pinned core and Skill commits, Jianying build, source hash, ASR request state, edit plan, compiled output, reviewed WAV hash, draft audit, native review notes, and any repairs.

Reject the pilot if doctor fails, the license does not cover the intended use, the ASR result cannot be tied to the source hash, a protected word cannot fit a frame-aligned keep, unresolved CHECK items remain, or the draft fails save and cold-reopen review. If the first draft passes, change one sentence or cut boundary and confirm that Codex can revise the plan without damaging unrelated accepted sections. That result tells you whether the workflow is maintainable for your videos.