Skip to main content

simplicio-video

Máquina de vídeo determinística do Simplicio Runtime: um contrato YAML vira um MP4, pela linha de comando (simplicio-video) ou por um servidor MCP (simplicio-video-mcp). Template por setor, biblioteca de motion e render com HyperFrames, voz com cache e áudio normalizado em -14 LUFS. O render não usa aleatoriedade, relógio nem LLM.

Código, documentação e issues: github.com/simpletibr/simplicio-videos.

Instalação

pip install simplicio-video              # ou: pipx install simplicio-video
pip install "simplicio-video[mcp]"       # com o servidor MCP (simplicio-video-mcp)

Para usar o simplicio-video dentro do seu agente (Claude Code, Cursor, Codex e outros), copie a skill para o host:

simplicio-video install --dry-run --global   # mostra o que seria copiado, sem escrever nada
simplicio-video install --global             # copia a skill para as pastas dos hosts, sob o seu home

O install só copia a skill e grava um recibo com o hash de cada arquivo; nunca sobrescreve arquivo que não é dele, e o --uninstall remove só o que ele criou. Sem --global, ele instala no projeto atual.

Extras opcionais: [local-tts] (as bibliotecas da voz local Kokoro; a voz ainda pede mais, veja os primeiros passos) e [remote] (render no Kaggle ou no Colab).

Requisitos

  • Python >= 3.10.
  • Node >= 22.
  • ffmpeg com libass.
  • Rede no primeiro render: o motor chama npx hyperframes@0.8.97 e baixa um Chrome. Medido num HOME limpo: cerca de 470 MB (208 MB de cache do npm e 261 MB de Chrome). Os templates também carregam o GSAP pelo jsDelivr.

Primeiros passos

simplicio-video setup      # cria o workspace (tema, idioma, autonomia); não grava credencial
simplicio-video doctor     # diagnóstico do ambiente, com a correção de cada falha
simplicio-video init <cliente> <Campanha> --template <id> --nome "<Nome>"
simplicio-video validate clients/<cliente>/<campanha>/contract.yaml
simplicio-video run clients/<cliente>/<campanha>/contract.yaml --provider gemini
  • O doctor sai com erro até você rodar o setup (o workspace e a política ainda não existem).
  • simplicio-video list templates mostra os templates. O init grava só um esqueleto em ./clients/<cliente>/<campanha>/contract.yaml, na pasta atual, cheio de TODO. Preencher os TODO não basta: o esqueleto ainda não traz os blocos de motion que o template exige. O validate aponta o que falta e recusa o contrato até ele ficar completo. Para ver um contrato que funciona de ponta a ponta, siga o tutorial do primeiro vídeo (usa o contrato mínimo tests/fixtures/mini, sem chave de API) e a receita de vídeo para cliente; a copy sai só de fatos do cliente.
  • A voz vem de --provider file (WAVs seus), local ou gemini (a chave só pelo ambiente, em GEMINI_API_KEY). A voz local (Kokoro) não vem pronta: o extra [local-tts] instala kokoro-onnx e soundfile no seu ambiente, mas o motor procura um Python com essas bibliotecas em SIMPLICIO_TTS_PY (padrão ~/.local/share/simplicio-tts/cbvenv/bin/python) e os modelos kokoro-v1.0.onnx e voices-v1.0.bin em KOKORO_DIR (padrão ~/.local/share/simplicio-tts). O pacote não baixa os modelos. O run valida, gera a voz e renderiza o MP4.
  • Cada comando tem --help com exemplos.

O que não faz

  • Não posta nem publica: o MP4 fica na sua máquina. O módulo social só planeja e confere limites; quem posta é o agente, com as ferramentas do provedor e o seu sim.
  • Não chama LLM no caminho padrão: validar, voz de arquivo ou local e render rodam sem modelo. A voz gemini e os comandos opcionais (busca, swap, openverse) falam com serviços de terceiros só quando você os usa.

Plataformas

  • Linux: testado, em Python 3.11, 3.12 e 3.13 (o piso 3.10 está declarado e ainda não foi exercitado).
  • macOS e Windows: ainda NÃO confirmados em máquina real. Por isso não aparecem nos classificadores do pacote. O código e os testes cobrem os dois por simulação, e o scripts/smoke_so.py roda os comandos de operação numa pasta isolada para quem quiser confirmar na própria máquina (guia).

Documentação

Licença

AGPL-3.0-or-later. Texto integral em LICENSE. As dependências de terceiros mantêm as próprias licenças (lista e documentos legais); as fontes dos templates (Anton, Fredoka e Inter) vêm com a licença OFL ao lado do arquivo.

Metadata

Release files for simplicio-video 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simplicio-video 0.5.0
File Size Uploaded
simplicio_video-0.5.0.tar.gz 6.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for simplicio-video 0.5.0
File Interpreter ABI Platform
simplicio_video-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.1 MB

Release files / simplicio_video-0.5.0.tar.gz

Download URL simplicio_video-0.5.0.tar.gz
Size 6.5 MB
Tags Source
SHA-256 checksum
How to use checksums
41b7c589b7eeb7be89dfc34e831a6794e78cfe7e1cf6125e381a36d528be9d4f
BLAKE2b-256 checksum
How to use checksums
a18509f2065d2328842fecc75b2d2e5cb0d30b993f14efe3f7a7772044a7f221
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / simplicio_video-0.5.0-py3-none-any.whl

Download URL simplicio_video-0.5.0-py3-none-any.whl
Size 6.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e290dd4930ce89095aedbea79f3fb7b645edd054cf2bac938e59e00d111d9f57
BLAKE2b-256 checksum
How to use checksums
5b3b294f416fb3bd8d7a0edab32c8b4f7fcb254ea2b4379f31be097662cd18ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page