# First Light Bible Series: Final Videos (Nov 2026)

Channel: **First Light with Jesus** (@FirstLightWithJesusDaily, channel ID UCd87dxve6yzZIbW_6Kklx-Q).
Series: *First Light Bible Stories* (animated story episodes, Sundays 8 PM ET) and *First Light Bible Study* (companion studies, Wednesdays 8 PM ET).
Folder put together Sun Nov 1, 2026, ~11 PM ET. All times below are US Eastern (ET). DST ended Nov 1, so dates from Nov 1 on are EST (UTC-5).

> **Upload status (Nov 1, 2026, ~11:15 PM ET):** all text files, captions and thumbnails are in this Drive folder. The six **video files (0.2–3.0 GB each)** and the three original **PNG thumbnails** (1.2–1.5 MB) could not go through the Drive connector, which accepts at most about 0.75 MB per file. For Jonah, the Jonah study and Ruth, a full-resolution 1280x720 **JPEG copy** of the thumbnail is here instead (`*_JPEG-copy.jpg`). The videos and original PNGs are staged on the production box in `/workspace/drive-export-tmp/stage/` with this exact folder layout, ready to drag into Drive in a browser. Until they're added, the video file names in the table below refer to that staging copy.

The files here are the final copies of every series video uploaded to YouTube so far (3 episodes plus 3 studies). The text files are copied from the release kits on the production box.

---

## 1. What each video is

| Book | Video | YouTube | Premiere (ET) | Length (ffprobe) | Scripture (WEB) | File in this folder |
|---|---|---|---|---|---|---|
| Jonah | **Jonah and the Whale: The Prophet Who Ran From God \| Animated Bible Story** (Episode 1) | [cuR045om3_o](https://youtu.be/cuR045om3_o), public | Sun Oct 25, 2026, 8:00 PM EDT | 9:49.4 (589.4 s) | Jonah 1–4 | `Jonah/JON-EP_cuR045om3_o_Jonah-episode_youtube-1080p.mp4` (see note A) |
| Jonah | **Jonah and the Whale Bible Study: What Most People Miss** (Study 1) | [WgtO6KcBy74](https://youtu.be/WgtO6KcBy74), public | Wed Oct 28, 2026, 8:00 PM EDT | 13:46.9 (826.9 s) | Jonah 1–4 (plus cross-references, e.g. Matthew 12:40–41) | `Jonah/Jonah Bible Study/JON-STUDY_WgtO6KcBy74_JON-STUDY-master-1080p-v03.mp4` |
| Ruth | **The Book of Ruth: Nothing Left but Each Other \| Animated Bible Story** (Episode 2) | [j6l8v6xaz_c](https://youtu.be/j6l8v6xaz_c), public (re-checked Nov 1, ~11 PM ET) | Sun Nov 1, 2026, 9:00 PM EST (planned 8 PM; see the time-zone pitfall in §5) | 18:02.0 (1082.0 s) | Ruth 1–4 (Matthew 1:5–6 in the closing reflection) | `Ruth/RUT-EP_j6l8v6xaz_c_RUT-final-v01_1080.mp4` |
| Ruth | **Ruth and Boaz Bible Study: What a Redeemer Really Is** (Study 2) | [Wyglb3CMd_M](https://youtu.be/Wyglb3CMd_M), scheduled Premiere | Wed Nov 4, 2026, 8:00 PM EST | 12:59.4 (779.4 s) | Ruth 1–4 | `Ruth/Ruth Bible Study/RUT-STUDY_Wyglb3CMd_M_RUT-STUDY-master-1080p-v01.mp4` |
| Esther | **Esther, Part 1: The Orphan Who Became Queen \| Animated Bible Story** (Episode 3; Part 1 of 3) | [MjFphZXXCVg](https://youtu.be/MjFphZXXCVg), scheduled Premiere | Sun Nov 8, 2026, 8:00 PM EST | 12:15.6 (735.6 s) | Esther 1:1–3:11 | `Esther/EST1-EP_MjFphZXXCVg_EST1-review-v02_1080.mp4` |
| Esther | **Queen Esther Bible Study: When God Seems Hidden** (Study 3) | [1HJNZx5Z09k](https://youtu.be/1HJNZx5Z09k), scheduled Premiere | Wed Nov 11, 2026, 8:00 PM EST | 13:05.8 (785.75 s) | Esther 1–3 | `Esther/Esther Part 1 Bible Study/EST1-STUDY_1HJNZx5Z09k_EST1-study-review-v01_1080.mp4` |

**Note A (Jonah episode):** the original 1080p master (`JON-final-v02_1080.mp4`) was deleted from the box to free space. The file here was downloaded back from our own public YouTube upload with yt-dlp: 1920x1080, AV1 video + AAC audio, 589.4 s, 220 MB. It is YouTube's re-encode, so it's slightly lower quality than the deleted master. A 960x540 H.264 copy of the master (`01-JON/edit/finish/JON-final-v02_960.mp4`) still exists on the box.

Every video folder also holds: `*_thumbnail_*` (the thumbnail set in Studio), `*_captions_*.srt` (the English subtitle file uploaded to YouTube; captions are also burned into the picture), `*_description.txt`, `*_chapters.txt`, `*_titles_tags.md` or `*_tags.txt` (title, tags, hashtags), and `*_pinned_comment.txt`.
Thumbnail note: the Esther episode thumbnail is `EST1-thumb-v02-B.jpg` ("FROM THE BIBLE · ANIMATED", ESTHER, "She Kept a Deadly Secret", PART 1), which replaced the v01 thumbnail named in the kit's `titles_tags.md`.

Voices used:
- **Jonah episode:** narrator Leo (xAI Grok TTS, `balanced-calm-v1`), with the LORD voiced by Leo plus the "Voice of the LORD" treatment. Character voices are from the xAI stock voice set (per `01-JON/plan/JONAH_PRODUCTION_PLAN.md` §3.2).
- **Ruth and Esther:** local Chatterbox 0.1.7 zero-shot clones of the xAI stock synthetic voices, at $0 and with no paid API. Narrator Leo. In Ruth: Naomi eve (stately), Ruth luna, Boaz castor, and sal, altair, zenith, helios and ara in other roles. In Esther: King Ahasuerus zagan, Haman helios, Memucan sal, and the plotting servants altair doubled.
- **Studies:** teacher Eve.

No real person's voice is cloned.

---

## 2. How they were made

The facts here come from `SERIES_BIBLE.md`, the book production plans and the release kits.

1. **Scripture text.** World English Bible, ebible.org **engwebp** edition (public domain; reads "LORD"). Downloaded as `engwebp_vpl.zip` into `books/<BOOK>/source/` and cross-checked against the channel's reference copy. The script (`script/script.json`, `script.md`) marks each line [S] scripture, [D] dialogue or [B] bridge. It is verified word for word against the source (`script/verify.json`, e.g. Jonah 1,271 words PASS; Esther Part 1 1,781/1,781 PASS). Bridges are at most 10%, and no scripture is invented.
2. **Look and shot plan.** STYLE-LOCK v1 is "painterly cinematic 2.5D": a moving oil painting with Rembrandt-style light and Tissot-style Near Eastern dress, and slow parallax camera moves. The shot list (`shots/shotlist.csv`, `library/shot_plan.json`) is timed to the narration (`shots/timing_map_v2.json`).
3. **Reference images for consistency.** For each book, a batch of cast and set reference stills is made first. Paul approves them on a contact sheet (`plan/REFS_APPROVED.txt`; Esther had 18 refs, approved Oct 31). These are stored in `library/cast/` and `library/sets/` with prompt blocks (`library/prompts/`). Every shot prompt attaches its character or set ref. Per-shot QC then checks the costume anchors (e.g. Ruth's braid and mole, Boaz's striped mantle).
4. **Grok Imagine (web UI, consumer subscription; never the paid API).** Each shot is made as a still: the ref is attached, the frame is set to 16:9 and the image prompt is entered. That still is then animated as a 6 s or 10 s clip at **1080p**. Clips are checked (unique md5, frame 0 matches the still) and logged in `library/registry/generation_log.csv`. Failed shots go to a redo queue with at most 2 regenerations, after which a still with a push-in is used instead. Esther Part 1 has 84 shots.
5. **Voice.** TTS takes per line (see the voices above), with a whisper/ASR check against the script (0 mismatches in [S]/[D] lines) and a pronunciation list (`library/audio/pronunciation.json`). God's words use the VOTL treatment (`library/audio/VOTL-treatment.json`).
6. **Music and SFX.** All original, synthesised on the box, with no third-party audio. The score comes from `tools/score.py` (NumPy/SciPy pads, drone, frame drum, lyre-like plucks; motif M-MERCY-v1). SFX beds and hits come from `tools/sfx.py`. The mix is done by `tools/mix.py`, with music at least 15 dB under the voice. For Esther v02, Paul asked for all wind beds to be removed.
7. **Assembly (ffmpeg).** The pipeline is `selects.py` → `rough_cut.py` → `score.py`/`sfx.py`/`mix.py` → `captions.py` → `end_card.py` (the "Coming Up" calendar from `library/release_calendar.json` via `tools/release_calendar.py`) → `finish.py`. The output is H.264 1920x1080 24 fps + AAC 44.1 kHz.
8. **Loudness.** −20 LUFS integrated, about −3 to −5.5 dBTP (e.g. Ruth −20.1 LUFS / −3.4 dBTP; Esther −20.0 / −4.3).
9. **Captions.** `tools/captions.py` builds ASS subtitles from the TTS word timings and `captions/keywords.json`: Alegreya Sans, ivory with gold keywords, speaker labels and verse chips. They are burned in with libass. `tools/ass2srt.py --book <BOOK>` then exports the SRT that is uploaded as English subtitles, with overlaps trimmed (e.g. `captions/check_srt_v02.py`).
10. **End card.** A burned 20 s "Coming Up" calendar fills the left panel. YouTube end-screen elements sit in the right column (zones in `edit/endcard/*-endcard-v02.json`, guide PNG `*-endcard-guide-v02.png`).
11. **QC** (`SERIES_BIBLE.md` §12; e.g. `edit/review/EST1-review-v02_qc.txt`):
    - no black frames, freezes over 1 s or resolution changes
    - A/V sync measured at 7 points
    - caption timing compared with ASR word starts
    - loudness
    - a full decode with `ffmpeg -v error -xerror` (exit 0)
    - md5 recorded
    - Paul approves a review cut before upload
12. **Thumbnails.** These are built in code with Pillow from Grok stills (`marketing/thumbs/make_thumbs.py`, `release/tools/make_*_thumb.py`). They pass legibility and mobile checks (`thumb_checks/`, `legibility_report_*.json`). Bible-series thumbnails must say it's a Bible book and animated, with an enticing hook.
13. **Studies** reuse the episode's art and audio stems, plus teaching cards (`study/cards/`) and teacher TTS (Eve). The format is "What most people miss", 11–14 min: 5–6 discoveries, one key verse, one reflection question and a prayer (`series/bible-study/STUDY_SERIES_BIBLE.md`).

---

## 3. Folder structure here

```
First Light Bible Series - Final Videos (Nov 2026)/
  README.md                 (this file; also as a Google Doc)
  Jonah/                    episode cuR045om3_o + its text files
    Jonah Bible Study/      study WgtO6KcBy74
  Ruth/                     episode j6l8v6xaz_c
    Ruth Bible Study/       study Wyglb3CMd_M
  Esther/                   Esther Part 1 MjFphZXXCVg
    Esther Part 1 Bible Study/   study 1HJNZx5Z09k
```

## 4. Where things live on the production box

These paths are on the Grok Bot box. They are not in Drive.
- Project root: `/workspace/projects/prayer-youtube/` (read `BRIEF.md` first).
- Series: `/workspace/projects/prayer-youtube/series/bible-stories/`.
  - `SERIES_BIBLE.md` holds all the rules.
  - `library/` holds cast/set refs, prompts, voice registry, release calendar and the generation log.
  - `tools/` holds the pipeline scripts listed above.
  - `marketing/thumbs/` holds the thumbnails.
- Books: `books/01-JON`, `02-RUT`, `03-EST`. Each has `source/ script/ shots/ gen/ clips/ audio/ captions/ edit/ release/ study/ plan/ qc/`.
  - Every `release/` has `README.md`, `UPLOAD_CHECKLIST.md`, `description.txt`, `chapters.txt`, `titles_tags.md`, `pinned_comment.txt`, `community_post.md` and `cta.json`.
- Study series: `/workspace/projects/prayer-youtube/series/bible-study/` (`STUDY_SERIES_BIBLE.md`, `LOCKED_TITLE_RULES.md`, `END_CARD_CALENDAR_SPEC.md`, `thumbs/`).
- Local TTS: Chatterbox venv `/workspace/tools/tts-local`. Voice refs are in `/workspace/projects/tts-compare/voices/<voice>/ref.wav`.

---

## 5. Step by step: make a new episode and upload it to your own YouTube channel (for another AI agent)

Follow these steps in order. Get a human approval at each **[GATE]**.

**Make it**
1. **Pick the book and plan it.**
   1. Fetch the WEB engwebp text and count the characters. At about 0.00168 min per character (real pace about 0.86× that), choose the parts (16–24 min target; about 14 min is fine).
   2. Copy a previous `plan/*_PRODUCTION_PLAN.md` as a template.
2. **Script.** Write `script.json` with [S]/[D]/[B] markup and run the verify step: 100% of the [S] words must match the source. **[GATE] script.**
3. **Cast.**
   1. Narrator Leo. Keep one voice per recurring character for the whole series.
   2. Audition 2 lines from each new role blind.
   3. Use local Chatterbox clones of stock synthetic voices. Never clone a real person.
   4. **[GATE] casting.**
4. **Narration first.** Render the whole narration, ASR-check it and lock the timing (`timing_lines_v01.json`, `timing_map_v2.json`). Shots are then timed to the real audio.
5. **Refs.** Generate the cast and set reference stills in Grok Imagine and make a contact sheet. **[GATE] refs** (write `plan/REFS_APPROVED.txt` only from the human's own words).
6. **Shots.** For each shot in Grok Imagine (web UI):
   1. Attach the ref and set 16:9.
   2. Enter the still prompt and save the still.
   3. Enter the motion prompt (6 s or 10 s, 1080p) and download the clip.
   4. Run QC and log it (see §2.4).
   - Do not use Grok's lip-synced voices.
7. **Edit.** Run `selects → rough_cut → score/sfx/mix → captions → end_card → finish`. Target −20 LUFS, burned captions, and a 20 s end card with the "Coming Up" calendar.
8. **QC** (§2.11), then render a review cut plus a contact sheet. **[GATE] review cut.**
9. **Package.** In `release/`, create:
   - `description.txt`: hook, scripture line, chapters, playlist links, WEB credit and the AI disclosure line, *"Animated with AI image and video tools; narration and character voices are AI-generated. Scripture: World English Bible (public domain)."*
   - `chapters.txt`: first at 0:00, each at least 10 s.
   - `titles_tags.md`
   - the thumbnail: 1280x720, under 2 MB, legibility PASS
   - the SRT
   - `pinned_comment.txt`

   **[GATE] title, thumbnail, and upload/schedule OK.**

**Upload it (YouTube Studio)**

10. **Check the channel** in Studio's account switcher first. Wrong-channel uploads have happened before. Then Create → Upload videos → choose the 1080p master (never a preview) and keep it **Private** while you edit.
11. **Details:**
    - Paste the title, the description (exactly), the thumbnail and the tags.
    - **Audience: "No, it's not made for kids."**
    - **Show more → Altered or synthetic content: Yes.** Realistic-looking AI people, scenes and voices require it under YouTube's AI/altered-content disclosure rules.
    - **Category: Education.** Language: English. Caption certification: none.
    - License: Standard YouTube. Allow embedding. Comments on (no "hold all"). Paid promotion: No.
    - **Playlists:** episodes go in *The Bible in Order* (canonical Bible order) and *New Every Sunday* (newest first). Studies go only in *First Light Bible Study*. The playlists must be Public before an end screen can point at them.
12. **Subtitles:** upload the SRT as **English** ("With timing"). After saving, check that the Languages table really lists it.
13. **Wait** for HD processing and the copyright / Community Guidelines checks to finish.
14. **Premiere scheduling:**
    1. Go to Visibility → Schedule → **Set as Premiere** (1-minute countdown).
    2. Enter the date and time. **Pitfall:** Studio's picker time zone can show a fixed **GMT-4** offset instead of **(GMT-05:00) New York**. After DST ends that makes everything an hour off. It happened here: the Ruth episode premiered at 9 PM instead of 8 PM. Always open the time-zone dropdown, set it explicitly to **(GMT-05:00) New York** (or your own zone), and then enter the real local time.
    3. After saving, read back the full date including the year.
    4. Open the public watch page and confirm `scheduledStartTime` / the "Premieres …" time matches the intended UTC instant (e.g. 8 PM EST = 01:00 UTC the next day). `yt-dlp --skip-download` metadata works for this too.
15. **End screen** (last 20 s):
    - top-right Video element (previous story, or the episode for a study)
    - bottom-right Playlist element (*The Bible in Order*, or *First Light Bible Study* for studies)
    - Keep both clear of the burned calendar (x < 1050 px at 1080p).
    - Studio won't place Subscribe below about 72% of the height, so leave it off on episodes.
    - Studies can add a Card at the teacher's welcome that links to the episode.
16. **When the premiere goes live:** post and **pin** the comment from `pinned_comment.txt` as the channel, then reload and check there is one copy with its link intact. Community posts and pinned comments each need the human's OK at the time.
17. **After:** check retention on day 2 and day 7 (`release/retention_notes.md`). Set Shorts' Related video to the episode. Only run title A/B tests with approval.

**Policy reminders**
- **AI disclosure (altered or synthetic content):** set it to Yes on every upload and keep the disclosure line in the description.
- **Inauthentic / mass-produced (formerly "repetitious") content:** avoid it with visible authorship:
  - a unique full script and shot list per book, human review gates, and chapters
  - no near-duplicate uploads, and at least 7 days between topics
  - a cap on compilation reuse
- **Reused content:** use only your own generated material. No third-party clips and no re-uploads.
- **Scripture and claims:** no invented scripture, no healing or miracle promises, no fake pastor or host biography. Never present AI figures as real people.
- **Rights:** WEB is public domain. Use original or synthesised music and SFX, log the sources in `library/audio/music/rights_log.csv`, and use OFL fonts only.
- **Generation:** images and video only through the Grok Imagine consumer tools, never the paid xAI API. No secrets, keys or cookies in any file.
