AI
OpenAI
Use your own OpenAI API key with ShopAssist, including organization and project ids and EU data residency.
Create a key
As of October 2026, in the OpenAI platform:
- Open platform.openai.com → Settings → Projects and create a project for ShopAssist. For EU processing, create it in the Europe region.
- In the project, open API keys → Create new secret key, name it "ShopAssist" and copy it.
- Make sure the project has billing set up and a usage limit that fits your traffic.
Account tier
Any paid API account works. New accounts start with low rate limits; ShopAssist reports rate_limited when you hit them. Raise your usage tier at OpenAI as traffic grows.
Recommended models
| Model | Tier | Context window | Images | Processing |
|---|---|---|---|---|
GPT-5.6 Luna gpt-5.6-luna | Standard | 1,050,000 tokens | Yes | global |
GPT-6 Astra gpt-6-astra | Premium | 1,050,000 tokens | Yes | global |
GPT-6 Luna gpt-6-luna | Standard | 1,050,000 tokens | Yes | global |
GPT-6 Sol gpt-6-sol | Premium | 1,050,000 tokens | Yes | global |
Fields
| Field | Notes |
|---|---|
| API key | sk-…; stored encrypted |
| Organization (optional) | org-…, if your key belongs to several organizations |
| Project (optional) | proj_… |
| EU data residency | Choose Europe (eu.api.openai.com) for projects created in the Europe region |
| Model | A model from the list above or any current gpt- model |
Data location
Data location
Use a project created in the Europe region (eu.api.openai.com) for EU processing. Abuse-monitoring logs may be kept up to 30 days unless you have zero data retention or modified abuse monitoring.
Connection test
| Check | Required | What it tests | On failure |
|---|---|---|---|
auth | Yes | The key is accepted (lists models or sends a tiny request) | auth_failed, insufficient_quota, gemini_free_tier, endpoint_blocked, provider_unavailable, model_not_found |
tools | Yes | The model calls a tool with valid arguments and continues after the result | tools_unsupported: the model can't run the shopping tools |
ttft | No (degraded) | The first answer event arrives within 8 seconds | ttft_slow: works, but shoppers wait |
parallel_tools | No | Two tools are called in one step | parallel_tools_unsupported: slightly slower answers |
vision | No | The model names the colour of a test image | vision_unsupported: visual search is off |
context | Self-hosted only | A fact at the start of an 8,000-token prompt is recalled | context_too_small: the endpoint truncates prompts |
Cost
What your own AI key costs
Estimate based on list prices on 2026-09-28; your provider bills you directly.
| Provider | Model | USD per 1,000 conversations | ≈ EUR per 1,000 conversations |
|---|---|---|---|
| Azure OpenAI | GPT-6 Luna | $3.61 | €3.10 |
| Mistral | Mistral Small 4 | $4.71 | €4.05 |
| OpenAI | GPT-5.6 Luna | $7.62 | €6.55 |
| Google Gemini | Gemini 3.1 Flash-Lite | $8.85 | €7.61 |
| OpenAI | GPT-5 mini | $9.85 | €8.47 |
| Google Gemini | Gemini 3.5 Flash-Lite | $12.02 | €10.34 |
| Mistral | Mistral Large 3 | $14.70 | €12.64 |
| OpenAI | GPT-5.4 mini | $26.55 | €22.83 |
| Anthropic | Claude Haiku 4.5 | $36.10 | €31.05 |
| Anthropic | Claude Sonnet 5 | $72.20 | €62.09 |
Troubleshooting
- 401 /
auth_failed: the key was revoked or belongs to another project. Create a new key in the right project. - 429 /
insufficient_quota: the account has no credit or hit its monthly limit. Add credit or raise the limit. - 429 /
rate_limited: your usage tier is too low for your traffic; add a fallback. model_not_found: the model isn't enabled for the project, or was retired.- EU residency errors: an EU key only works with the EU setting, and a non-EU key only without it.
Last updated on