AI Enrichment
AI Enrichment automatically generates and improves product content — titles, descriptions, tags, and SEO keywords — using large language models. You choose the AI provider and model, and Pixee PIM handles batching, cost tracking, and result storage.
List AI providers
Returns all configured AI providers and their status.
Request
curl https://api.pixeepim.com/api/v1/ai-providers/ \
-H "Authorization: Bearer {api_key}"
Response
{
"providers": [
{
"id": "claude",
"name": "Anthropic Claude",
"status": "active",
"models": ["claude-opus-4-7", "claude-sonnet-4-6"],
"cost_per_1k_tokens": 0.015,
"latency_ms": 300
},
{
"id": "openai",
"name": "OpenAI",
"status": "active",
"models": ["gpt-4o", "gpt-4o-mini"],
"cost_per_1k_tokens": 0.03,
"latency_ms": 250
}
]
}
Create an enrichment batch job
Creates and queues a batch enrichment job for a set of products.
Body parameters
- Name
name- Type
- string
- Description
Descriptive name for the job.
- Name
description- Type
- string
- Description
Optional longer description of the job's purpose.
- Name
filters- Type
- object
- Description
Filter object to select which products to enrich (e.g.
{"is_active": true, "supplier_id": "..."}). Enriches all products if omitted.
- Name
enrichmentTypes- Type
- array
- Description
List of content types to generate. Accepted values:
description,title,tags,seo_keywords,long_description.
- Name
scheduled_at- Type
- string
- Description
ISO 8601 datetime to schedule the job for later execution. Starts immediately if omitted.
Request
curl -X POST https://api.pixeepim.com/api/v1/enrichment/batch \
-H "Authorization: Bearer {api_key}" \
-H "Content-Type: application/json" \
-d '{
"name": "SEO Descriptions – Active Products",
"description": "Generate SEO-optimised French descriptions for all active products",
"filters": {"is_active": true},
"enrichmentTypes": ["description", "seo_keywords"]
}'
Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "SEO Descriptions – Active Products",
"status": "pending",
"total_products": 842,
"estimated_cost_usd": 3.80,
"created_at": "2026-03-15T09:00:00Z"
}
Get batch job status
Returns the current status and progress of a batch enrichment job.
Path parameters
- Name
job_id- Type
- string
- Description
The batch job UUID.
Query parameters
- Name
status- Type
- string
- Description
Filter jobs by status when listing:
pending,running,completed,failed,paused,cancelled.
- Name
limit- Type
- integer
- Description
Maximum number of jobs to return when listing (default: 20).
- Name
offset- Type
- integer
- Description
Pagination offset when listing (default: 0).
To control a running job, use the dedicated action endpoints:
POST /enrichment/batch/{job_id}/start, /pause, /resume, or /cancel.
Request
curl https://api.pixeepim.com/api/v1/enrichment/batch/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer {api_key}"
Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "SEO Descriptions – Active Products",
"status": "completed",
"total_products": 842,
"processed": 842,
"failed": 3,
"total_cost_usd": 3.74,
"created_at": "2026-03-15T09:00:00Z",
"completed_at": "2026-03-15T11:30:00Z"
}
Enrich a single product
Triggers AI enrichment for a single product and returns the results. Useful for on-demand enrichment from your own workflows.
Path parameters
- Name
product_id- Type
- string
- Description
The product UUID.
Query parameters
- Name
types- Type
- array
- Description
Comma-separated list of enrichment types to run:
description,title,tags,seo_keywords,long_description. Runs all configured types if omitted.
- Name
auto_apply- Type
- boolean
- Description
If
true, applies the enriched fields directly to the product without a manual apply step (default:false).
Use GET /enrichment/products/{product_id} to retrieve stored enrichment results, GET /enrichment/products/{product_id}/progress to poll progress, and POST /enrichment/products/{product_id}/apply?fields=description,title to apply specific fields selectively.
Request
curl -X POST "https://api.pixeepim.com/api/v1/enrichment/products/550e8400-e29b-41d4-a716-000000000001?types=description,seo_keywords&auto_apply=false" \
-H "Authorization: Bearer {api_key}"
Response
{
"product_id": "550e8400-e29b-41d4-a716-000000000001",
"status": "queued",
"types": ["description", "seo_keywords"],
"auto_apply": false,
"created_at": "2026-03-15T10:00:00Z"
}
Document-based enrichment (free)
Enriches a product using only your previously indexed documents — datasheets, certificates, manuals — via Qdrant vector search (RAG). No LLM token cost is incurred for the retrieval step itself.
This endpoint is ideal when you have rich supplier documentation already indexed via Document Intelligence and want to populate product fields at zero AI cost.
Path parameters
- Name
product_id- Type
- string
- Description
The product UUID.
Query parameters
- Name
auto_apply- Type
- boolean
- Description
If
true, applies the enriched fields directly to the product (default:false).
Requires documents previously indexed via Document Intelligence (/document-intelligence). The pipeline performs a Qdrant semantic search against the pm_products collection (512-dim, Cosine similarity) and synthesises the retrieved chunks into structured product fields. If fewer than 3 relevant chunks are found, the result may be incomplete — consider running a standard web enrichment job instead.
Request
curl -X POST "https://api.pixeepim.com/api/v1/enrichment/products/550e8400-e29b-41d4-a716-000000000001/from-documents?auto_apply=true" \
-H "Authorization: Bearer {api_key}"
Response
{
"product_id": "550e8400-e29b-41d4-a716-000000000001",
"enrichment_type": "document_rag",
"rag_chunks_found": 5,
"has_web": false,
"auto_apply": true,
"phases": {
"collect": "completed",
"synthesize": "completed"
},
"result": {
"seo_description": "Produit certifié CE conforme à la directive RoHS, conçu pour une utilisation industrielle.",
"technical_summary": "Tension 230V, puissance 1500W, IP44, dimensions 200×150×80 mm."
},
"created_at": "2026-03-15T10:05:00Z"
}
Provider recommendations
Returns ranked AI provider recommendations for a specific enrichment use case, based on quality, cost, and speed benchmarks.
Path parameters
- Name
use_case- Type
- string
- Description
One of:
description_longue_seo,title_optimization,tags_generation,seo_keywords.
Query parameters
- Name
max_cost- Type
- number
- Description
Maximum acceptable cost per 1k tokens (USD).
- Name
min_quality- Type
- number
- Description
Minimum quality score 0–10.
Request
curl "https://api.pixeepim.com/api/v1/ai-services/recommendations/description_longue_seo?max_cost=0.02" \
-H "Authorization: Bearer {api_key}"
Response
{
"use_case": "description_longue_seo",
"recommendations": [
{
"provider_name": "Claude Sonnet",
"cost_per_1k_tokens": 0.015,
"quality_score": 9.2,
"speed_ms": 2500,
"recommended": true
},
{
"provider_name": "GPT-4o Mini",
"cost_per_1k_tokens": 0.006,
"quality_score": 7.8,
"speed_ms": 800,
"recommended": false
}
]
}