Ephemeral
AI agents.
Ephemeral gives you disposable workers. On each request a fresh machine starts, does your task with only the tools, files and budget you allow, then disappears. What remains is the result.
Define once. Run anywhere. Leave nothing behind.
- 1
Define the task
A prompt and input, the files, APIs and websites it may use, the model, and the most it may spend. Save it as a workflow to run it again by name.
- 2
Run it your way
Call the API, use the CLI, start one in the dashboard or set a schedule. Each run gets a fresh microVM of its own and streams every step as it happens.
- 3
Keep the result
The output, the timeline and the exact cost are recorded, and a signed callback can deliver them. The machine and everything on it are destroyed.
curl https://app.ephemer.al/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-d '{
"prompt": "Find out why this payment failed.",
"input": { "payment_id": "pay_123" },
"files": [{ "file": "playbook.md" }],
"connections": { "payments": { "ref": "payments-api" } },
"web": { "allow": ["status.example.com"] },
"shell": false,
"max_cost_micros": 500000
}'- Queuedbudget $0.50 reserved
- MicroVM readyeu-west-1
- Worker startedshell off, web on
- read
playbook.md - payments
GET /payments/pay_123 → 200decline_code: insufficient_funds - web_fetch
GET status.example.com → 200All systems operational - Succeeded4 model calls, 9,180 tokensThe card issuer declined pay_123 for insufficient funds. The processor had no incidents. Ask the customer to retry or use another card.
- Worker destroyed$0.0054 charged, $0.4946 released
Ephemeral workflows, on your schedule
Save a task as a workflow and run it whenever it is needed: from your backend with new input, from the CLI, or on a timetable like every weekday at 09:00 in Tokyo. Each run starts fresh and is recorded on its own.
- Any cadence, from every few minutes to monthly, in any time zone
- A start is skipped while the last run is still going
- Every run keeps the exact definition it used
PUT /v1/workflows/investigate-payment
{
"prompt": "Find out why this payment failed.",
"model": "openai/gpt-6-luna",
"files": [{ "file": "playbook.md" }],
"connections": {
"payments": { "ref": "payments-api" }
},
"web": { "allow": ["status.example.com"] },
"timeout_seconds": 120
}Connect your stack, keep your keys
Give agents your HTTP APIs and MCP servers. Ephemeral holds the credentials and makes each call, so no token ever enters the machine and only the methods or tools you allow get through. Web access passes the same checks.
- HTTP APIs and MCP servers, with API keys or OAuth
- Allow only the methods or tools a task needs
- Every call recorded, credentials removed from responses
"connections": {
"payments": {
"ref": "payments-api",
"allowed_methods": ["GET"]
},
"support": {
"ref": "helpdesk-mcp",
"allowed_tools": ["create_ticket"]
}
},
"web": { "allow": ["status.example.com"] }Built so nothing lingers
Nothing is shared between runs. Scratch files are discarded with the machine.
Five minutes by default. When the timeout ends, the worker is stopped and destroyed.
A broker adds your credentials and enforces the methods or tools you allow.
Reserved before the run starts. Model calls stop at the limit. The rest is released.
Mounted read-only at the path you choose, up to 4 MiB in a single run.
Output, every event and the final cost stay after the machine is gone.
Pay for the seconds it runs
Prepaid credits, no subscription. Each run reserves its budget, is charged for what it used, and releases the rest.
How pricing works- Compute
- $0.0002per second
- Models
- At costas the provider reports it
- Credits from
- $5with optional automatic top-up
Or run it in your own AWS
The same engine and dashboard as a single image. Terraform sets it up in your account, with your model provider and your own network rules. Licensed per installation.
Read the self-hosting guidepython3 scripts/configure.py --production
python3 scripts/terraform.py plan
python3 scripts/terraform.py apply
# then, on the host
EPHEMERAL_MODE=self-hosted
EPHEMERAL_LICENSE_TOKEN=lic_…
EPHEMERAL_MACHINE_ID=production-eu