f24d138ab4
Sophisticated Python CLI for generating and manipulating images and video via the Freepik API, built with typer + rich. Commands: - generate-image: text-to-image with 8 models (flux-2-pro, mystic, seedream, etc.) - generate-video: image-to-video with 7 models (kling, minimax, runway, etc.) - generate-icon: text-to-icon in solid/outline/color/flat/sticker styles - upscale-image: 3 modes (precision-v2, precision, creative) + 2x/4x scale - upscale-video: standard/turbo modes - expand-image: outpainting with per-side pixel offsets - relight: AI-controlled relighting (Premium) - style-transfer: artistic style application (Premium) - describe-image: reverse-engineer an image into a prompt - config set/get/show/reset: configuration management Features: Rich Live polling panel, exponential backoff, --wait/--no-wait, auto-timestamped output filenames, streaming download with progress bar, FREEPIK_API_KEY env var support, venv-based setup. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
49 lines
968 B
TOML
49 lines
968 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "freepik-cli"
|
|
version = "0.1.0"
|
|
description = "A beautiful CLI for the Freepik AI API — generate images, videos, and more"
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
license = { text = "MIT" }
|
|
authors = [{ name = "Sebastian Krüger", email = "valknar@pivoine.art" }]
|
|
|
|
dependencies = [
|
|
"typer[all]>=0.12.0",
|
|
"rich>=13.7.0",
|
|
"httpx>=0.27.0",
|
|
"pydantic>=2.7.0",
|
|
"pydantic-settings>=2.3.0",
|
|
"toml>=0.10.2",
|
|
"platformdirs>=4.2.0",
|
|
"pillow>=10.3.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.2.0",
|
|
"ruff>=0.4.0",
|
|
"mypy>=1.10.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
freepik = "freepik_cli.main:app"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["freepik_cli"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py311"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "UP"]
|
|
ignore = ["E501"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.11"
|
|
strict = false
|