Image Analysis API

Image in. SEO metadata out.

One API endpoint. You send an image – LucidSEO analyses it via AI and instantly returns alt text, meta description, caption and keywords. Ready for CMS, shop or DAM.

POST /api/photos/analyze
202 Accepted
{
  "alt_text": "Sonnenuntergang über den Weinbergen des Kaiserstuhls, warmes Abendlicht",
  "description": "Malerische Weinberge am Kaiserstuhl im goldenen Abendlicht – ideal für Naturliebhaber.",
  "caption": "Goldene Stunde am Kaiserstuhl – Weinberge im Abendrot",
  "keywords": [
    "Kaiserstuhl", "Weinberge", "Sonnenuntergang",
    "Baden-Württemberg", "Weinregion"
  ],
  "photo_id": 42
}
4 Fields
Per analysis response
<2s
Avg. response time
12+
Languages supported
REST API
JSON · Webhook · Async
How it works

Four steps from image to ready metadata.

01
Send image URL

You send the URL of your image – LucidSEO downloads and analyses it.

02
AI analyses

Image content, context and mood are detected. Language freely selectable.

03
SEO optimised

All fields are aligned with search engine guidelines and character limits.

04
Webhook callback

Structured JSON response via webhook – directly into your CMS, shop or database.

Response Fields

What you get back.

Every analysis returns four SEO-relevant fields – character-limit compliant and ready to use.

All fields are aligned with common CMS standards.
Character limits: alt_text ≤ 120, description ≤ 155, caption ≤ 80, keywords max. 10 terms.

alt_text
string · max 120 chars
Precisely describes the image content for screen readers and search engines. Primary keyword naturally embedded.
description
string · max 155 chars
Click-optimised description text for search results. Contains a call to action and context.
caption
string · max 80 chars
Journalistically written image caption. Suitable for blog, gallery and social media.
keywords
array · max 10 terms
Relevant search terms, prioritised by search volume and image context.
Landscape Sunset Vineyards + more
API Documentation

Integration in minutes.

POST https://lucidseo.net/api/photos/analyze Image analysis (async)
// cURL Example
curl -X POST https://lucidseo.net/api/photos/analyze \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/image.jpg", "webhook_url": "https://yourshop.com/api/seo/webhook", "context": "Product photography"}'
Parameter Type Description
url required string URL of the image to analyse. JPG, PNG, WebP.
webhook_url string URL called with the result after analysis is complete.
context string Optional context hint for more precise keywords (e.g. "product photography e-commerce").
PHP / Laravel Example Laravel
$response = Http::withToken(config('lucidseo.api_key'))
    ->post('https://lucidseo.net/api/photos/analyze', [
        'url' => $imageUrl,
        'webhook_url' => 'https://yourshop.com/api/seo/webhook',
        'context' => 'Product photography',
    ]);
 
// Response: {"message": "Analysis started.", "photo_id": 42}
// Result is sent via webhook with X-LucidSeo-Signature header
Preise

Einfache Preise. Keine Überraschungen.

API Access

Ready to integrate?

Request an API key – free test quotas included. No credit card required.