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" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Find out why this payment failed.",
"input": { "payment_id": "pay_123" },
"files": [{ "file": "playbook.md" }],
"connections": {
"payments": { "ref": "payments-api", "allowed_methods": ["GET"] }
},
"web": { "allow": ["status.example.com"] },
"shell": false,
"max_cost_micros": 500000
}'- Queuedbudget $0.50 reserved
- MicroVM ready
- Worker startedshell off, web on
- read
playbook.md - payments
GET /payments/pay_123 → 200failure_code: insufficient_funds - payments
GET /payments/pay_123/attempts → 2002 × insufficient_funds - Succeeded3 model calls, 5,101 tokensCause: The customer's bank declined the payment for insufficient funds. Evidence: failure_code: insufficient_funds. Attempts: Both attempts failed for the same reason. Next step: Suggest the customer retry after resolving the balance issue or use another card.
- Worker destroyed$0.002618 charged, $0.497382 released
Replayed from a real run of this example against the sample payments API.
playbook.md is a file you upload and payments-api is a connection you save. Set it up step by step
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",
"allowed_methods": ["GET"]
}
},
"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, signed in with your own keys or accounts
- 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.
Kept 30 days after the run ends, then deleted. With zero data retention, you get only the output, once.
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 one image, licensed per installation. Export the install files from it and create the stack in your own AWS account.
Read the self-hosting guidedocker login ephemer.al -u dep_… # the password is your license token
docker run --rm -v "$PWD:/out" \
ephemer.al/ephemeral/self-hosted:$EPHEMERAL_VERSION setup all /out
aws cloudformation create-stack --stack-name ephemeral \
--template-body file://ephemeral-aws.yaml \
--capabilities CAPABILITY_IAM --parameters …