Quickstart
There are three ways to get a first answer:
- Ask your coding agent. Paste one prompt into Claude Code, Codex, Cursor, or another agent that can run commands, and it does the Docker install for you.
- Install with Docker (recommended if you’d rather run it yourself). One command starts the engine, the Studio web UI, Postgres, and Redis on your machine. Videos are processed locally with ffmpeg inside the engine container, so you don’t need S3 or a cloud sandbox.
- Run from source. Clone the repo and use the
ambientCLI against a local video file. It needs no Docker, database, or server.
Either way you need an API key for an OpenAI-compatible chat-completions endpoint. Ambient defaults to OpenRouter.
Set up with your coding agent
Section titled “Set up with your coding agent”Paste this into Claude Code, Codex, Cursor, or any agent that can run commands:
Set up Ambient, an open-source video engine for AI agents, on this machine.Read the setup guide and follow it:curl -fsSL https://ambient-intelligence-hq.github.io/agents/setup.mdShow me your plan before installing anythingThe agent follows the setup guide for agents. It checks Docker, asks how you want to provide your API key and settings, shows you its plan, and waits for your go-ahead before installing.
When it’s done, the agent verifies the install and gives you the Studio and API URLs. It follows the same steps as the next section, so you can check its work against them.
Install with Docker
Section titled “Install with Docker”-
Check that Docker is running.
You need Docker Desktop on macOS or Windows, or Docker Engine with the compose plugin on Linux.
Terminal docker compose versionYou should see a version string such as
Docker Compose version v2.x. If the command fails, install or start Docker first. The installer checks this too and stops with a hint. -
Run the installer.
Terminal curl -fsSL https://ambient-intelligence-hq.github.io/install.sh | bashTerminal curl -fsSL https://raw.githubusercontent.com/ambient-intelligence-hq/ambient/main/install/install.sh | bashTerminal bash install/install.shThe installer asks four questions. Press Enter to accept a default:
Prompt Default LLM endpoint (OpenAI-compatible) https://openrouter.ai/api/v1Agent model (plans and answers) qwen/qwen3.8-27bVideo model (watches the clips; must accept video input) qwen/qwen3.8-27bAPI key none. Input is hidden; leave it empty to add it later. It then writes
~/.ambient/(adocker-compose.yml, a private.envwith generated secrets, andbin/ambientctl, which is also linked into~/.local/bin), pulls the images, and starts everything. The first pull takes a few minutes.You should see
Ambient is running., followed by the Studio and API URLs. Your browser opens the Studio automatically. -
Confirm the services are healthy.
Terminal ambientctl statuscurl http://localhost:8080/v1/healthzambientctl statuslists thepostgres,redis,engine, andstudiocontainers and prints the URLs. The health check should return{"status":"ok"}.Service Default URL Studio (web UI) http://localhost:3000API (Anthropic SDK base_url)http://localhost:8080 -
Set your LLM key, if you skipped it.
Terminal ambientctl config set LLM_API_KEY sk-or-...You should see
Updated LLM_API_KEY. Applying…, and the stack restarts with the new key.ambientctl config showlists every setting with secrets redacted. Use the same command to change models, for exampleambientctl config set AGENT_MODEL google/gemini-3.1-pro-preview. -
Ask your first question in the Studio.
Open the Studio (
ambientctl open, or the Studio URL from step 3). Click Add video, drop a file onto the stage, or paste a YouTube URL. Then type a question.Choose Agent mode to have the agent work step by step with tools, or Fast mode for a single quick pass. You should see the agent’s tool calls stream in, followed by an answer that cites timestamps in the video.
Install without prompts
Section titled “Install without prompts”To script the install, pass the key as an environment variable and use --yes:
curl -fsSL https://ambient-intelligence-hq.github.io/install.sh | AMBIENT_LLM_KEY=sk-or-... bash -s -- --yes| Option | What it does |
|---|---|
-y, --yes | Accept defaults and don’t prompt. The key comes from AMBIENT_LLM_KEY. |
--dir DIR | Install directory. Default: ~/.ambient. |
--version TAG | Image tag. Default: latest. |
--no-start | Write the config only; don’t pull or start anything. |
--no-open | Don’t open the browser at the end. |
Environment variables AMBIENT_LLM_BASE_URL, AMBIENT_MODEL, AMBIENT_VIDEO_MODEL, AMBIENT_STUDIO_PORT, AMBIENT_ENGINE_PORT, and AMBIENT_BIND override the matching defaults. Run bash install/install.sh --help from a clone for the full list.
Re-running the installer upgrades in place and keeps your settings, secrets, and data.
Manage the install
Section titled “Manage the install”ambientctl status # containers + URLsambientctl logs engine # follow logs (engine, studio, postgres, redis)ambientctl stop # stop everythingambientctl start # start and wait until healthyambientctl update # pull newer images for this tag and restartambientctl config get ENGINE_API_KEY # the API key for the Anthropic SDKambientctl uninstall # remove containers, keep data (--purge deletes it)Run from source
Section titled “Run from source”This path runs the ambient CLI directly against a video file on disk. It runs the same agent loop as the server but keeps everything in memory, so you don’t need Postgres, Redis, S3, or a sandbox.
Prerequisites:
- uv and Python 3.13
ffmpegandffprobeon yourPATH(macOS:brew install ffmpeg; Debian/Ubuntu:apt install ffmpeg)- An API key for an OpenAI-compatible endpoint, such as OpenRouter
-
Clone the repo and install dependencies.
Terminal git clone https://github.com/ambient-intelligence-hq/ambient.gitcd ambientuv syncYou should see uv create
.venvand install the packages. To ask about YouTube or other http(s) URLs as well as local files, runuv sync --extra youtubeinstead, which addsyt-dlp. -
Add your LLM settings.
Create a
.envin the repo root:.env LLM_BASE_URL=https://openrouter.ai/api/v1LLM_API_KEY=sk-or-...AGENT_MODEL=google/gemini-3.1-pro-previewAGENT_MODELplans and answers. It can be any model your endpoint serves, andgoogle/gemini-3.1-pro-previewis the default if you leave it out. -
Check your setup.
Terminal uv run ambient doctorYou should see
oknext toffmpegandffprobe, your redacted API key, the base URL and model, and thenAll good. Any problems are listed with a fix.yt-dlpshows as missing unless you installed theyoutubeextra, and that only matters for URL input. -
Run your first analysis.
Terminal uv run ambient analyze path/to/video.mp4 "What happens in this video?"You should see a panel with the model, video, mode, and question. Next, each tool call streams in as a line such as
→ search_clip(...). Then the answer is rendered as Markdown with timestamp citations, followed by a token and cost footer.For follow-up questions with the conversation kept, use
uv run ambient chat path/to/video.mp4.
To run the HTTP server from source instead (for the SDK or the Studio), see the SDK quickstart.