Metadata-Version: 2.4
Name: shotfable
Version: 0.1.0a1
Summary: Official command-line client for the ShotFable API (preview): one sentence in, a finished short film out.
Author: ShotFable
License: Proprietary (preview)
Project-URL: Homepage, https://shotfable.com
Project-URL: Documentation, https://shotfable.com/docs/cli
Keywords: shotfable,text-to-video,video,cli,ai
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Video
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# shotfable — ShotFable command-line client (pre-release)

> **The production API is not open yet.** `api.shotfable.com` opens later; no API keys are issued
> and nothing is billed today. Until then, point the CLI at a test environment with
> `--api-base <URL>` (or `SHOTFABLE_API_BASE=<URL>`).
>
> **生产 API 即将开放，目前不发放密钥、不收费。** 现在可以用 `--api-base <URL>`（或环境变量
> `SHOTFABLE_API_BASE`）指向测试环境试用。

ShotFable turns one sentence into a finished short film: consistent characters, stable voices,
clean video plus subtitles. `shotfable` is its official command-line client: one command per API
operation, one JSON envelope on stdout, stable exit codes, automatic idempotency keys. Python 3.11+,
standard library only.

## Install

```sh
uv tool install shotfable      # or: pipx install shotfable
```

## Quick start (against a test environment)

```sh
export SHOTFABLE_API_BASE=https://<test-environment>/v1
printf '%s' "$KEY" | shotfable auth login      # the key is read from stdin, never from argv
shotfable film quote --idea "A lighthouse keeper's last night on the island"
shotfable commands                              # every command → API operation
```

Without `--api-base`, commands target `https://api.shotfable.com/v1` and fail with a
`network_error` envelope until the production API opens.

## For agents

Every run prints exactly one JSON envelope on stdout; progress events go to stderr. Exit codes,
recovery rules and the full command list ship inside the package: `shotfable skill path` prints the
bundled `SKILL.md`.

Docs: https://shotfable.com/docs/cli · API reference: https://shotfable.com/docs/api
