Metadata-Version: 2.4
Name: navig-generate
Version: 0.4.0
Summary: Generate images, video and audio with your own provider keys, keep the variants you like, and edit them: cut, fx, beats, tonality, sprites. Runs on its own as `navig-generate`; the shared media engine lives in `navig-media-core`.
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,ai,image,generation
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.13.0
Requires-Dist: navig-vault>=0.7.0
Requires-Dist: navig-media-core>=0.2.0
Requires-Dist: httpx>=0.24
Requires-Dist: typer>=0.14.0
Requires-Dist: rich>=13.7.0
Requires-Dist: pyyaml>=6.0
Provides-Extra: process
Requires-Dist: Pillow>=10.0; extra == "process"
Provides-Extra: beats
Requires-Dist: numpy>=1.24; extra == "beats"
Dynamic: license-file

# navig-generate

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

> Generate images, video and audio with your own provider keys, keep the variants you like, and edit them: cut, fx, beats, tonality, sprites. Runs on its own as `navig-generate`; the shared media engine lives in `navig-media-core`.

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

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

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

**With navig**

```bash
pip install "navig[generate]"
```

<details><summary>Commands</summary>

| Command | What it does |
|---|---|
| `navig generate contact-sheet` | Montage variants into a review contact sheet (Pillow). |
| `navig generate edit` | Instruction-edit an image variant (OpenAI gpt-image). |
| `navig generate eleven change-voice` | Re-speak a recording in another voice, keeping timing and delivery (costs credits). |
| `navig generate eleven fetch` | Download one history item's audio (free — the bytes are already stored). |
| `navig generate eleven history` | List what this key has already generated (free — GET only, costs no credits). |
| `navig generate eleven isolate` | Remove background noise, keep the voice (costs credits). |
| `navig generate eleven stems` | Split a track into stems — returns a zip (costs credits; slow on long files). |
| `navig generate eleven subscription` | Plan, credits and cloning entitlements behind the configured key (free GET). |
| `navig generate eleven transcribe` | Transcribe with ElevenLabs Scribe (costs credits; word timings included). |
| `navig generate eleven voices` | Search the voice library — or list your own voices with `--mine` (free GETs). |
| `navig generate gen` | Generate variant(s) into the active space's refs library. |
| `navig generate ingest` | Pull externally-generated files into the refs library for review (Midjourney, etc.). |
| `navig generate keep` | Promote a staged variant to the kept library. |
| `navig generate license` | Record the license for a variant (provenance). |
| `navig generate list` | List variants in THIS space, newest first (clickable). --all spans every space. |
| `navig generate palette` | Extract a hex palette from reference frames. |
| `navig generate process` | LOCAL pixel pipeline → a game-ready sprite variant (Pillow). |
| `navig generate redesign` | Reference-based img2img redesign (Recraft). |
| `navig generate reject` | Reject a staged variant (retained in .rejected, never deleted). |
| `navig generate rembg` | Remove the background → transparent PNG (Recraft). |
| `navig generate statement` | ⬛ Render a STATEMENT overlay — one line, in Schema's own interface language. |
| `navig generate style list` | List every template id with its kind and title. |
| `navig generate style show` | Print one template: source, prompt, motion (side effects), layout. |

</details>

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

NAVIG **Generate**: make images, video and audio with **your own provider keys**, keep the
variants you like, and edit them. It owns the generation service, the generator clients,
beats, tonality and the sprite pipeline; the shared foundation it and navig run on (video
cut/fx/captions, audio edit, refs library, variant store, provider catalog) is
**`navig-media-core`**, which this package depends on.

## On its own

```bash
pip install navig-generate                # adds the `navig-generate` command
export OPENAI_API_KEY=…                   # or RECRAFT_API_KEY, GEMINI_API_KEY, STABILITY_API_KEY…
navig-generate gen "a red fox, flat vector" --provider openai_gpt_image
navig-generate list                       # short ids; every command accepts them
navig-generate keep 8ab12f25
pip install "navig-generate[process]"     # Pillow: process / palette / contact-sheet
pip install "navig-generate[beats]"       # numpy: beat and tonality detection
```

Variants land in the project you stand in (`<nearest folder with .navig/>/.navig/refs`,
else the current folder) and are recorded in `<data dir>/generated_media.db` — the same
library navig reads, so nothing moves when you install navig later. Keys come from the
environment or the shared encrypted vault (`navig-vault`). ffmpeg must be on `PATH` for
video and audio edits.

## Inside navig

The same commands are `navig generate …` (next to navig's analyse/briefing commands), and
the deck's media screens use this engine. navig's old paths stay identity aliases:
`navig.media.{generation_service,beats,tonality,processing}` and
`navig.tools.{image,video,audio}_generation` from this package, the rest
(`navig.media.{types,refs_library,…}`, `navig.tools.media_providers`) from `navig-media-core`.
Deck screens need navig.
