¿Qué hace AutoXG?
Produce a complete 翔哥 content package while keeping the script grounded in the supplied source and the narration reproducible.
Use the directory containing the supplied SRT, transcript, or source copy as the topic root. Store every deliverable inside that same material directory; never default to a central output directory. Put narration audio and its working files in <topic-root>\配音.
Select the requested stages
Run only the stages the user asks for. For a full package, use this order:
- Extract and read the full SRT.
- Write and validate the 翔哥口播稿.
- Create
发布信息.txt. - Generate the 3:4 topic cover.
- Synthesize the approved script with the 翔哥 cloned voice on CPU.
- Validate all deliverables and report exact output paths.
Do not publish externally, use browser cookies, replace an approved asset, or switch to GPU without explicit authorization. Resume from verified intermediate files instead of restarting.
Build the source record
For SRT input, run:
python scripts/extract_srt.py <input.srt> --output <source-transcript.txt>
Read the whole transcript, including the final blocks. Build a private fact ledger containing names, locations, dates, quantities, chronology, reversals, and the source segment supporting each claim. Treat subtitle wording as evidence, not as polished narration. Never invent missing motives, dialogue, facts, or outcomes.
Write the 翔哥口播稿
Read references/voiceover-rules.md and references/blader-humanizer-xg-rules.md before drafting or revising the script. The vendored blader-humanizer is the mandatory naturalization stage.
Default behavior:
- write pure spoken Chinese with no production labels;
- narrate entirely in the third person unless the user explicitly chooses another perspective;
- open with a contradiction, danger, result, or unresolved question;
- move chronologically or causally and renew curiosity throughout;
- target the requested finished duration using the 1.1× narration calibration;
- format as 100–220-character large paragraphs suitable for direct GPT-SoVITS synthesis;
- save the approved copy as
翔哥口播稿.txt.
After the first complete draft, protect every source-backed number, name, date, location, quote, rating, and attribution. Run vendor/blader-humanizer in embedded mode: draft the rewrite, audit what still reads as obviously AI-generated, audit for any fabricated fact, and make one bounded second rewrite. Save only the final narration. Fact fidelity, third-person narration, retention logic, requested duration, and TTS speakability always win.
Do not synthesize a draft that has not passed the factual, perspective, length, and speakability checks.
Create publication information
Read references/cover-publication.md. Write exactly two non-empty lines to 发布信息.txt: one factual curiosity-driven title of at most 25 characters, then exactly five space-separated hashtags.
Validate recursively with:
python scripts/validate_publication_info.py <topic-root>
Generate the cover
Read references/cover-publication.md and use the image-generation skill. Use the bundled file in assets/ as the visual style reference:
topic-cover-3x4-approved.png.
Generate only the 3:4 topic cover, then inspect the actual image. Verify Chinese text character by character, realistic topic relevance, safe margins, and exact 3:4 pixel ratio. Keep versioned drafts and promote only the approved image to 封面-3比4.png.
Synthesize the 翔哥 voice
Read references/voice-clone-rules.md, then run the bundled deterministic script with the GPT-SoVITS virtual environment:
& 'D:\GPT-SoVITS\.venv\Scripts\python.exe' `
scripts/synthesize_xiang_cpu.py `
--text <翔哥口播稿.txt> `
--name <topic-name>
The script defaults to <翔哥口播稿所在目录>\配音. Pass --output-dir only when the user explicitly requests another location.
Keep these defaults unless the user explicitly overrides them:
- CPU only;
- approved 翔哥 reference clip and matching prompt text;
- 1.10 speed factor;
- one GPT-SoVITS request per large paragraph with
cut0; - no tone beautification or mastering effect;
- shorten internal silence of at least 0.35 seconds to about 0.18 seconds;
- use an explicit 0.28-second paragraph gap.
Retain the raw output, processed final output, per-paragraph segments, normalized narration text, configuration JSON, and progress log.
Validate and hand off
For a full topic package, prefer:
<素材所在子目录>/
├── 原始字幕.srt
├── source-transcript.txt
├── 翔哥口播稿.txt
├── 发布信息.txt
├── 封面-3比4.png
└── 配音/
├── <选题>_翔哥音色_CPU_大段落_1.1倍速_RAW.wav
├── <选题>_翔哥音色_CPU_大段落_1.1倍速_句间停顿缩短.wav
├── 配音稿_大段落.txt
├── 配音配置.json
├── progress.log
└── segments/
Before reporting completion:
- confirm the script is source-grounded, third-person, correctly timed, and free of production labels;
- validate
发布信息.txt; - visually inspect the 3:4 cover;
- confirm the final WAV is mono PCM16, 32 kHz, has nonzero duration, peak below 1.0, and zero clipped samples;
- report completed and incomplete stages separately, with clickable absolute paths.