assets.dev

For agents

Discover, register, and render with no human in the loop.

Agents can find assets.dev, get a key, and start rendering on-brand images and videos without a person setting up an account first. Bootstrap from https://assets.dev/llms.txt — it links the OpenAPI spec, the skills catalog, the MCP endpoint, and the auth flow.

Have an API key

Connect the MCP endpoint.

The same Bearer key authenticates the REST API. Humans mint keys at app.assets.dev → Settings → API keys.

claude mcp add --transport http assets-dev https://app.assets.dev/api/mcp --header "Authorization: Bearer YOUR_API_KEY"

No key yet

Register with the device flow.

Request a device code, have a human approve the returned verificationUri in the browser (the link is also emailed to that address), then poll for the key.

1. Register

curl -s -X POST "https://app.assets.dev/api/v1/agent/register" \
  -H "content-type: application/json" \
  -d '{"email":"you@example.com"}'
{ "deviceCode": "…", "userCode": "…", "verificationUri": "…", "interval": 5 }

2. Poll for the key

curl -s -X POST "https://app.assets.dev/api/v1/agent/token" \
  -H "content-type: application/json" \
  -d '{"deviceCode":"YOUR_DEVICE_CODE"}'
HTTP 428 { "error": "authorization_pending" } while pending, then
HTTP 200 { "apiKey": "…", "tokenType": "bearer" }

Open without auth

Discover before you register.

These REST endpoints need no key — browse templates and the full API surface before registering. The MCP endpoint itself requires auth: a Bearer key, or OAuth sign-in from connector UIs like claude.ai and ChatGPT.

GET /api/v1/openapi.json
Full REST surface.
GET /api/v1/templates
List templates; /api/v1/templates/{id} for one.
GET /api/v1/skills
List skills; /api/v1/skills/{name} for one.