feat: refresh AI/ML API integration and add usage attribution
Hi! I'm Vito from aimlapi.com — an AI aggregator that gives access to 1000+ models in one API, trusted by 400k+ users.
We've been discussing the existing AI/ML API integration with @PeterDaveHello on X, including how much usage comes from chatGPTBox. Thanks for adding support for us independently! Since that integration was built without our involvement and doesn't include attribution, we currently can't identify usage originating from chatGPTBox or report those numbers back to you.
This PR builds on your existing integration by adding usage attribution, refreshing the model presets, and making an AI/ML option available among the default API modes. Attribution will let us measure the traffic chatGPTBox generates and provide the basis for a revenue-generating partnership.
aimlapi.com now operates with zero markup. Through our partner program, you can set your own markup on usage coming from this integration and earn revenue from it. We'd like to work with you on connecting the existing integration to that program.
My contacts: vito.b@aimlapi.com (email / Slack), Telegram: @vito_bush
Why
chatGPTBox already supports AI/ML API through an integration your team implemented independently. Following our conversation with @PeterDaveHello on X about usage from chatGPTBox, this PR adds attribution so we can measure that usage and report it back to you.
It also refreshes the model presets, exposes one AI/ML preset among the default API modes, and removes the legacy completions endpoint declaration.
Changes
- Refresh the AI/ML preset list with GPT-6.1 Sol, GPT-6 Astra/Luna, Claude Fable 5.1 and Claude 5.5 variants, Gemini 4 Argon / 3.8 Flash, and Kimi K3. Update the Claude Sonnet 4.6, Gemini 3.1 Pro, and Kimi K2.5 model IDs, and use the
AI/MLlabel consistently. - Migrate the dated Claude Sonnet 4.6 key to its canonical preset, including saved model selections and custom API modes.
- Add
AI/ML (GPT-6.1 Sol)to the default API modes. Using it still requires the user's AI/ML API key. - Add
X-AIMLAPI-Source: agent/chatgptboxandX-AIMLAPI-Partner-IDattribution headers only when the request hostname is exactlyapi.aimlapi.com. This covers built-in and direct custom-provider requests; proxies, look-alike hosts, and other providers receive no AI/ML attribution headers. Existing OpenRouter attribution is preserved. - Remove
completionsPathfrom the built-in AI/ML provider and add regression coverage for endpoint resolution, model defaults/labels, saved-config migration, and attribution scoping.
Validation
Reviewed all 8 changed files in the GitHub comparison. GitHub reports that the branches can be merged automatically. No GitHub Actions runs were found for feat/aiml-refresh at the time of review. Tests, builds, and live API requests were not run during this browser review.
To validate locally with Node.js 22 or later:
npm ci
npm test
npm run lint
npm run pretty:check
npm run build
For a manual smoke test, load the built extension, configure an AI/ML API key, select an AI/ML preset, and send a chat message. Also check that an existing configuration using the dated Claude Sonnet 4.6 preset migrates to the canonical preset.
Notes
The attribution headers identify chatGPTBox as the source of requests; they do not add individual user identifiers. They provide the basis for measuring integration usage and attributing partner revenue. Partner-program setup and commercial terms can be coordinated separately.
Summary by CodeRabbit
- New Features
- Expanded the AI/ML model catalog with new GPT, Claude, Gemini, and Kimi options.
- Set GPT-6.1 Sol as the default AI/ML model.
- Improvements
- Updated model entries to use revised provider identifiers and descriptions.
- Existing configurations using dated Claude Sonnet 4.6 identifiers now resolve to the current model entry, preserving the selected model and API mode.