ryu-image 0.1.12

Image-generation modality primitive for Ryu: `generate(prompt) -> image` with a swappable engine seam (local stable-diffusion.cpp by default; OpenRouter/Replicate/fal cloud providers routed through the Gateway). An extracted Core capability crate — in-process by default and consumed as a NON-optional path dependency (the `POST /api/images/generate` data path reaches it unconditionally). Owns the image-gen abstraction + routing: prompt validation, default-count, the local-vs-cloud dispatch, and the media proxy/gateway-forward mechanics. Host couplings the crate cannot own (the local sd-server base-url, the Gateway url/token, and lazy-starting the sd.cpp sidecar) are injected via the narrow `ImageHost` trait, so the crate has ZERO dependency on apps/core.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[package]
name = "ryu-image"
version = "0.1.12"
edition = "2021"
license = "Apache-2.0"
description = "Image-generation modality primitive for Ryu: `generate(prompt) -> image` with a swappable engine seam (local stable-diffusion.cpp by default; OpenRouter/Replicate/fal cloud providers routed through the Gateway). An extracted Core capability crate — in-process by default and consumed as a NON-optional path dependency (the `POST /api/images/generate` data path reaches it unconditionally). Owns the image-gen abstraction + routing: prompt validation, default-count, the local-vs-cloud dispatch, and the media proxy/gateway-forward mechanics. Host couplings the crate cannot own (the local sd-server base-url, the Gateway url/token, and lazy-starting the sd.cpp sidecar) are injected via the narrow `ImageHost` trait, so the crate has ZERO dependency on apps/core."
repository = "https://github.com/amajorai/ryu"

# Versions are matched to apps/core/Cargo.toml so there is no version skew when
# Core links this crate in-process. This crate has ZERO dependency on apps/core.
[dependencies]
reqwest = { version = "0.12", features = ["json"] }
serde_json = "1"
tokio = { version = "1", features = ["rt"] }
tracing = "0.1"

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt"] }