Skip to main content

Universal AI Model Runtime & Recipe Platform — run any AI model with a single command.

Project description

kdream

Universal AI Model Runtime & Recipe Platform

PyPI version License Python

kdream is the npm for AI inference. Define a recipe, run it anywhere.

Clone a GitHub repo. Run it anywhere. Share the recipe.


Installation

From PyPI

pip install kdream

From GitHub (latest)

pip install git+https://github.com/ismaelfaro/kdreams.git

From a local clone

git clone https://github.com/ismaelfaro/kdreams.git
cd kdreams
pip install -e .

Recommended: use uv (faster)

# from PyPI
uv add kdream

# from GitHub
uv add git+https://github.com/ismaelfaro/kdreams.git

# from local clone
git clone https://github.com/ismaelfaro/kdreams.git
cd kdreams
uv pip install -e .

Verify the install:

kdream --version
# kdream, version 0.9.1

CLI Quick Start

Browse available recipes

kdream list
kdream list --tag image-generation
kdream list --search whisper

Run a model

# Image generation (requires GPU, 8 GB+ VRAM)
kdream run stable-diffusion-xl-base --prompt "a cyberpunk city at sunset"

# Speech transcription (CPU-friendly)
kdream run whisper-large-v3 --audio-file interview.mp3

# Text generation
kdream run llama-3-8b-instruct --prompt "Explain quantum computing simply"

# Pass any recipe input as a flag
kdream run stable-diffusion-xl-base \
  --prompt "a red panda hacker" \
  --steps 40 \
  --guidance-scale 8.0 \
  --seed 42 \
  --width 1024 \
  --height 1024

# Show detailed progress (uv output, subprocess commands)
kdream run whisper-large-v3 --audio-file interview.mp3 --verbose

Run from a local recipe file

kdream run ./kdream/recipes/image-generation/stable-diffusion-xl-base.yaml \
  --prompt "a red panda hacker"

# or a relative path
kdream run ./my-recipe.yaml --prompt "test"

Pre-install without running

# Download repo + weights ahead of time
kdream install stable-diffusion-xl-base
kdream install whisper-large-v3

# Show detailed install progress
kdream install llama-3-8b-instruct --verbose

Generate a recipe from any GitHub repo

# Requires ANTHROPIC_API_KEY
export ANTHROPIC_API_KEY=sk-ant-...

# Auto-saves to ./recipes/<category>/<name>.yaml
kdream generate --repo https://github.com/Tongyi-MAI/Z-Image

# Or specify an explicit output path
kdream generate --repo https://github.com/nikopueringer/CorridorKey --output ./my-recipe.yaml

Uses a 5-agent Claude pipeline: RepoInspector → EntrypointFinder → ModelLocator → ParameterMapper → RecipeWriter.

Validate a recipe file

kdream validate ./my-recipe.yaml
# ✓ Valid: my-recipe v1.0.0
#   Inputs:  3
#   Models:  1
#   Outputs: 1

Manage installed packages

kdream packages           # list installed
kdream cache info         # disk usage
kdream cache clear        # clear all
kdream cache clear --recipe stable-diffusion-xl-base  # clear one

Run as an MCP server (service mode)

Expose all kdream capabilities as Model Context Protocol tools so any MCP-compatible client (Claude Desktop, Cursor, etc.) can invoke them.

# Install service dependencies first
uv pip install 'kdream[service]'

# stdio transport — for Claude Desktop / Cursor
kdream serve --transport stdio

# HTTP transport — local MCP endpoint at http://127.0.0.1:8765/mcp
kdream serve --transport http

# HTTP + ngrok — public URL for remote access
kdream serve --transport http --ngrok
kdream serve --transport http --ngrok --ngrok-token <token>
# or: export NGROK_AUTHTOKEN=<token>

The server exposes six tools: run_recipe, install_recipe, list_recipes, generate_recipe, validate_recipe, list_installed.

Run inference on a remote kdream server

Connect to a kdream serve instance running on another machine (or via ngrok) and run inference remotely:

# Set the remote URL once
export KDREAM_REMOTE_URL=https://abc123.ngrok.io/mcp

# Run inference on the remote machine
kdream remote run stable-diffusion-xl-base --prompt "red panda hacker"
kdream remote run whisper-large-v3 --audio-file interview.mp3

# Browse recipes available on the remote server
kdream remote list --tag image-generation

# List packages installed on the remote server
kdream remote packages

# Or pass --url per command (skips the env var)
kdream remote run llama-3-8b-instruct \
  --url http://192.168.1.10:8765/mcp \
  --prompt "Explain transformers"

Typical workflow — GPU machine → laptop:

GPU machine Your laptop
kdream serve --transport http --ngrok export KDREAM_REMOTE_URL=<ngrok-url>/mcp
Prints public ngrok URL kdream remote run stable-diffusion-xl-base --prompt "..."

Python API

import kdream

# Run inference
result = kdream.run(
    recipe="stable-diffusion-xl-base",   # registry name or local path
    prompt="a hyperrealistic red panda hacker",
    steps=40,
    guidance_scale=8.0,
    seed=42,
    verbose=False,                        # set True to stream subprocess output
)
print(result.outputs["image"])   # /path/to/output.png
print(result.metadata)           # {"backend": "local", "duration_s": 12.3, ...}

# Run from a local file
result = kdream.run(
    recipe="./kdream/recipes/image-generation/stable-diffusion-xl-base.yaml",
    prompt="test",
)

# Pre-install only
pkg = kdream.install("whisper-large-v3")
print(pkg.path)    # ~/.kdream/cache/whisper-large-v3
print(pkg.ready)   # True

# Browse recipes
for r in kdream.list_recipes(tags=["audio"]):
    print(r.name, r.description)

# Generate a recipe with AI agents (auto-saves to ./recipes/<category>/<name>.yaml)
recipe = kdream.generate_recipe(
    repo="https://github.com/Tongyi-MAI/Z-Image",
)

How It Works

kdream run stable-diffusion-xl-base --prompt "..."
      │
      ├─ 1. Recipe Resolution    → GitHub registry → bundled package recipes
      ├─ 2. Dependency Install   → uv venv + uv pip install (isolated per recipe)
      ├─ 3. Model Download       → HuggingFace / CIVITAI / URL
      ├─ 4. Backend Selection    → local GPU / Colab / RunPod (roadmap)
      ├─ 5. Inference Execution  → subprocess with mapped parameters
      └─ 6. Output Return        → file path / string / base64

Second run is fast — repo, venv, and weights are cached at ~/.kdream/cache/.


Available Recipes

Recipe Category VRAM Description
stable-diffusion-xl-base image-generation 8 GB SDXL 1.0 text-to-image
flux-1-dev image-generation 16 GB FLUX.1 [dev] by Black Forest Labs
z-image-turbo image-generation 8 GB Z-Image fast text-to-image
llama-3-8b-instruct text-generation 16 GB Meta Llama 3.1 8B chat
mistral-7b-v03 text-generation 14 GB Mistral 7B instruction-tuned
whisper-large-v3 audio CPU OpenAI Whisper transcription
musicgen-large audio 16 GB Meta MusicGen music generation
wan-2-1-t2v video-generation 8 GB Wan 2.1 text-to-video

CLI Reference

kdream run <recipe> [OPTIONS]
  --backend TEXT          Compute backend: local|colab|runpod  [default: local]
  --cache-dir TEXT        Override default cache (~/.kdream/cache)
  --force-reinstall       Force re-install even if cached
  --verbose, -v           Stream subprocess output (uv logs, commands, stderr)
  --prompt TEXT           Text prompt
  --negative-prompt TEXT  Negative prompt
  --steps INT             Inference steps
  --guidance-scale FLOAT  Guidance scale
  --seed INT              Random seed (-1 for random)
  --width / --height INT  Output dimensions
  -- KEY VALUE            Any additional recipe input

kdream install <recipe> [--backend TEXT] [--cache-dir TEXT] [--verbose, -v]
kdream list [--tag TAG]... [--backend TEXT] [--search TEXT]
kdream generate --repo URL [--output FILE] [--publish]
  # --output omitted: auto-saves to ./recipes/<category>/<name>.yaml
kdream validate <recipe-file>
kdream packages [--cache-dir TEXT]
kdream cache info [--cache-dir TEXT]
kdream cache clear [--recipe NAME] [--cache-dir TEXT]

kdream serve [OPTIONS]                    # start MCP server (requires kdream[service])
  --port INT              Port to bind  [default: 8765]
  --host TEXT             Host to bind  [default: 127.0.0.1]
  --transport [stdio|http]  MCP transport  [default: http]
  --ngrok                 Expose publicly via ngrok tunnel
  --ngrok-token TEXT      ngrok auth token (or NGROK_AUTHTOKEN env var)

kdream remote run <recipe> --url URL [OPTIONS]   # run inference on a remote server
  --url TEXT              Remote MCP server URL (or KDREAM_REMOTE_URL env var)
  --prompt / --steps / --seed / --width / --height / --guidance-scale / --output-dir
  --backend TEXT          Backend on the remote server  [default: local]

kdream remote list --url URL [--tag TAG]... [--backend TEXT]
kdream remote packages --url URL

System Requirements

Requirement Spec
Python 3.10+
UV 0.4.0+ (auto-installed if absent)
OS macOS 12+, Ubuntu 20.04+, Windows 11 (WSL2)
Storage 20 GB+ free (model-dependent)
GPU NVIDIA 8 GB+ VRAM (CUDA) or Apple Silicon (MPS) — optional for some recipes

Architecture

kdream/
  ├── core/
  │   ├── recipe.py      # Recipe parser (YAML + Markdown) + Pydantic validation
  │   ├── registry.py    # Community recipe registry client
  │   └── runner.py      # Backend orchestrator
  ├── backends/
  │   ├── local.py       # ✅ Local GPU/CPU (Phase 1)
  │   ├── colab.py       # 🔜 Google Colab (Phase 2)
  │   └── runpod.py      # 🔜 RunPod.io (Phase 3)
  ├── agents/
  │   ├── recipe_generator.py  # Multi-agent recipe generator (Claude)
  │   └── skills/              # Agent system prompt Markdown files
  ├── service/           # MCP server & remote client (kdream[service])
  │   ├── mcp_server.py  # FastMCP server with all kdream tools
  │   ├── mcp_client.py  # Async MCP client (used by `kdream remote`)
  │   └── ngrok_tunnel.py  # ngrok tunnel context manager
  └── recipes/           # Bundled recipes (shipped with the package)
      ├── image-generation/
      ├── text-generation/
      ├── audio/
      └── video-generation/

Contributing

# Dev setup
git clone https://github.com/ismaelfaro/kdreams.git
cd kdreams
uv pip install -e ".[dev]"
uv pip install "mcp>=1.6" "pyngrok>=7.0"   # optional: for service/remote features
.venv/bin/python -m pytest tests/

# Add a recipe
kdream generate --repo https://github.com/owner/repo
# Generated recipe auto-saved to kdream/recipes/<category>/name.yaml
kdream validate kdream/recipes/<category>/name.yaml
# open PR

See CONTRIBUTING.md for the full guide.


License

Apache 2.0 — see LICENSE.

Recipe YAML files: Creative Commons CC-BY 4.0.

AI model weights referenced in recipes carry their own licenses. kdream surfaces the model license in recipe metadata but does not distribute model weights.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kdream-0.9.1.tar.gz (56.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kdream-0.9.1-py3-none-any.whl (58.0 kB view details)

Uploaded Python 3

File details

Details for the file kdream-0.9.1.tar.gz.

File metadata

  • Download URL: kdream-0.9.1.tar.gz
  • Upload date:
  • Size: 56.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for kdream-0.9.1.tar.gz
Algorithm Hash digest
SHA256 d81a141d4cc0b84e2ac44de16cb60d2fc15906abf9653e0eab2b99fe6e115e2a
MD5 8ca9e307f0010f798034139e67c57361
BLAKE2b-256 09eae3fefee0a6df8121a5e30f4ab8a0759645d095599df04856eb390e834088

See more details on using hashes here.

File details

Details for the file kdream-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: kdream-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 58.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for kdream-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ab152ca925efbe670fe1063a1be54a7d44491d33e1d163ed7a12a9c51f9a55d7
MD5 80cf87d6dcbc7744f9404ed7542a8d95
BLAKE2b-256 3dba4568ad0562f8953de352118276c313ddf757e79c7e32cd830e2b511eba14

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page