Skip to main content

1. Create a workspace key

Open Keeps, sign in, and create or select a workspace. In Settings → API keys, mint a key and copy it when it is shown. Set that key only in the server environment that runs your generation code:

2. Install a server SDK

Create one Keeps client at process scope. Do not create a new client for every request.

3. Wrap one generation

Create the Keeps generation immediately before your existing provider call. Pass the exact provider request as input.
externalId/external_id should be the stable ID of the output in your own database. The URL is optional and is used to inspect the media; it is never the asset’s identity. If one request produces several outputs, include every output in the same complete call. Keeps creates an independently actionable asset for each one.

4. Track a meaningful action

Call track in the server handler where the action actually succeeds:
Use product language your team already understands: approved, added_to_sequence, published, shared, or remixed are all valid examples.

5. Verify the result

Open Assets in the workspace. The first asset should show its generation context and the action you recorded. Settings shows instrumentation diagnostics if an output or action cannot be joined. At process shutdown or a serverless response boundary, perform one bounded flush. See Serverless and shutdown.
Keeps capture runs in the background and fails open. A Keeps delivery problem does not change the result of your media-generation request.