diff --git a/tools/ui/src/app.d.ts b/tools/ui/src/app.d.ts
index f5af7323c8b..ec65952e9a7 100644
--- a/tools/ui/src/app.d.ts
+++ b/tools/ui/src/app.d.ts
@@ -39,6 +39,7 @@ import type {
DatabaseMessage,
DatabaseMessageExtra,
DatabaseMessageExtraAudioFile,
+ DatabaseMessageExtraVideoFile,
DatabaseMessageExtraImageFile,
DatabaseMessageExtraTextFile,
DatabaseMessageExtraPdfFile,
@@ -102,6 +103,7 @@ declare global {
DatabaseMessage,
DatabaseMessageExtra,
DatabaseMessageExtraAudioFile,
+ DatabaseMessageExtraVideoFile,
DatabaseMessageExtraImageFile,
DatabaseMessageExtraTextFile,
DatabaseMessageExtraPdfFile,
diff --git a/tools/ui/src/lib/components/app/badges/BadgesModality.svelte b/tools/ui/src/lib/components/app/badges/BadgesModality.svelte
index 841f1dd9fa9..d87184ea9bc 100644
--- a/tools/ui/src/lib/components/app/badges/BadgesModality.svelte
+++ b/tools/ui/src/lib/components/app/badges/BadgesModality.svelte
@@ -1,5 +1,5 @@
{#each modalities as modality (modality)}
- {#if modality === ModelModality.VISION || modality === ModelModality.AUDIO}
+ {#if modality === ModelModality.VISION || modality === ModelModality.AUDIO || modality === ModelModality.VIDEO}
- Vision
+ Vision (Image)
+ {:else if modality === ModelModality.VIDEO}
+
+
+ Vision (Video)
{:else}
diff --git a/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsList/ChatAttachmentsListItem/ChatAttachmentsListItemThumbnailFile.svelte b/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsList/ChatAttachmentsListItem/ChatAttachmentsListItemThumbnailFile.svelte
index 3eeace42f16..df49dd4673f 100644
--- a/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsList/ChatAttachmentsListItem/ChatAttachmentsListItemThumbnailFile.svelte
+++ b/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsList/ChatAttachmentsListItem/ChatAttachmentsListItemThumbnailFile.svelte
@@ -1,10 +1,12 @@
{#if currentItem}
@@ -58,6 +65,8 @@
{:else if isAudio}
+ {:else if isVideo}
+
{:else if isUnavailable}
{/if}
diff --git a/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsPreview/ChatAttachmentsPreviewCurrentItem/ChatAttachmentsPreviewCurrentItemVideo.svelte b/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsPreview/ChatAttachmentsPreviewCurrentItem/ChatAttachmentsPreviewCurrentItemVideo.svelte
new file mode 100644
index 00000000000..4ebbd592280
--- /dev/null
+++ b/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsPreview/ChatAttachmentsPreviewCurrentItem/ChatAttachmentsPreviewCurrentItemVideo.svelte
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ {#if videoSrc}
+
+ {:else}
+
Video preview not available
+ {/if}
+
+
{currentItem?.name || 'Video'}
+
+
diff --git a/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsPreview/ChatAttachmentsPreviewThumbnailStrip.svelte b/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsPreview/ChatAttachmentsPreviewThumbnailStrip.svelte
index 4c3bd780764..3f19ee39c10 100644
--- a/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsPreview/ChatAttachmentsPreviewThumbnailStrip.svelte
+++ b/tools/ui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsPreview/ChatAttachmentsPreviewThumbnailStrip.svelte
@@ -1,5 +1,5 @@