@agent-media/providers 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { localProvider } from './local/index.js';
2
+ export { transformersProvider } from './transformers/index.js';
2
3
  export { falProvider } from './fal/index.js';
3
4
  export { replicateProvider } from './replicate/index.js';
4
5
  export { runpodProvider } from './runpod/index.js';
@@ -7,12 +8,15 @@ export { runpodProvider } from './runpod/index.js';
7
8
  */
8
9
  export declare const providers: {
9
10
  local: import("@agent-media/core").MediaProvider;
11
+ transformers: import("@agent-media/core").MediaProvider;
10
12
  fal: import("@agent-media/core").MediaProvider;
11
13
  replicate: import("@agent-media/core").MediaProvider;
12
14
  runpod: import("@agent-media/core").MediaProvider;
13
15
  };
14
16
  /**
15
17
  * Register all providers with the global registry
18
+ * Order matters: local providers (local, transformers) are registered first
19
+ * so they are preferred for actions they support when no explicit provider is specified.
16
20
  */
17
21
  export declare function registerAllProviders(): void;
18
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;CAKrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;CAMrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
package/dist/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import { globalRegistry } from '@agent-media/core';
2
2
  import { localProvider } from './local/index.js';
3
+ import { transformersProvider } from './transformers/index.js';
3
4
  import { falProvider } from './fal/index.js';
4
5
  import { replicateProvider } from './replicate/index.js';
5
6
  import { runpodProvider } from './runpod/index.js';
6
7
  // Export individual providers
7
8
  export { localProvider } from './local/index.js';
9
+ export { transformersProvider } from './transformers/index.js';
8
10
  export { falProvider } from './fal/index.js';
9
11
  export { replicateProvider } from './replicate/index.js';
10
12
  export { runpodProvider } from './runpod/index.js';
@@ -13,15 +15,19 @@ export { runpodProvider } from './runpod/index.js';
13
15
  */
14
16
  export const providers = {
15
17
  local: localProvider,
18
+ transformers: transformersProvider,
16
19
  fal: falProvider,
17
20
  replicate: replicateProvider,
18
21
  runpod: runpodProvider,
19
22
  };
20
23
  /**
21
24
  * Register all providers with the global registry
25
+ * Order matters: local providers (local, transformers) are registered first
26
+ * so they are preferred for actions they support when no explicit provider is specified.
22
27
  */
23
28
  export function registerAllProviders() {
24
29
  globalRegistry.register(localProvider);
30
+ globalRegistry.register(transformersProvider);
25
31
  globalRegistry.register(falProvider);
26
32
  globalRegistry.register(replicateProvider);
27
33
  globalRegistry.register(runpodProvider);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,EAAE,aAAa;IACpB,GAAG,EAAE,WAAW;IAChB,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,cAAc;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC3C,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,EAAE,aAAa;IACpB,YAAY,EAAE,oBAAoB;IAClC,GAAG,EAAE,WAAW;IAChB,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,cAAc;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvC,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC9C,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC3C,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { MediaProvider } from '@agent-media/core';
2
2
  /**
3
- * Local provider using sharp for image manipulation
4
- * Supports: resize, convert
5
- * Zero external dependencies beyond sharp
3
+ * Local provider for zero-API-key operations
4
+ * - Sharp: resize, convert, extend
5
+ * - Transformers.js: remove-background, transcribe
6
6
  */
7
7
  export declare const localProvider: MediaProvider;
8
8
  export default localProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/local/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EAQd,MAAM,mBAAmB,CAAC;AA0D3B;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,aAgC3B,CAAC;AAsOF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/local/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EAQd,MAAM,mBAAmB,CAAC;AA8D3B;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,aA8C3B,CAAC;AAsOF,eAAe,aAAa,CAAC"}
@@ -2,10 +2,14 @@ import sharp from 'sharp';
2
2
  import { stat } from 'node:fs/promises';
3
3
  import { createReadStream } from 'node:fs';
4
4
  import { createSuccess, createError, ensureOutputDir, generateOutputFilename, getOutputPath, ErrorCodes, } from '@agent-media/core';
5
+ import { executeBackgroundRemoval } from '../transformers/background-removal.js';
6
+ import { executeTranscribe } from '../transformers/transcribe.js';
5
7
  /**
6
8
  * Actions supported by the local provider
9
+ * - Sharp: resize, convert, extend
10
+ * - Transformers.js: remove-background, transcribe
7
11
  */
8
- const SUPPORTED_ACTIONS = ['resize', 'convert', 'extend'];
12
+ const SUPPORTED_ACTIONS = ['resize', 'convert', 'extend', 'remove-background', 'transcribe'];
9
13
  /**
10
14
  * MIME types for image formats
11
15
  */
@@ -43,9 +47,9 @@ async function getInputBuffer(source, isUrl) {
43
47
  });
44
48
  }
45
49
  /**
46
- * Local provider using sharp for image manipulation
47
- * Supports: resize, convert
48
- * Zero external dependencies beyond sharp
50
+ * Local provider for zero-API-key operations
51
+ * - Sharp: resize, convert, extend
52
+ * - Transformers.js: remove-background, transcribe
49
53
  */
50
54
  export const localProvider = {
51
55
  name: 'local',
@@ -62,6 +66,20 @@ export const localProvider = {
62
66
  return await executeConvert(actionConfig.options, context);
63
67
  case 'extend':
64
68
  return await executeExtend(actionConfig.options, context);
69
+ case 'remove-background': {
70
+ const result = await executeBackgroundRemoval(actionConfig.options, context);
71
+ if (result.ok) {
72
+ return { ...result, provider: 'local' };
73
+ }
74
+ return result;
75
+ }
76
+ case 'transcribe': {
77
+ const result = await executeTranscribe(actionConfig.options, context);
78
+ if (result.ok) {
79
+ return { ...result, provider: 'local' };
80
+ }
81
+ return result;
82
+ }
65
83
  default:
66
84
  return createError(ErrorCodes.INVALID_INPUT, `Action '${actionConfig.action}' not supported by local provider`);
67
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/local/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/local/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { MediaResult, ActionContext, RemoveBackgroundOptions } from '@agent-media/core';
2
+ /**
3
+ * Dispose of the cached pipeline to prevent cleanup errors
4
+ */
5
+ export declare function disposePipeline(): Promise<void>;
6
+ /**
7
+ * Execute background removal using Transformers.js background-removal pipeline
8
+ */
9
+ export declare function executeBackgroundRemoval(options: RemoveBackgroundOptions, context: ActionContext): Promise<MediaResult>;
10
+ //# sourceMappingURL=background-removal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-removal.d.ts","sourceRoot":"","sources":["../../src/transformers/background-removal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAuC3B;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AA8BD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,CAuEtB"}
@@ -0,0 +1,112 @@
1
+ import { pipeline, env } from '@huggingface/transformers';
2
+ import sharp from 'sharp';
3
+ import { stat } from 'node:fs/promises';
4
+ import { createSuccess, createError, generateOutputFilename, getOutputPath, ErrorCodes, } from '@agent-media/core';
5
+ // Disable local model loading from disk cache check warnings
6
+ env.allowLocalModels = false;
7
+ /**
8
+ * Default model for background removal
9
+ * Xenova/modnet is publicly accessible (~25MB)
10
+ * briaai/RMBG-2.0 requires HuggingFace authentication
11
+ */
12
+ const DEFAULT_MODEL = 'Xenova/modnet';
13
+ /**
14
+ * Model aliases for user-friendly selection
15
+ */
16
+ const MODEL_ALIASES = {
17
+ 'modnet': 'Xenova/modnet',
18
+ 'rmbg-2.0': 'briaai/RMBG-2.0',
19
+ 'rmbg-1.4': 'briaai/RMBG-1.4',
20
+ };
21
+ /**
22
+ * Cache for loaded pipelines to avoid reloading models
23
+ */
24
+ let cachedPipeline = null;
25
+ let cachedModelId = null;
26
+ /**
27
+ * Dispose of the cached pipeline to prevent cleanup errors
28
+ */
29
+ export async function disposePipeline() {
30
+ if (cachedPipeline && typeof cachedPipeline.dispose === 'function') {
31
+ await cachedPipeline.dispose();
32
+ }
33
+ cachedPipeline = null;
34
+ cachedModelId = null;
35
+ }
36
+ /**
37
+ * Get or create pipeline for background removal
38
+ */
39
+ async function getBackgroundRemovalPipeline(modelId) {
40
+ if (cachedPipeline && cachedModelId === modelId) {
41
+ return cachedPipeline;
42
+ }
43
+ cachedPipeline = await pipeline('background-removal', modelId, {
44
+ device: 'cpu',
45
+ });
46
+ cachedModelId = modelId;
47
+ return cachedPipeline;
48
+ }
49
+ /**
50
+ * Resolve model name from alias or use as-is
51
+ */
52
+ function resolveModel(model) {
53
+ if (!model) {
54
+ return DEFAULT_MODEL;
55
+ }
56
+ const lowerModel = model.toLowerCase();
57
+ return MODEL_ALIASES[lowerModel] || model;
58
+ }
59
+ /**
60
+ * Execute background removal using Transformers.js background-removal pipeline
61
+ */
62
+ export async function executeBackgroundRemoval(options, context) {
63
+ const { input, model } = options;
64
+ if (!input?.source) {
65
+ return createError(ErrorCodes.INVALID_INPUT, 'Input source is required for background removal');
66
+ }
67
+ const modelId = resolveModel(model);
68
+ try {
69
+ // Get or create the background removal pipeline
70
+ const remover = await getBackgroundRemovalPipeline(modelId);
71
+ // Run background removal - accepts URL or file path
72
+ const result = await remover(input.source);
73
+ // Result is an array of RawImage objects with transparency
74
+ const outputImage = Array.isArray(result) ? result[0] : result;
75
+ if (!outputImage) {
76
+ return createError(ErrorCodes.PROVIDER_ERROR, 'No image returned from background removal');
77
+ }
78
+ // Convert RawImage to PNG using sharp (toBlob only works in browser)
79
+ // RawImage has data (Uint8ClampedArray), width, height, and channels properties
80
+ const { data, width, height, channels } = outputImage;
81
+ // Create sharp instance from raw pixel data
82
+ const sharpInstance = sharp(Buffer.from(data.buffer), {
83
+ raw: {
84
+ width,
85
+ height,
86
+ channels: channels,
87
+ },
88
+ });
89
+ const outputFilename = generateOutputFilename('png', 'nobg');
90
+ const outputPath = getOutputPath(context.outputDir, outputFilename);
91
+ // Save as PNG
92
+ await sharpInstance.png().toFile(outputPath);
93
+ const stats = await stat(outputPath);
94
+ return createSuccess({
95
+ mediaType: 'image',
96
+ action: 'remove-background',
97
+ provider: 'transformers',
98
+ outputPath: outputPath,
99
+ mime: 'image/png',
100
+ bytes: stats.size,
101
+ });
102
+ }
103
+ catch (error) {
104
+ const message = error instanceof Error ? error.message : String(error);
105
+ // Provide helpful error for model download issues
106
+ if (message.includes('fetch') || message.includes('network')) {
107
+ return createError(ErrorCodes.NETWORK_ERROR, `Failed to download model ${modelId}. Ensure you have internet connectivity. Models are cached after first download.`);
108
+ }
109
+ return createError(ErrorCodes.PROVIDER_ERROR, message);
110
+ }
111
+ }
112
+ //# sourceMappingURL=background-removal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-removal.js","sourceRoot":"","sources":["../../src/transformers/background-removal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { MediaProvider } from '@agent-media/core';
2
+ /**
3
+ * Transformers.js provider for local ML inference
4
+ * Uses @huggingface/transformers for zero-API-key operations
5
+ *
6
+ * Supports:
7
+ * - remove-background: Xenova/modnet (default), briaai/RMBG-2.0 (requires HF auth)
8
+ * - transcribe: Moonshine (default, 5x faster than Whisper), Whisper, Distil-Whisper
9
+ *
10
+ * Models are downloaded on first use and cached locally (~/.cache/huggingface/).
11
+ * No API keys required.
12
+ */
13
+ export declare const transformersProvider: MediaProvider;
14
+ export default transformersProvider;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transformers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAgB3B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAmClC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { createError, ensureOutputDir, ErrorCodes } from '@agent-media/core';
2
+ import { executeBackgroundRemoval } from './background-removal.js';
3
+ import { executeTranscribe } from './transcribe.js';
4
+ /**
5
+ * Note: ONNX runtime on macOS may cause a mutex error during cleanup.
6
+ * This does not affect output - the JSON result and saved files are correct.
7
+ * The error "mutex lock failed: Invalid argument" can be safely ignored.
8
+ */
9
+ /**
10
+ * Actions supported by the transformers provider
11
+ */
12
+ const SUPPORTED_ACTIONS = ['remove-background', 'transcribe'];
13
+ /**
14
+ * Transformers.js provider for local ML inference
15
+ * Uses @huggingface/transformers for zero-API-key operations
16
+ *
17
+ * Supports:
18
+ * - remove-background: Xenova/modnet (default), briaai/RMBG-2.0 (requires HF auth)
19
+ * - transcribe: Moonshine (default, 5x faster than Whisper), Whisper, Distil-Whisper
20
+ *
21
+ * Models are downloaded on first use and cached locally (~/.cache/huggingface/).
22
+ * No API keys required.
23
+ */
24
+ export const transformersProvider = {
25
+ name: 'transformers',
26
+ supports(action) {
27
+ return SUPPORTED_ACTIONS.includes(action);
28
+ },
29
+ async execute(actionConfig, context) {
30
+ try {
31
+ await ensureOutputDir(context.outputDir);
32
+ let result;
33
+ switch (actionConfig.action) {
34
+ case 'remove-background':
35
+ result = await executeBackgroundRemoval(actionConfig.options, context);
36
+ break;
37
+ case 'transcribe':
38
+ result = await executeTranscribe(actionConfig.options, context);
39
+ break;
40
+ default:
41
+ return createError(ErrorCodes.INVALID_INPUT, `Action '${actionConfig.action}' not supported by transformers provider`);
42
+ }
43
+ return result;
44
+ }
45
+ catch (error) {
46
+ const message = error instanceof Error ? error.message : String(error);
47
+ return createError(ErrorCodes.PROVIDER_ERROR, message);
48
+ }
49
+ },
50
+ };
51
+ export default transformersProvider;
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transformers/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;GAIG;AAEH;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,IAAI,EAAE,cAAc;IAEpB,QAAQ,CAAC,MAAc;QACrB,OAAO,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,YAA2B,EAC3B,OAAsB;QAEtB,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,MAAmB,CAAC;YACxB,QAAQ,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC5B,KAAK,mBAAmB;oBACtB,MAAM,GAAG,MAAM,wBAAwB,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACvE,MAAM;gBACR,KAAK,YAAY;oBACf,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAChE,MAAM;gBACR;oBACE,OAAO,WAAW,CAChB,UAAU,CAAC,aAAa,EACxB,WAAW,YAAY,CAAC,MAAM,0CAA0C,CACzE,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { MediaResult, ActionContext, TranscribeOptions } from '@agent-media/core';
2
+ /**
3
+ * Dispose of the cached pipeline to prevent cleanup errors
4
+ */
5
+ export declare function disposePipeline(): Promise<void>;
6
+ /**
7
+ * Execute transcription using Transformers.js automatic-speech-recognition pipeline
8
+ */
9
+ export declare function executeTranscribe(options: TranscribeOptions, context: ActionContext): Promise<MediaResult>;
10
+ //# sourceMappingURL=transcribe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcribe.d.ts","sourceRoot":"","sources":["../../src/transformers/transcribe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EAElB,MAAM,mBAAmB,CAAC;AA0D3B;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AA8BD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,CAqGtB"}
@@ -0,0 +1,140 @@
1
+ import { pipeline, env } from '@huggingface/transformers';
2
+ import { writeFile } from 'node:fs/promises';
3
+ import { createError, createTranscriptionSuccess, generateOutputFilename, getOutputPath, ErrorCodes, } from '@agent-media/core';
4
+ // Disable local model loading from disk cache check warnings
5
+ env.allowLocalModels = false;
6
+ /**
7
+ * Default model for transcription
8
+ * Moonshine is 5x faster than Whisper for short audio with better accuracy
9
+ * https://huggingface.co/onnx-community/moonshine-base-ONNX
10
+ */
11
+ const DEFAULT_MODEL = 'onnx-community/moonshine-base-ONNX';
12
+ /**
13
+ * Model aliases for user-friendly selection
14
+ */
15
+ const MODEL_ALIASES = {
16
+ // Moonshine models (recommended - faster and more accurate)
17
+ 'moonshine-tiny': 'onnx-community/moonshine-tiny-ONNX',
18
+ 'moonshine-base': 'onnx-community/moonshine-base-ONNX',
19
+ // Whisper models (for compatibility)
20
+ 'whisper-tiny': 'Xenova/whisper-tiny',
21
+ 'whisper-base': 'Xenova/whisper-base',
22
+ 'whisper-small': 'Xenova/whisper-small',
23
+ 'whisper-medium': 'Xenova/whisper-medium',
24
+ 'whisper-large-v3-turbo': 'onnx-community/whisper-large-v3-turbo',
25
+ // Distil-Whisper (fast, English only)
26
+ 'distil-whisper': 'distil-whisper/distil-large-v3.5-ONNX',
27
+ };
28
+ /**
29
+ * Cache for loaded pipelines to avoid reloading models
30
+ */
31
+ let cachedPipeline = null;
32
+ let cachedModelId = null;
33
+ /**
34
+ * Dispose of the cached pipeline to prevent cleanup errors
35
+ */
36
+ export async function disposePipeline() {
37
+ if (cachedPipeline && typeof cachedPipeline.dispose === 'function') {
38
+ await cachedPipeline.dispose();
39
+ }
40
+ cachedPipeline = null;
41
+ cachedModelId = null;
42
+ }
43
+ /**
44
+ * Get or create pipeline for automatic speech recognition
45
+ */
46
+ async function getASRPipeline(modelId) {
47
+ if (cachedPipeline && cachedModelId === modelId) {
48
+ return cachedPipeline;
49
+ }
50
+ cachedPipeline = await pipeline('automatic-speech-recognition', modelId, {
51
+ device: 'cpu',
52
+ });
53
+ cachedModelId = modelId;
54
+ return cachedPipeline;
55
+ }
56
+ /**
57
+ * Resolve model name from alias or use as-is
58
+ */
59
+ function resolveModel(model) {
60
+ if (!model) {
61
+ return DEFAULT_MODEL;
62
+ }
63
+ const lowerModel = model.toLowerCase();
64
+ return MODEL_ALIASES[lowerModel] || model;
65
+ }
66
+ /**
67
+ * Execute transcription using Transformers.js automatic-speech-recognition pipeline
68
+ */
69
+ export async function executeTranscribe(options, context) {
70
+ const { input, diarize = false, language, model } = options;
71
+ if (!input?.source) {
72
+ return createError(ErrorCodes.INVALID_INPUT, 'Input source is required for transcription');
73
+ }
74
+ // Diarization is not supported locally - return helpful error
75
+ if (diarize) {
76
+ return createError(ErrorCodes.INVALID_INPUT, 'Diarization (speaker identification) is not supported by the local transformers provider. Use --provider fal or --provider replicate for diarization support.');
77
+ }
78
+ const modelId = resolveModel(model);
79
+ try {
80
+ // Get or create the ASR pipeline
81
+ const transcriber = await getASRPipeline(modelId);
82
+ // Run transcription with timestamp chunks
83
+ // The pipeline accepts URL or file path directly
84
+ const result = await transcriber(input.source, {
85
+ return_timestamps: 'word',
86
+ chunk_length_s: 30,
87
+ stride_length_s: 5,
88
+ language: language || undefined,
89
+ });
90
+ // Result can be a single object or array
91
+ const output = (Array.isArray(result) ? result[0] : result);
92
+ if (!output || typeof output.text !== 'string') {
93
+ return createError(ErrorCodes.PROVIDER_ERROR, 'No transcription output returned from model');
94
+ }
95
+ // Build transcription data
96
+ const chunks = output.chunks;
97
+ const transcription = {
98
+ text: output.text.trim(),
99
+ language: language || 'auto',
100
+ segments: chunks
101
+ ? chunks.map((chunk) => ({
102
+ start: chunk.timestamp[0] ?? 0,
103
+ end: chunk.timestamp[1] ?? 0,
104
+ text: chunk.text.trim(),
105
+ }))
106
+ : [
107
+ {
108
+ start: 0,
109
+ end: 0,
110
+ text: output.text.trim(),
111
+ },
112
+ ],
113
+ };
114
+ // Save transcription to JSON file
115
+ const outputFilename = generateOutputFilename('json', 'transcription');
116
+ const outputPath = getOutputPath(context.outputDir, outputFilename);
117
+ await writeFile(outputPath, JSON.stringify(transcription, null, 2));
118
+ return createTranscriptionSuccess({
119
+ mediaType: 'audio',
120
+ provider: 'transformers',
121
+ outputPath: outputPath,
122
+ transcription,
123
+ });
124
+ }
125
+ catch (error) {
126
+ const message = error instanceof Error ? error.message : String(error);
127
+ // Provide helpful error for model download issues
128
+ if (message.includes('fetch') || message.includes('network')) {
129
+ return createError(ErrorCodes.NETWORK_ERROR, `Failed to download model ${modelId}. Ensure you have internet connectivity. Models are cached after first download.`);
130
+ }
131
+ // Handle audio format issues
132
+ if (message.includes('audio') ||
133
+ message.includes('decode') ||
134
+ message.includes('format')) {
135
+ return createError(ErrorCodes.INVALID_FORMAT, `Failed to process audio file. Supported formats: mp3, wav, mp4, m4a, webm, ogg. Error: ${message}`);
136
+ }
137
+ return createError(ErrorCodes.PROVIDER_ERROR, message);
138
+ }
139
+ }
140
+ //# sourceMappingURL=transcribe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcribe.js","sourceRoot":"","sources":["../../src/transformers/transcribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAO7C,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,aAAa,EACb,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,6DAA6D;AAC7D,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAE7B;;;;GAIG;AACH,MAAM,aAAa,GAAG,oCAAoC,CAAC;AAE3D;;GAEG;AACH,MAAM,aAAa,GAA2B;IAC5C,4DAA4D;IAC5D,gBAAgB,EAAE,oCAAoC;IACtD,gBAAgB,EAAE,oCAAoC;IACtD,qCAAqC;IACrC,cAAc,EAAE,qBAAqB;IACrC,cAAc,EAAE,qBAAqB;IACrC,eAAe,EAAE,sBAAsB;IACvC,gBAAgB,EAAE,uBAAuB;IACzC,wBAAwB,EAAE,uCAAuC;IACjE,sCAAsC;IACtC,gBAAgB,EAAE,uCAAuC;CAC1D,CAAC;AAkBF;;GAEG;AACH,IAAI,cAAc,GAAuB,IAAI,CAAC;AAC9C,IAAI,aAAa,GAAkB,IAAI,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,cAAc,IAAI,OAAQ,cAAsB,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5E,MAAO,cAAsB,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IACD,cAAc,GAAG,IAAI,CAAC;IACtB,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,OAAe;IAC3C,IAAI,cAAc,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,cAAc,GAAG,MAAM,QAAQ,CAAC,8BAA8B,EAAE,OAAO,EAAE;QACvE,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,aAAa,GAAG,OAAO,CAAC;IAExB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,aAAa,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA0B,EAC1B,OAAsB;IAEtB,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE5D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,WAAW,CAChB,UAAU,CAAC,aAAa,EACxB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,WAAW,CAChB,UAAU,CAAC,aAAa,EACxB,+JAA+J,CAChK,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAElD,0CAA0C;QAC1C,iDAAiD;QACjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;YAC7C,iBAAiB,EAAE,MAAM;YACzB,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,QAAQ,IAAI,SAAS;SAChC,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAc,CAAC;QAEzE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,WAAW,CAChB,UAAU,CAAC,cAAc,EACzB,6CAA6C,CAC9C,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,MAAM,aAAa,GAAsB;YACvC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;YACxB,QAAQ,EAAE,QAAQ,IAAI,MAAM;YAC5B,QAAQ,EAAE,MAAM;gBACd,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC9B,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;iBACxB,CAAC,CAAC;gBACL,CAAC,CAAC;oBACE;wBACE,KAAK,EAAE,CAAC;wBACR,GAAG,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;qBACzB;iBACF;SACN,CAAC;QAEF,kCAAkC;QAClC,MAAM,cAAc,GAAG,sBAAsB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAEpE,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,0BAA0B,CAAC;YAChC,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,UAAU;YACtB,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,kDAAkD;QAClD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,OAAO,WAAW,CAChB,UAAU,CAAC,aAAa,EACxB,4BAA4B,OAAO,kFAAkF,CACtH,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IACE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC1B,CAAC;YACD,OAAO,WAAW,CAChB,UAAU,CAAC,cAAc,EACzB,0FAA0F,OAAO,EAAE,CACpG,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-media/providers",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Media providers for agent-media toolkit",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -31,6 +31,10 @@
31
31
  "./runpod": {
32
32
  "types": "./dist/runpod/index.d.ts",
33
33
  "import": "./dist/runpod/index.js"
34
+ },
35
+ "./transformers": {
36
+ "types": "./dist/transformers/index.d.ts",
37
+ "import": "./dist/transformers/index.js"
34
38
  }
35
39
  },
36
40
  "files": [
@@ -38,17 +42,21 @@
38
42
  ],
39
43
  "dependencies": {
40
44
  "@ai-sdk/fal": "^2.0.6",
45
+ "@huggingface/transformers": "^3.3.3",
41
46
  "@ai-sdk/replicate": "^2.0.6",
42
47
  "@fal-ai/client": "^1.8.3",
43
48
  "@runpod/ai-sdk-provider": "^1.1.0",
44
49
  "ai": "^6.0.33",
45
- "sharp": "^0.33.0",
50
+ "sharp": "^0.34.1",
46
51
  "@agent-media/core": "0.3.0"
47
52
  },
48
53
  "devDependencies": {
49
54
  "@types/node": "^22.0.0",
50
55
  "typescript": "^5.7.0"
51
56
  },
57
+ "publishConfig": {
58
+ "access": "public"
59
+ },
52
60
  "scripts": {
53
61
  "build": "tsc",
54
62
  "clean": "rm -rf dist",