From 09948144eb06260f7773d079b53fce551f55188e Mon Sep 17 00:00:00 2001 From: Drashi Date: Sun, 7 Sep 2025 14:30:03 +0200 Subject: feat: add gif asset type support (#1876) * feat: add gif asset type support * skip inference for gis --------- Co-authored-by: Mohamed Bassem --- apps/workers/workers/inference/tagging.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'apps/workers') diff --git a/apps/workers/workers/inference/tagging.ts b/apps/workers/workers/inference/tagging.ts index 5697e73a..6dd146af 100644 --- a/apps/workers/workers/inference/tagging.ts +++ b/apps/workers/workers/inference/tagging.ts @@ -15,7 +15,7 @@ import { customPrompts, tagsOnBookmarks, } from "@karakeep/db/schema"; -import { readAsset } from "@karakeep/shared/assetdb"; +import { ASSET_TYPES, readAsset } from "@karakeep/shared/assetdb"; import serverConfig from "@karakeep/shared/config"; import logger from "@karakeep/shared/logger"; import { buildImagePrompt, buildTextPrompt } from "@karakeep/shared/prompts"; @@ -122,7 +122,7 @@ async function inferTagsFromImage( bookmark: NonNullable>>, inferenceClient: InferenceClient, abortSignal: AbortSignal, -) { +): Promise { const { asset, metadata } = await readAsset({ userId: bookmark.userId, assetId: bookmark.asset.assetId, @@ -133,6 +133,12 @@ async function inferTagsFromImage( `[inference][${jobId}] AssetId ${bookmark.asset.assetId} for bookmark ${bookmark.id} not found`, ); } + if (metadata.contentType === ASSET_TYPES.IMAGE_GIF) { + logger.info( + `[inference][${jobId}] Skipping inference for bookmark with id "${bookmark.id}" because it's a GIF.`, + ); + return null; + } const base64 = asset.toString("base64"); return inferenceClient.inferFromImage( -- cgit v1.2.3-70-g09d2