Skip to main content
Every image you upload to Pindeck is automatically analyzed by a Vision Language Model (VLM). The model inspects the image and returns structured metadata that populates the image’s detail panel.

What gets extracted

Extracted fieldWhere it appears in the UI
TitleImage title in the gallery card and detail modal
DescriptionDescription section in the detail modal
Tags (5–10)Color-coded tag badges in the modal and table view
Colors (5 hex codes)Clickable color swatches in the modal and color filter in table view
Visual styleStored internally (e.g. 35mm Film, CGI, VHS)
CategoryCategory badge in the modal; used for gallery filtering
GroupGroup badge (e.g. Film, Commercial, Music Video); used for filtering and AI prompting
Project nameGroups images into project rows in the gallery
Moodboard nameSub-label within a project
The VLM selects the category from the standard list: Abstract, Architecture, Art, Blockbuster Film, Character Design, Cinematic, Commercial, Design, Environment, Fashion, Film, Gaming, Headshot, Indy Film, Illustration, Interior, Landscape, Photography, Sci-Fi, Streetwear, Technology, Texture, UI/UX, and Vintage.

Model configuration

The VLM runs via OpenRouter. The model is configurable through the OPENROUTER_VLM_MODEL environment variable. The default model is:
qwen/qwen3-vl-8b-instruct
You can substitute any vision-capable model available on OpenRouter.

When analysis runs

Analysis starts immediately after the image is uploaded and its Convex storage URL is available. The image enters aiStatus: processing as soon as the upload mutation completes.
Discord-imported images land in a pending moderation queue with aiStatus: queued. Analysis does not run automatically. It is triggered only after you manually approve the image from the Upload → Discord queue.
You can re-trigger analysis from the Edit Image modal using the Re-analyze button. This resets aiStatus to processing and schedules a new VLM run. Any existing AI-generated fields are overwritten with the new results.

AI status states

Images move through the following aiStatus values:
StatusMeaning
queuedWaiting for approval (Discord imports only)
processingVLM analysis or variation generation is in progress
completedAnalysis finished successfully
failedAnalysis failed (e.g. missing API key, VLM error)
The Upload tab shows a live AI Analysis in Progress section for all images currently in processing state. Images older than 18 hours in processing are automatically moved to failed on the next page load.

Viewing results

Analysis results appear in the image detail modal. Open any image from the gallery to see its extracted metadata in the panel below the image.
If you provided a title, description, or tags during upload, the VLM may overwrite them. To keep your manual values, edit the image after analysis completes or re-run analysis with your preferred values pre-filled.

Build docs developers (and LLMs) love