Ask

You start a project with npm create vfrey@beta my-channel and ask your agent for a video from inside it. The project holds AGENTS.md, CLAUDE.md, GEMINI.md, and the product skill for every agent, so the agent finds the commands without an install step. Projects describes the folder. Outside a project, Your agent has the skill install command for each agent. An agent with no skills support reads that page and runs the CLI directly.

A run

One-off and series

A series runs on its cadence. npx vfrey worker ticks while a terminal is open, and the background worker keeps every project’s series running. A run with --about or --script is a one-off video about one subject. A series job in progress does not block it.

Voice

The default voice is macOS say. Set TTS_PROVIDER=openai for a model voice or TTS_PROVIDER=none for none. The transcript is written next to the MP4.

Publish

vfrey posts through official APIs only, with your own keys. The AI-disclosure flag is always set, and a refused disclosure blocks the post. Until you add keys, publish is skipped with missing_key. See Disclosure.

Outcomes

rejected means the take failed a quality check. blocked means a compliance check stopped it. vfrey reviews every video before and after the render, and retries the render once when that can help. See Quality checks.

Rules

  • Official APIs only. No browser automation, scraping, or downloads of other creators’ videos.
  • TikTok is not a topic source and gets no comment replies.