Documentation

API documentation

Command reference

Every command the Eddie AI CLI publishes and the SDK method behind it: login, new, import, prompt and export. What each one takes, what it returns, and what it prints.

How to read this page

Every command below shows the CLI form and the SDK method it calls. Both authenticate the same key the same way, so a call that works one way works the other — pick whichever fits the code you are writing.

login / whoami

Confirms the key resolves to a workspace and reports who owns it. Neither command changes anything, and neither costs credits.

terminal
eddie login
# Signed in as devops@studio.com (workspace a1b2c3…).

eddie whoami
# devops@studio.com	a1b2c3…
script
const { email, workspaceId } = await eddie.whoami();
Returns
email and workspaceId as strings.
Fails when
The key is missing, malformed, or revoked.

new

Creates a project, uploads and imports the local files you name, and waits for analysis to finish. Returns the promptable share id — the id every later command takes.

terminal
eddie new --import ./footage/*.mov [--name "Client Interview"]
# (progress on stderr)
# a1b2c3d4e5f6…    ← the share id, on stdout
script
const { shareId } = await eddie.createAndImport(
  { name: "Client Interview", files: [{ path: "./footage/a.mov" }, { path: "./footage/b.mov" }] },
  { onProgress: (p) => console.error(p.stage, p.file ?? "", p.detail ?? "") },
);
Takes
One or more local file paths, an optional project name, and an optional mode — only rough_cut (the default) is wired.
Returns
{ projectId, shareId }. Use shareId for every later command; projectId is internal bookkeeping.
Duration
Blocks until analysis finishes — uploads run first, then transcription and content analysis. Minutes, for real footage.
Cost
The usual import rate. See how credits and billing work.

import

Adds local files to a project that already exists, and waits for the new media to finish analysis. The project stays the same share id; nothing about media already in it changes.

terminal
eddie import "$id" ./more-footage/*.mov
script
await eddie.addMedia("$id", [{ path: "./more-footage/c.mov" }]);
Takes
A share id, plus one or more local file paths.
Returns
{ projectId, shareId } — the same shareId you passed in.

prompt

Prompts Eddie and streams the run as it happens: activity as the model works, the reply as it is written, and a final status once the run ends.

terminal
eddie prompt "$id" "cut a 90s teaser, punchy captions"
# (activity on stderr, the reply streams to stdout)
script
for await (const event of eddie.prompt(shareId, "cut a 90s teaser")) {
  if (event.type === "reply") process.stdout.write(event.text);
  if (event.type === "activity") console.error("·", event.text);
  if (event.type === "done") console.error("run", event.status);
}
Takes
A share id and the prompt text.
Yields
activity, reply and notice events as the run progresses, then one done event with a status: done, failed, cancelled, queued, held or refused.
held or queued
The run has not started analysing yet — held is the import-readiness lock, queued means capacity. Neither is a failure; the CLI prints the notice and exits.

export

Renders an edit to MP4 and returns a download URL.

terminal
eddie export "$id" "Teaser" --format mp4 [--resolution 1080p|source]
# https://cdn.heyeddie.ai/renders/teaser….mp4
script
const { url } = await eddie.export(shareId, "Teaser", "mp4", "1080p");
Takes
A share id, the edit’s name exactly as it appears in the project, and optionally a resolution — 1080p (default) or source.
Returns
{ url } — the finished MP4’s download link.
Only format
mp4. NLE interchange formats (Premiere, Resolve, FCPXML, OTIO, EDL) are not wired against this client.

What is not listed

  • Every other export format. Only MP4 renders today. A workflow that needs a Premiere or Resolve project has to go through the Eddie web application for now.
  • Project modes besides Chat & Edit. new always creates a rough_cut project.
  • Reading a project back — transcripts, sources, an edit’s contents. This client is write-oriented: create, import, prompt, export. Reading a project’s detail back out is the MCP surface’s job — see the tool reference.

None of these are permanent limits of the product. They are the limits of what this client wires up so far.