Skip to main content

Local-first CLI for short-form video and creator analysis

Project description

shortform-ai

Local-first CLI for short-form video and creator analysis.

Recommended persistent install for repeated agent use:

pipx install shortform-ai
~/.local/bin/shortform-ai doctor

If the app is already installed with pipx:

pipx upgrade shortform-ai

Homebrew remains a good system install path once a tap is wired:

brew install shortform-ai

For one-off venv tests, use Python 3.12+ explicitly:

python3.12 -m venv .venv-shortform-ai
.venv-shortform-ai/bin/python -m pip install --upgrade pip
.venv-shortform-ai/bin/python -m pip install shortform-ai yt-dlp

Local transcription is installed on first use when no OpenAI key is configured:

shortform-ai setup transcription --local

shortform-ai analyze defaults to --transcribe auto. It uses OpenAI transcription when OPENAI_API_KEY is configured; otherwise bootstrap analyze installs local faster-whisper on first use. The default local model is base, which downloads a model cache on first use. Use --transcribe-model small for better local accuracy.

Analysis requires a real transcript. If neither OpenAI transcription nor local faster-whisper is available, analyze stops with setup instructions instead of producing a transcript-free strategy pass.

Starter Prompt For Codex / Claude Code

Paste this into an agent harness after installing shortform-ai:

Use the shortform-ai skill to analyze this reel:
{instagram-url}

Run the default agent-mode workflow, apply the agent response, and summarize the
final report with the contact sheet inline. Never print Instagram session
values.

CLI Usage

For one-prompt agent workflows, use the bootstrap command after installing the package:

shortform-ai bootstrap analyze {instagram-url-or-file} --instagram-from-chrome

It installs/updates the agent skill when a compatible skill target is detected, optionally imports the user's own Chrome Instagram session, runs analysis, fetches Instagram comments when possible, and writes bootstrap.json beside the analysis artifacts. The analyzer emits progress lines during long-running steps so the assistant does not appear stuck. When comment fetch succeeds, bootstrap merges the audience summary back into the root report.md, audience.md, and comments.json.

The default --ai auto mode is agent mode, designed for Codex, Claude Code, or another assistant interface. The CLI performs deterministic media work and writes agent_request.md, agent_schema.json, and agent_response.example.json instead of shelling out to a nested agent CLI. The active assistant should read the request, inspect the contact sheet/keyframes/transcript/comments, write agent_response.json, then run:

shortform-ai agent apply {analysis-dir}

The existing --ai codex and --ai api modes remain available for users who explicitly want nested Codex CLI execution or API-key automation.

For Instagram reel URLs with local Instagram auth configured, analysis also writes safe creator, aggregate metrics, and audio attribution metadata to media.json, reel.json, and report.md, including likes, comments, plays/views, creator profile fields, and named background music/original-audio title when Instagram exposes them.

Video analysis also tries to write contact_sheet.jpg and always writes report.md, a rich Markdown overview that points at the contact sheet when available. Each analysis includes timeline.md and timeline.json, a reverse-engineered beat timeline grounded in detected shots and transcript windows. Caption-heavy reels also get onscreen_text.md; transcript.md is the audio transcript, so it may contain music lyrics instead of the visible story text.

Development usage from a source checkout:

python3.12 -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install -e .
.venv/bin/shortform-ai doctor

The CLI reads a user's own local Instagram Chrome session only after an explicit shortform-ai auth instagram --from-chrome command. Session values are redacted from output and are stored in local secure storage when available.

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

shortform_ai-0.1.15.tar.gz (45.3 kB view details)

Uploaded Source

Built Distribution

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

shortform_ai-0.1.15-py3-none-any.whl (41.5 kB view details)

Uploaded Python 3

File details

Details for the file shortform_ai-0.1.15.tar.gz.

File metadata

  • Download URL: shortform_ai-0.1.15.tar.gz
  • Upload date:
  • Size: 45.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shortform_ai-0.1.15.tar.gz
Algorithm Hash digest
SHA256 c596425b9219d3794f3e4e5fb8677c00419fb894375f621060ec8c30914ae19b
MD5 0a6f5e31d50ab51cd0be8b45256e911e
BLAKE2b-256 e3d8d0a1c45fb9abd9b7bc1253f654c87344a843e74556380c9658c9e8af8aea

See more details on using hashes here.

Provenance

The following attestation bundles were made for shortform_ai-0.1.15.tar.gz:

Publisher: release-shortform-ai.yml on intelc/shortform-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shortform_ai-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: shortform_ai-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 41.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shortform_ai-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 8b493e0fed04754eae4aea63a1fc05b5f6d4cc3b3fae62a1f2eb3693768a9c44
MD5 cf46ff5816cbd9ede4f10744134ff3ce
BLAKE2b-256 1282942124b61bde9b1ada515b5fd71380fc422a7857cf0b7b54763b67fea6f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for shortform_ai-0.1.15-py3-none-any.whl:

Publisher: release-shortform-ai.yml on intelc/shortform-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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