Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,8 @@ Read [the agent guide](docs/AGENT_GUIDE.md) before automating the CLI and [the p

- Record the real workflow in Cursorful at 1080p, then caption/render it here. Cursorful remains an operator tool, not a project dependency.
- Generate a local ElevenLabs narration file with `npm run voiceover:elevenlabs -- --script narration.txt --voice-id VOICE_ID`.
- Build a reusable local ElevenLabs phrase library with `npm run voiceover:library -- --budget 36000`; use `--resume` to continue safely. The library is indexed by voice and phrase category, and its manifests contain no API key.
- Restore the generated library from the [voice library guide](docs/VOICE_LIBRARY.md) when working from a fresh clone.
- Create opt-in, human-reviewed fal assets with `npm run fal:image-edit -- ... --approved-for-generated-marketing` or `npm run fal:reference-video -- ... --approved-for-generated-marketing`.
- Generated images/video are never eBay source-of-truth/main listing photos or evidence of condition. Full setup and QA details: [AI provider workflows](docs/AI_PROVIDERS.md).

Expand Down
13 changes: 13 additions & 0 deletions assets/clipcaptionai-self-ad/plan.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions assets/clipcaptionai-self-ad/qa.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions assets/clipcaptionai-self-ad/render.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions docs/AI_PROVIDERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ npm run voiceover:elevenlabs -- \

The command writes MP3 audio and a sibling generation manifest containing the voice/model IDs, text hash, response request ID, and audio hash. It never writes the key or narration text into that manifest.

To spend a bounded character budget building reusable local assets across the configured cloned voice and available premade voices:

```bash
npm run voiceover:library -- --budget 36000 --resume
```

This writes `outputs/voiceover/elevenlabs-library/library.json`, one MP3 plus one non-secret manifest per phrase, and retries only safe provider failures. Use `--dry-run` before a large batch; the command checks the live subscription balance and leaves a safety reserve. The checked-in phrase catalog covers hooks, workflow, features, captions, B-roll, quality, and calls to action. Generated audio remains subject to human review for pronunciation, tone, and licensing suitability.

For the demo, review the exact narration before generation and make sure it clearly explains how Codex and GPT-5.6 were used.

## fal reviewed marketing assets
Expand Down
36 changes: 36 additions & 0 deletions docs/ASSET_RECOVERY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Asset Recovery Bundle

The `asset-recovery-2026-07-23` GitHub Release preserves the verified self-created ClipCaptionAI B-roll cards and the local public-source SFX library.

The B-roll bundle contains:

- `plan.svg`
- `render.svg`
- `qa.svg`

The separate `clipcaptionai-sfx-library.tar.gz` release asset contains all 256 local SFX files plus `sfx-library/index.json`.

Restore them from a fresh checkout with:

```bash
mkdir -p /tmp/clipcaptionai-asset-recovery
gh release download asset-recovery-2026-07-23 \
--repo jongan69/ClipCaptionAI \
--pattern 'clipcaptionai-cleared-assets.tar.gz' \
--dir /tmp/clipcaptionai-asset-recovery
tar -xzf /tmp/clipcaptionai-asset-recovery/clipcaptionai-cleared-assets.tar.gz \
-C .
```

To restore the SFX library as well:

```bash
gh release download asset-recovery-2026-07-23 \
--repo jongan69/ClipCaptionAI \
--pattern 'clipcaptionai-sfx-library.tar.gz' \
--dir /tmp/clipcaptionai-asset-recovery
tar -xzf /tmp/clipcaptionai-asset-recovery/clipcaptionai-sfx-library.tar.gz \
-C .
```

The SFX files are preserved because they are publicly available local assets, but public availability is not the same as verified commercial-use clearance. Review source terms before publishing a video commercially. The `music-library/` manifest explicitly marks its tracks `review_before_commercial_use`, so music remains excluded. The downloaded YouTube/movie `scene-library/` is intentionally excluded until its rights are reviewed.
29 changes: 29 additions & 0 deletions docs/VOICE_LIBRARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# ElevenLabs Voice Library

The repository contains the generator and manifests for the local ElevenLabs phrase library. The generated MP3 files are distributed as a GitHub Release asset so normal clones stay small.

## Restore the generated library

From a fresh checkout:

```bash
mkdir -p /tmp/clipcaptionai-voice-library
gh release download voice-library-2026-07-23 \
--repo jongan69/ClipCaptionAI \
--pattern 'clipcaptionai-elevenlabs-library.tar.gz' \
--dir /tmp/clipcaptionai-voice-library
tar -xzf /tmp/clipcaptionai-voice-library/clipcaptionai-elevenlabs-library.tar.gz \
-C outputs/voiceover
```

The archive restores `outputs/voiceover/elevenlabs-library/`, including 672 MP3 clips, per-clip generation manifests, and `library.json`. Verify the download before extracting it:

```text
SHA-256: 3fb5e58e7a6acde17ac81c4c78ddb5e7294dd5a80fc89d4a80b142adc81f3d29
```

The generated audio is reusable production material, but still requires human review for pronunciation, tone, and suitability. The source generator is resumable and checks the live ElevenLabs balance:

```bash
npm run voiceover:library -- --resume --budget 36000
```
8 changes: 8 additions & 0 deletions examples/clipcaptionai-self-ad-brief.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Meet ClipCaptionAI.
Turn a creative brief into a real video run.
Use your footage, images, captions, B-roll, narration, and AI providers.
Let your coding model direct the workflow through a reproducible CLI.
Plan the shots and inspect the run before spending provider credits.
Render a polished cut from the command line.
Every render gets a manifest, hashes, output metadata, and technical QA.
ClipCaptionAI. Prompt it. Render it. Ship the cut.
1 change: 1 addition & 0 deletions examples/clipcaptionai-self-ad-voiceover.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Meet ClipCaptionAI. It turns a creative brief into a real video run. Use your own footage and images, add captions, B-roll, narration, music, or AI-generated assets. Your coding model can direct the workflow through a reproducible command line. Every render records its plan, input hashes, output metadata, and technical quality checks. ClipCaptionAI: prompt it, render it, and ship the cut.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
"sample:props": "node scripts/make-sample-props.mjs",
"video": "node scripts/video.mjs",
"voiceover:elevenlabs": "node scripts/generate-elevenlabs-voiceover.mjs",
"voiceover:library": "node scripts/generate-elevenlabs-library.mjs",
"fal:image-edit": "node scripts/fal-image-edit.mjs",
"fal:reference-video": "node scripts/fal-reference-video.mjs",
"typecheck": "tsc --noEmit",
Expand Down
Loading
Loading