DriverDevelopers

Bring your own engine

By default a run executes on the cloud's managed engine. Pass engine, model and engineKey when you build the client and the run executes on your own provider account instead — same agent, same events, your inference bill.

const { Driver } = require('@crtrs/driver');

// Runs execute on YOUR provider account: your engine, your model, your key.
const driver = new Driver({
  apiKey: 'dr_••••••••',
  engine: 'openrouter',           // openai | mistral | claude | openrouter
  model: 'openai/gpt-oss-120b',   // required when engine is set
  engineKey: 'sk-or-••••••••',    // required when engine is set
});

const done = await driver.run('what is https://creators.industries about?');
console.log(done.result);

engine is one of openai, mistral, claude or openrouter. Choosing one REQUIRES its engineKey: the SDK throws at construction and the API answers 400 without it, so a run can never silently execute your engine choice on someone else's key. model is required as well: name the exact model the runs execute on.

The key is held in memory for the run and discarded when it ends: never persisted, never logged, never visible in the dashboard. Execution billing is unchanged — one accepted run is one execution from your plan; what changes is who pays the inference underneath.