Skip to content

Latest commit

 

History

51 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Venice Media Skill

Python 3.11+ License: MIT Code Style: Ruff Type Checked: mypy Tests: pytest

Venice Media Skill — Media generation for any AI CLI

Venice Media Skill is a host-neutral Agent Skill and Python bridge that lets an existing AI CLI use the Venice API for media generation without replacing the original host agent.

The host agent—Kimi Code, Claude Code, Codex, Gemini CLI, OpenCode, or another shell-capable interface—continues to reason, ask questions, and manage the conversation. This package provides a narrow subprocess boundary for:

  • 🎨 Images: generate, edit, multi-edit, upscale, background removal
  • 🎬 Video: generate, retrieve, transcribe; reference/edit/extend/stitch workflows expressed through video.generate inputs and prompt tokens
  • 🔊 Audio: text-to-speech (TTS), music/audio generation, retrieve, transcribe, voice cloning
  • 🔍 Live model discovery and model-aware parameter planning
  • Quotes, queue persistence, polling, artifact storage, and redacted metadata sidecars

All CLI stdout is JSON; diagnostics and errors go to stderr.


Quick start

Install

# Clone and install in editable mode for development
git clone https://github.com/spearchucker667/Venice-Media-Skill.git
cd Venice-Media-Skill
python -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'

# Or use the install script
./scripts/install.sh --host generic --scope user

Authenticate

Set the API key in your shell. Never commit it.

export VENICE_API_KEY='your-venice-api-key-here'

On macOS, store the key in Keychain under service venice-api-key and account $USER, then use venice-media-keychain so agent subprocesses can resolve it.

Verify

venice-media --version
venice-media doctor
venice-media doctor --online

Generate an image

venice-media plan image.generate --prompt 'A cinematic sunset over a quiet ocean'
venice-media run examples/requests/image-generate.json

A dry-run manifest prints the resolved provider payload without spending credits:

{
  "version": "1",
  "operation": "image.generate",
  "model": "MODEL_FROM_LIVE_CATALOG",
  "prompt": "A cinematic sunset over a quiet ocean",
  "parameters": { "aspect_ratio": "1:1", "resolution": "1K", "variants": 1 },
  "execution": { "dry_run": true }
}

Supported operations

Media Operations
Images image.generate, image.edit, image.multi_edit, image.upscale, image.background_remove
Video video.generate, video.retrieve, video.transcribe
Audio audio.generate, audio.retrieve, audio.tts, audio.transcribe, audio.voice_clone

Documentation

Reference materials:


Security invariants

  • API keys are never stored by the bridge; VENICE_API_KEY is read from the environment or macOS Keychain only.
  • Downloads use an isolated, unauthenticated client with HTTPS, allow-list, and SSRF protections.
  • Paid queued operations require explicit quote approval; queue timeouts never auto-resubmit.
  • Seedance face-media consent requires explicit user approval of a persisted challenge.
  • Reserved provider/transport keys cannot be injected through parameters.

See docs/security-and-privacy.md for the full policy.


Development

python -m pip install -e '.[dev]'
./scripts/validate.sh

License

MIT

About

Extend any AI CLI or agent with Venice-powered image, video, speech, and multimodal media generation.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages