mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(automate): make the pipeline builder fully multi-modal (#335)
* feat(shared): add outputModality to Tool metadata for crossing tools * feat(shared): add modalityForExtension, toolInputModality, toolOutputModality * fix(pipeline): route finalize and parent jobs to the pipeline's modality pool * feat(automate): add ConvertAudioControls pipeline step (exemplar) * feat(automate): add video tool settings controls to pipelines * feat(automate): add audio tool settings controls to pipelines * feat(automate): add document tool settings controls to pipelines * feat(automate): add chart-maker settings control to pipelines * feat(automate): warn on modality-incompatible pipeline steps * feat(automate): add single-file download button for pipeline results * refactor(automate): modality-aware icons, nav handler rename, mobile size bar * test(pipeline): cover audio, document, file, and cross-modality chains * i18n(automate): translate the modality-warning tooltip * test(pipeline): gate media-pool routing assertion on ffmpeg availability
This commit is contained in:
@@ -146,6 +146,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/image-to-pdf",
|
||||
modality: "image",
|
||||
acceptedInputs: IMAGE_INPUTS,
|
||||
outputModality: "document",
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
@@ -247,6 +248,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/ocr",
|
||||
modality: "image",
|
||||
acceptedInputs: IMAGE_INPUTS,
|
||||
outputModality: "file",
|
||||
executionHint: "long",
|
||||
},
|
||||
{
|
||||
@@ -258,6 +260,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/ocr-pdf",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
outputModality: "file",
|
||||
executionHint: "long",
|
||||
},
|
||||
{
|
||||
@@ -390,6 +393,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/transcribe-audio",
|
||||
modality: "audio",
|
||||
acceptedInputs: AUDIO_INPUTS,
|
||||
outputModality: "file",
|
||||
executionHint: "long",
|
||||
},
|
||||
{
|
||||
@@ -401,6 +405,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/auto-subtitles",
|
||||
modality: "video",
|
||||
acceptedInputs: VIDEO_INPUTS,
|
||||
outputModality: "file",
|
||||
executionHint: "long",
|
||||
},
|
||||
{
|
||||
@@ -791,6 +796,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/pdf-to-image",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
outputModality: "image",
|
||||
executionHint: "fast",
|
||||
},
|
||||
// Video
|
||||
@@ -847,6 +853,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/video-to-gif",
|
||||
modality: "video",
|
||||
acceptedInputs: VIDEO_INPUTS,
|
||||
outputModality: "image",
|
||||
executionHint: "long",
|
||||
},
|
||||
{
|
||||
@@ -1001,6 +1008,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/video-to-webp",
|
||||
modality: "video",
|
||||
acceptedInputs: VIDEO_INPUTS,
|
||||
outputModality: "image",
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
@@ -1012,6 +1020,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/video-to-frames",
|
||||
modality: "video",
|
||||
acceptedInputs: VIDEO_INPUTS,
|
||||
outputModality: "file",
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
@@ -1067,6 +1076,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/extract-subtitles",
|
||||
modality: "video",
|
||||
acceptedInputs: VIDEO_INPUTS,
|
||||
outputModality: "file",
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
@@ -1123,6 +1133,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/extract-audio",
|
||||
modality: "video",
|
||||
acceptedInputs: VIDEO_INPUTS,
|
||||
outputModality: "audio",
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
@@ -1266,6 +1277,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/waveform-image",
|
||||
modality: "audio",
|
||||
acceptedInputs: AUDIO_INPUTS,
|
||||
outputModality: "image",
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
@@ -1565,6 +1577,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/pdf-to-text",
|
||||
modality: "document",
|
||||
acceptedInputs: [".pdf"],
|
||||
outputModality: "file",
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
@@ -1679,6 +1692,7 @@ export const TOOLS: Tool[] = [
|
||||
route: "/chart-maker",
|
||||
modality: "file",
|
||||
acceptedInputs: [".csv", ".json"],
|
||||
outputModality: "image",
|
||||
executionHint: "fast",
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user