Skip to main content

OpenBBQ

Website · Documentation · 中文说明

OpenBBQ turns a video URL or local file into an editable bilingual subtitle draft and a burned video through one AI-agent prompt.

OpenBBQ provides a default agent init/next/apply/finish facade so different agents can turn one simple prompt into an editable bilingual subtitle draft. The default workflow aims for a reliable 70–80 point first pass: useful without manual setup, but intentionally not presented as a professionally reviewed final subtitle.

OpenBBQ keeps structural correctness, bounded translation batches, artifact freshness, and one-time export/burn deterministic. The agent handles translation and may correct an obvious ASR occurrence or learn a reusable glossary term while translating. Low-confidence words, display budgets, and glossary consistency are advisory, not mandatory review queues.

An explicit --glossary always wins. Otherwise, once a URL fetch identifies the author, OpenBBQ binds a stable author-and-target glossary automatically. Terms learned in the task overlay are published conflict-safely after delivery and reused by later videos from the same author in that target language—without asking the model to choose a glossary.

For professional work, open the same workspace with openbbq review or import the exported ASS into Aegisub or an editor. Human edits are authoritative and the automatic workflow does not overwrite them. Fine-grained ASR, glossary, translation, export, and burn commands remain available as expert tools.

Why OpenBBQ?

In Chinese fansub and creator communities, the process of translating and subtitling foreign-language videos is often called "barbecue". Raw untranslated material is "raw meat"; the translated, subtitled result is "cooked meat".

OpenBBQ is an open-source, agent-native workflow for turning raw video into editable bilingual subtitles and burned output.

Requirements

  • Python 3.12 or newer
  • uv, used to install the openbbq command and manage Python dependencies
  • ffmpeg, used for video download, audio/video merging, audio extraction, and video burning; subtitle burning also needs FFmpeg with libass support
  • An ASR backend. OpenBBQ currently supports whisper.cpp through its Python binding
  • An ASR model. Models are not downloaded with the package. After installation, run openbbq models list, then explicitly run openbbq models pull ...
  • A local desktop browser if the video platform requires login, human verification, or a browser challenge

Install

Agent Install

Read the [install guide](https://openbbq.acane.dev/install-agent.md) and help me install [OpenBBQ](https://github.com/ACAne0320/OpenBBQ).

Manual Install

uv tool install 'openbbq[whispercpp]'
openbbq doctor
openbbq models list
openbbq models pull large-v3-turbo
openbbq doctor

Quickstart

After installing OpenBBQ and its agent skill, give the agent one simple prompt:

Make this video into a bilingual Chinese-English subtitled video: https://www.youtube.com/watch?v=...

The agent should run the complete workflow and return the editable ASS plus the hard-subtitled video. You do not need to describe ASR, batching, glossary maintenance, export, or burning in the prompt.

The underlying agent entry point is:

openbbq --json agent init '<video-or-url>' --workspace workspaces/demo --to zh [--glossary <name>]
openbbq --json agent next --workspace workspaces/demo

Continue following agent next until it returns done. A normal task has only mechanical commands, translation batches of at most 20 cues, one finish, and no default visual QA.

For local files, YouTube login, professional review, ASS presets, outputs, and command details, see the Usage Guide.

For agent setup and the packaged OpenBBQ skill, see the Agent Install Guide and the OpenBBQ Skill.

Roadmap

  • Demo video
  • Detailed documentation site
  • Windows and Linux support
  • More ASR backends
  • More video-platform authentication support
  • Agent-led discovery of videos worth translating
  • Reproducible target-language translation briefs
  • Visual translation review for manual translators
  • More subtitle editing and publishing workflows

License

Apache-2.0. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openbbq-0.0.12.tar.gz (547.8 kB view details)

Uploaded Source

Built Distribution

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

openbbq-0.0.12-py3-none-any.whl (574.8 kB view details)

Uploaded Python 3

File details

Details for the file openbbq-0.0.12.tar.gz.

File metadata

  • Download URL: openbbq-0.0.12.tar.gz
  • Upload date:
  • Size: 547.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for openbbq-0.0.12.tar.gz
Algorithm Hash digest
SHA256 7a8acbd07dc4e8857cb73b36c54f71a6958ba15f1223cc1e75d3202d6007fe27
MD5 91b6e87cdac87eef60cace0933e6d483
BLAKE2b-256 3b9a0624fe512b5aeeee09c8bff6e1436d20377727e85e60b77fb34055e7c13b

See more details on using hashes here.

File details

Details for the file openbbq-0.0.12-py3-none-any.whl.

File metadata

  • Download URL: openbbq-0.0.12-py3-none-any.whl
  • Upload date:
  • Size: 574.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for openbbq-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 ff418dc5b999c60cf1f86256d2b1d938866d789014fa0bd192f8c1327de82b01
MD5 9c94fe0af3507b1c8aca7dc37982091a
BLAKE2b-256 c8904e54e41750b6866a4cd26963e8fee629fa4485fdc676d7d4b34a5508449c

See more details on using hashes here.

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