Metadata-Version: 2.4
Name: navig-pipeline
Version: 0.2.0
Summary: The content assembly line: short vertical clips cut to the beat, narrated reels, captions and hooks, and download → transcribe → script → narrate → fan-out — its own navig-pipeline command, with your own keys; also `navig pipeline` inside navig.
Author-email: NAVIG Development Team <opensource@navig.run>
License-Expression: Apache-2.0
Project-URL: Homepage, https://navig.run
Project-URL: Documentation, https://navig.run/docs
Keywords: navig,cli,agent,automation,plugin,pipeline,workflow,orchestration
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: navig-sdk>=2.14.0
Requires-Dist: navig-generate>=0.2.1
Requires-Dist: navig-audio>=0.3.0
Requires-Dist: numpy>=1.24
Requires-Dist: typer>=0.14.0
Requires-Dist: rich>=13.7.0
Provides-Extra: all
Requires-Dist: navig-text>=0.4.0; extra == "all"
Requires-Dist: navig-download>=0.2.0; extra == "all"
Dynamic: license-file

# navig-pipeline

<!-- navig:plugin-card:start -->
<!-- Generated by scripts/gen_plugin_catalog.py — edit the plugin's pyproject.toml, not this block. -->

> The content assembly line: short vertical clips cut to the beat, narrated reels, captions and hooks, and download → transcribe → script → narrate → fan-out — its own navig-pipeline command, with your own keys; also `navig pipeline` inside navig.

**Works on its own** — its own CLI, no navig required · v0.2.0 · [PyPI](https://pypi.org/project/navig-pipeline/)

**On its own** (no navig needed)

```bash
pip install navig-pipeline
navig-pipeline --help   # no navig needed
```

**With navig**

```bash
pip install navig-pipeline
navig pipeline --help
```

<details><summary>Commands</summary>

| Command | What it does |
|---|---|
| `navig pipeline captions` | ✍️  Transcribe a track to an .srt — with word-level timings. |
| `navig pipeline clip` | 🎵 Build a vertical clip cut to a track you already have — no narration. |
| `navig pipeline hooks` | 🎣 Rank the passages of a track worth cutting a short clip from. |
| `navig pipeline reel` | 🎬 Build a vertical reel per language — capture, narrate, caption, score. |
| `navig pipeline run` | Run the assembly line from a topic (or a source clip) to a fanned-out post. |
| `navig pipeline schedule` | Autopilot — run + publish the assembly line on a recurring cadence. |
| `navig pipeline status` | Show which assembly-line stages are wired (their plugin is installed). |
| `navig pipeline telegram-import` | Import a Telegram channel's media into the local library, then optionally delete the |

</details>

<!-- navig:plugin-card:end -->

The **content assembly line**: short vertical clips cut to the beat, narrated reels, captions
and hooks, and a download → transcribe → script → narrate → publish flow. It runs on its own
as `navig-pipeline`, and inside navig as `navig pipeline`.

```
acquire (navig-download) → transcribe (navig-audio) → script (navig-text)
     → narrate (navig-audio) → publish (navig-social)
```

## On its own

```bash
pip install navig-pipeline                     # adds the `navig-pipeline` command
navig-pipeline status                          # which stages are wired here
navig-pipeline captions track.mp3              # word-timed .srt — no key needed (local Whisper)
navig-pipeline hooks track.mp3                 # passages worth cutting, with timings
navig-pipeline clip shot.md --range 30-45      # a vertical clip cut to the beat (ffmpeg on PATH)
navig-pipeline reel episode.md                 # narrated reel from a scenario
pip install "navig-pipeline[all]"              # + the script and acquire stages of `run`
navig-pipeline run --topic "…" --dry-run
```

The media engine comes from navig-generate and the voice from navig-audio, both installed with
this. Captions use navig-audio's transcription: the OpenAI Whisper API when an OpenAI key is
set, faster-whisper on this machine otherwise. Keys come from the environment or the shared
vault (`navig-vault`).

Two things are part of navig and say so when used without it: **filming a live URL** in a clip
or reel (navig's managed browser; generated shots and stills work anywhere), and
**`schedule`** (navig's daemon runs it). `telegram-import` uses navig's Telegram client.

## Inside navig

The same commands are `navig pipeline …`, plus the Telegram and scheduling features above.

## Why it exists

Capabilities compose. The pipeline reaches across plugins through the same public seams a
user would (navig-audio's transcription and narration, navig-generate's media engine,
navig-social's fan-out), and every stage is optional: a plugin that isn't installed drops its
stage, reported rather than silently skipped. `run` is a **dry run** unless you pass `--live`.
