9a0ac85f8c
WD14 and SigLIP are image-only. The current backfill enqueues every ImageRecord row, and tag_and_embed retries 3 times (~3 min) on each video before giving up, blocking the serialized ml queue. Worse, videos never get a prediction row, so every subsequent backfill re-enqueues them. - tag_and_embed: early return 'unsupported_format' for video extensions, no retry. - backfill: filter the outerjoin query to exclude video extensions via VIDEO_EXTS from app.utils.image_importer. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>