genviz 0.2.0

Unified AI media generation (image + video) via Flux, Gemini, Grok, OpenAI, and Sora APIs
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.75"
name = "genviz"
version = "0.2.0"
authors = ["Taj Sangha"]
build = false
exclude = [
    ".github/",
    ".claude/",
    ".env",
    ".env.*",
    "CLAUDE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unified AI media generation (image + video) via Flux, Gemini, Grok, OpenAI, and Sora APIs"
homepage = "https://github.com/tsangha/genviz-rs"
documentation = "https://docs.rs/genviz"
readme = "README.md"
keywords = [
    "ai",
    "image-generation",
    "video-generation",
    "openai",
    "gemini",
]
categories = [
    "multimedia::images",
    "multimedia::video",
    "api-bindings",
]
license = "MIT"
repository = "https://github.com/tsangha/genviz-rs"

[features]
cli = [
    "dep:clap",
    "dep:anyhow",
    "dep:tracing-subscriber",
    "dep:base64",
    "image",
    "video",
]
default = [
    "image",
    "video",
]
flux-image = ["dep:base64"]
gemini-image = ["dep:base64"]
grok-image = ["dep:base64"]
grok-video = ["dep:base64"]
image = [
    "flux-image",
    "gemini-image",
    "grok-image",
    "openai-image",
]
openai-image = ["dep:base64"]
openai-video = ["dep:base64"]
veo = ["dep:base64"]
video = [
    "grok-video",
    "veo",
    "openai-video",
]

[lib]
name = "genviz"
path = "src/lib.rs"

[[bin]]
name = "genviz"
path = "src/bin/genviz.rs"
required-features = ["cli"]

[[example]]
name = "edit_image"
path = "examples/edit_image.rs"

[[example]]
name = "generate_image"
path = "examples/generate_image.rs"

[[example]]
name = "generate_video"
path = "examples/generate_video.rs"

[[example]]
name = "multi_provider"
path = "examples/multi_provider.rs"

[dependencies.anyhow]
version = "1"
optional = true

[dependencies.async-trait]
version = "0.1"

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.clap]
version = "4"
features = ["derive"]
optional = true

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "multipart",
]

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
    "time",
]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "fmt",
]
optional = true

[lints.clippy]
all = "warn"

[lints.rust]
missing_docs = "warn"