@agent-media/providers 0.5.2 → 0.7.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.
@@ -0,0 +1,14 @@
1
+ import type { MediaProvider } from '@agent-media/core';
2
+ /**
3
+ * AI Gateway provider for image generation and editing
4
+ * Requires AI_GATEWAY_API_KEY environment variable
5
+ *
6
+ * Supported actions:
7
+ * - generate: Text-to-image using BFL Flux, Google Imagen, Recraft models
8
+ * Default model: bfl/flux-2-pro
9
+ * - edit: Image editing using Google Nano Banana Pro
10
+ * Default model: google/gemini-3-pro-image
11
+ */
12
+ export declare const aiGatewayProvider: MediaProvider;
13
+ export default aiGatewayProvider;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-gateway/index.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,mBAAmB,CAAC;AAe3B;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAuC/B,CAAC;AA0KF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,230 @@
1
+ import { generateImage, generateText } from 'ai';
2
+ import { writeFile, readFile, stat } from 'node:fs/promises';
3
+ /**
4
+ * Unwrap Promise-wrapped errors from the AI SDK gateway
5
+ * The gateway sometimes throws errors that are themselves Promises
6
+ */
7
+ async function unwrapError(error) {
8
+ let current = error;
9
+ // Recursively unwrap if it's a Promise (up to 3 levels deep)
10
+ for (let i = 0; i < 3; i++) {
11
+ if (current && typeof current.then === 'function') {
12
+ try {
13
+ await current;
14
+ // If we get here, the Promise resolved successfully which is unexpected
15
+ return 'Unknown error (Promise resolved unexpectedly)';
16
+ }
17
+ catch (e) {
18
+ current = e;
19
+ }
20
+ }
21
+ else {
22
+ break;
23
+ }
24
+ }
25
+ // Now extract the message
26
+ if (current instanceof Error) {
27
+ return current.message;
28
+ }
29
+ // Check for error-like objects
30
+ if (current && typeof current === 'object') {
31
+ const errObj = current;
32
+ if (typeof errObj.message === 'string') {
33
+ return errObj.message;
34
+ }
35
+ if (typeof errObj.error === 'string') {
36
+ return errObj.error;
37
+ }
38
+ }
39
+ const str = String(current);
40
+ // Avoid returning "[object Promise]" or "[object Object]"
41
+ if (str.startsWith('[object ')) {
42
+ return 'Unknown error';
43
+ }
44
+ return str;
45
+ }
46
+ import { createSuccess, createError, ensureOutputDir, resolveOutputFilename, getOutputPath, ErrorCodes, } from '@agent-media/core';
47
+ /**
48
+ * Actions supported by the ai-gateway provider
49
+ */
50
+ const SUPPORTED_ACTIONS = ['generate', 'edit'];
51
+ /**
52
+ * AI Gateway provider for image generation and editing
53
+ * Requires AI_GATEWAY_API_KEY environment variable
54
+ *
55
+ * Supported actions:
56
+ * - generate: Text-to-image using BFL Flux, Google Imagen, Recraft models
57
+ * Default model: bfl/flux-2-pro
58
+ * - edit: Image editing using Google Nano Banana Pro
59
+ * Default model: google/gemini-3-pro-image
60
+ */
61
+ export const aiGatewayProvider = {
62
+ name: 'ai-gateway',
63
+ supports(action) {
64
+ return SUPPORTED_ACTIONS.includes(action);
65
+ },
66
+ async execute(actionConfig, context) {
67
+ const apiKey = process.env['AI_GATEWAY_API_KEY'];
68
+ if (!apiKey) {
69
+ return createError(ErrorCodes.API_ERROR, 'AI_GATEWAY_API_KEY environment variable is not set');
70
+ }
71
+ try {
72
+ await ensureOutputDir(context.outputDir);
73
+ switch (actionConfig.action) {
74
+ case 'generate':
75
+ return await executeGenerate(actionConfig.options, context, apiKey);
76
+ case 'edit':
77
+ return await executeEdit(actionConfig.options, context, apiKey);
78
+ default:
79
+ return createError(ErrorCodes.INVALID_INPUT, `Action '${actionConfig.action}' not supported by ai-gateway provider`);
80
+ }
81
+ }
82
+ catch (error) {
83
+ const message = await unwrapError(error);
84
+ return createError(ErrorCodes.PROVIDER_ERROR, message);
85
+ }
86
+ },
87
+ };
88
+ /**
89
+ * Execute generate action using AI Gateway
90
+ * Default model: bfl/flux-2-pro
91
+ *
92
+ * Supported models:
93
+ * - BFL Flux: bfl/flux-2-pro, bfl/flux-2-flex, bfl/flux-kontext-max, bfl/flux-kontext-pro, bfl/flux-pro-1.1
94
+ * - Google Imagen: google/imagen-4.0-ultra-generate-001, google/imagen-4.0-generate-001
95
+ *
96
+ * Note: AI Gateway uses model ID strings directly, not a provider client.
97
+ * The API key is passed via environment variable AI_GATEWAY_API_KEY which is
98
+ * automatically read by the AI SDK when using gateway model IDs.
99
+ */
100
+ async function executeGenerate(options, context, _apiKey) {
101
+ const { prompt, width = 1024, height = 1024, model, seed } = options;
102
+ if (!prompt) {
103
+ return createError(ErrorCodes.INVALID_INPUT, 'Prompt is required for image generation');
104
+ }
105
+ const modelId = model || 'bfl/flux-2-pro';
106
+ // AI Gateway image-only models use experimental_generateImage with model ID as string
107
+ // The API key is read from AI_GATEWAY_API_KEY environment variable automatically
108
+ let result;
109
+ try {
110
+ result = await generateImage({
111
+ model: modelId,
112
+ prompt,
113
+ aspectRatio: width === height ? '1:1' : `${width}:${height}`,
114
+ seed,
115
+ });
116
+ }
117
+ catch (err) {
118
+ const errMsg = await unwrapError(err);
119
+ return createError(ErrorCodes.PROVIDER_ERROR, errMsg);
120
+ }
121
+ // Image-only models return images in result.images as base64
122
+ if (!result.images || result.images.length === 0) {
123
+ return createError(ErrorCodes.PROVIDER_ERROR, 'No image was generated');
124
+ }
125
+ const generatedImage = result.images[0];
126
+ if (!generatedImage || !generatedImage.base64) {
127
+ return createError(ErrorCodes.PROVIDER_ERROR, 'Generated image has no data');
128
+ }
129
+ const outputFilename = resolveOutputFilename('png', 'generated', context.outputName);
130
+ const outputPath = getOutputPath(context.outputDir, outputFilename);
131
+ // Decode base64 and write to file
132
+ const buffer = Buffer.from(generatedImage.base64, 'base64');
133
+ await writeFile(outputPath, buffer);
134
+ const stats = await stat(outputPath);
135
+ return createSuccess({
136
+ mediaType: 'image',
137
+ action: 'generate',
138
+ provider: 'ai-gateway',
139
+ outputPath: outputPath,
140
+ mime: 'image/png',
141
+ bytes: stats.size,
142
+ });
143
+ }
144
+ /**
145
+ * Execute edit action using AI Gateway with Google Nano Banana Pro
146
+ * Default model: google/gemini-3-pro-image
147
+ *
148
+ * Uses generateText() with multimodal input and extracts generated images from result.files
149
+ * Note: AI Gateway uses model ID strings directly, not a provider client.
150
+ */
151
+ async function executeEdit(options, context, _apiKey) {
152
+ const { input, prompt, model } = options;
153
+ if (!input?.source) {
154
+ return createError(ErrorCodes.INVALID_INPUT, 'Input source is required for image editing');
155
+ }
156
+ if (!prompt) {
157
+ return createError(ErrorCodes.INVALID_INPUT, 'Prompt is required for image editing');
158
+ }
159
+ // Prepare the image as base64 data URL
160
+ let imageDataUrl;
161
+ if (input.isUrl) {
162
+ const response = await fetch(input.source);
163
+ if (!response.ok) {
164
+ return createError(ErrorCodes.NETWORK_ERROR, `Failed to fetch input image: ${response.statusText}`);
165
+ }
166
+ const arrayBuffer = await response.arrayBuffer();
167
+ const buffer = Buffer.from(arrayBuffer);
168
+ const base64 = buffer.toString('base64');
169
+ const contentType = response.headers.get('content-type') || 'image/png';
170
+ imageDataUrl = `data:${contentType};base64,${base64}`;
171
+ }
172
+ else {
173
+ const buffer = await readFile(input.source);
174
+ const base64 = buffer.toString('base64');
175
+ const ext = input.source.toLowerCase().split('.').pop();
176
+ const mimeType = ext === 'png' ? 'image/png' : ext === 'webp' ? 'image/webp' : 'image/jpeg';
177
+ imageDataUrl = `data:${mimeType};base64,${base64}`;
178
+ }
179
+ const modelId = model || 'google/gemini-3-pro-image';
180
+ // Use generateText with multimodal content for image editing
181
+ // Nano Banana Pro models can generate images as output files
182
+ // The API key is read from AI_GATEWAY_API_KEY environment variable automatically
183
+ let result;
184
+ try {
185
+ result = await generateText({
186
+ model: modelId,
187
+ messages: [
188
+ {
189
+ role: 'user',
190
+ content: [
191
+ {
192
+ type: 'image',
193
+ image: imageDataUrl,
194
+ },
195
+ {
196
+ type: 'text',
197
+ text: prompt,
198
+ },
199
+ ],
200
+ },
201
+ ],
202
+ });
203
+ }
204
+ catch (err) {
205
+ const errMsg = await unwrapError(err);
206
+ return createError(ErrorCodes.PROVIDER_ERROR, errMsg);
207
+ }
208
+ // Extract generated image from result.files
209
+ if (!result.files || result.files.length === 0) {
210
+ return createError(ErrorCodes.PROVIDER_ERROR, 'No image was generated by the model');
211
+ }
212
+ const generatedImage = result.files[0];
213
+ if (!generatedImage || !generatedImage.uint8Array) {
214
+ return createError(ErrorCodes.PROVIDER_ERROR, 'Generated image has no data');
215
+ }
216
+ const outputFilename = resolveOutputFilename('png', 'edited', context.outputName, context.inputSource);
217
+ const outputPath = getOutputPath(context.outputDir, outputFilename);
218
+ await writeFile(outputPath, generatedImage.uint8Array);
219
+ const stats = await stat(outputPath);
220
+ return createSuccess({
221
+ mediaType: 'image',
222
+ action: 'edit',
223
+ provider: 'ai-gateway',
224
+ outputPath: outputPath,
225
+ mime: 'image/png',
226
+ bytes: stats.size,
227
+ });
228
+ }
229
+ export default aiGatewayProvider;
230
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-gateway/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fal/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EAUd,MAAM,mBAAmB,CAAC;AAiB3B;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,aA6CzB,CAAC;AA2ZF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fal/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EAUd,MAAM,mBAAmB,CAAC;AAiB3B;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,aA6CzB,CAAC;AAkUF,eAAe,WAAW,CAAC"}
package/dist/fal/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { createFal } from '@ai-sdk/fal';
2
- import { fal } from '@fal-ai/client';
3
- import { generateImage } from 'ai';
2
+ import { generateImage, experimental_transcribe as transcribe } from 'ai';
4
3
  import { writeFile, readFile, stat } from 'node:fs/promises';
5
4
  import { createSuccess, createError, createTranscriptionSuccess, ensureOutputDir, resolveOutputFilename, getOutputPath, ErrorCodes, } from '@agent-media/core';
6
5
  import { generateVideoFal } from '../video-gen/index.js';
@@ -50,7 +49,7 @@ export const falProvider = {
50
49
  * Default model: fal-ai/flux-2 (FLUX.2 Dev)
51
50
  */
52
51
  async function executeGenerate(options, context, apiKey) {
53
- const { prompt, width = 1024, height = 1024, model } = options;
52
+ const { prompt, width = 1024, height = 1024, model, seed } = options;
54
53
  if (!prompt) {
55
54
  return createError(ErrorCodes.INVALID_INPUT, 'Prompt is required for image generation');
56
55
  }
@@ -60,6 +59,7 @@ async function executeGenerate(options, context, apiKey) {
60
59
  model: falClient.image(modelId),
61
60
  prompt,
62
61
  size: `${width}x${height}`,
62
+ seed,
63
63
  });
64
64
  const outputFilename = resolveOutputFilename('png', 'generated', context.outputName);
65
65
  const outputPath = getOutputPath(context.outputDir, outputFilename);
@@ -75,7 +75,7 @@ async function executeGenerate(options, context, apiKey) {
75
75
  });
76
76
  }
77
77
  /**
78
- * Execute edit action using fal.ai flux-2 edit model
78
+ * Execute edit action using fal.ai flux-2 edit model via AI SDK
79
79
  * Default model: fal-ai/flux-2/edit
80
80
  */
81
81
  async function executeEdit(options, context, apiKey) {
@@ -86,52 +86,42 @@ async function executeEdit(options, context, apiKey) {
86
86
  if (!prompt) {
87
87
  return createError(ErrorCodes.INVALID_INPUT, 'Prompt is required for image editing');
88
88
  }
89
- // Prepare the image URL - edit model requires a URL
90
- let imageUrl;
89
+ // Prepare the image as a data URL for the fal API
90
+ let imageDataUrl;
91
91
  if (input.isUrl) {
92
- imageUrl = input.source;
92
+ // For URLs, fetch and convert to data URL
93
+ const response = await fetch(input.source);
94
+ if (!response.ok) {
95
+ return createError(ErrorCodes.NETWORK_ERROR, `Failed to fetch input image: ${response.statusText}`);
96
+ }
97
+ const arrayBuffer = await response.arrayBuffer();
98
+ const buffer = Buffer.from(arrayBuffer);
99
+ const base64 = buffer.toString('base64');
100
+ const contentType = response.headers.get('content-type') || 'image/png';
101
+ imageDataUrl = `data:${contentType};base64,${base64}`;
93
102
  }
94
103
  else {
95
- // Convert local file to data URI
104
+ // For local files, read and convert to data URL
96
105
  const buffer = await readFile(input.source);
97
106
  const base64 = buffer.toString('base64');
98
107
  const ext = input.source.toLowerCase().split('.').pop();
99
108
  const mimeType = ext === 'png' ? 'image/png' : ext === 'webp' ? 'image/webp' : 'image/jpeg';
100
- imageUrl = `data:${mimeType};base64,${base64}`;
109
+ imageDataUrl = `data:${mimeType};base64,${base64}`;
101
110
  }
111
+ const falClient = createFal({ apiKey });
102
112
  const modelId = model || 'fal-ai/flux-2/edit';
103
- // Call the edit model via fal.run API
104
- const response = await fetch(`https://fal.run/${modelId}`, {
105
- method: 'POST',
106
- headers: {
107
- 'Authorization': `Key ${apiKey}`,
108
- 'Content-Type': 'application/json',
113
+ const { image } = await generateImage({
114
+ model: falClient.image(modelId),
115
+ prompt,
116
+ providerOptions: {
117
+ fal: {
118
+ image_urls: [imageDataUrl],
119
+ },
109
120
  },
110
- body: JSON.stringify({
111
- image_url: imageUrl,
112
- prompt,
113
- }),
114
121
  });
115
- if (!response.ok) {
116
- const errorText = await response.text();
117
- return createError(ErrorCodes.API_ERROR, `Fal API error: ${response.status} - ${errorText}`);
118
- }
119
- const result = await response.json();
120
- // Handle both single image and array responses
121
- const outputImageUrl = result.images?.[0]?.url || result.image?.url;
122
- if (!outputImageUrl) {
123
- return createError(ErrorCodes.PROVIDER_ERROR, 'No image returned from edit operation');
124
- }
125
- // Download the edited image
126
- const imageResponse = await fetch(outputImageUrl);
127
- if (!imageResponse.ok) {
128
- return createError(ErrorCodes.NETWORK_ERROR, `Failed to download edited image: ${imageResponse.statusText}`);
129
- }
130
- const arrayBuffer = await imageResponse.arrayBuffer();
131
- const buffer = Buffer.from(arrayBuffer);
132
122
  const outputFilename = resolveOutputFilename('png', 'edited', context.outputName, context.inputSource);
133
123
  const outputPath = getOutputPath(context.outputDir, outputFilename);
134
- await writeFile(outputPath, buffer);
124
+ await writeFile(outputPath, image.uint8Array);
135
125
  const stats = await stat(outputPath);
136
126
  return createSuccess({
137
127
  mediaType: 'image',
@@ -143,60 +133,46 @@ async function executeEdit(options, context, apiKey) {
143
133
  });
144
134
  }
145
135
  /**
146
- * Execute remove-background action using fal.ai birefnet/v2 model
147
- * Uses direct API call since birefnet is an image processing model, not generative
136
+ * Execute remove-background action using fal.ai birefnet/v2 model via AI SDK
137
+ * Uses generateImage with image input and minimal text prompt
148
138
  */
149
139
  async function executeRemoveBackground(options, context, apiKey) {
150
140
  const { input } = options;
151
141
  if (!input?.source) {
152
142
  return createError(ErrorCodes.INVALID_INPUT, 'Input source is required for background removal');
153
143
  }
154
- // Prepare the image URL - birefnet requires a URL
155
- let imageUrl;
144
+ const falClient = createFal({ apiKey });
145
+ // Prepare the image input
146
+ let imageBuffer;
156
147
  if (input.isUrl) {
157
- imageUrl = input.source;
148
+ const response = await fetch(input.source);
149
+ if (!response.ok) {
150
+ return createError(ErrorCodes.NETWORK_ERROR, `Failed to fetch input image: ${response.statusText}`);
151
+ }
152
+ const arrayBuffer = await response.arrayBuffer();
153
+ imageBuffer = Buffer.from(arrayBuffer);
158
154
  }
159
155
  else {
160
- // Convert local file to data URI
161
- const buffer = await readFile(input.source);
162
- const base64 = buffer.toString('base64');
163
- // Detect mime type from extension
164
- const ext = input.source.toLowerCase().split('.').pop();
165
- const mimeType = ext === 'png' ? 'image/png' : ext === 'webp' ? 'image/webp' : 'image/jpeg';
166
- imageUrl = `data:${mimeType};base64,${base64}`;
156
+ imageBuffer = await readFile(input.source);
167
157
  }
168
- // Call birefnet/v2 directly via fal.run API
169
- const response = await fetch('https://fal.run/fal-ai/birefnet/v2', {
170
- method: 'POST',
171
- headers: {
172
- 'Authorization': `Key ${apiKey}`,
173
- 'Content-Type': 'application/json',
158
+ // Use generateImage with birefnet model - image input only, minimal text
159
+ const { image } = await generateImage({
160
+ model: falClient.image('fal-ai/birefnet/v2'),
161
+ prompt: {
162
+ text: '',
163
+ images: [imageBuffer],
164
+ },
165
+ providerOptions: {
166
+ fal: {
167
+ model: 'General Use (Light)',
168
+ outputFormat: 'png',
169
+ refineForeground: true,
170
+ },
174
171
  },
175
- body: JSON.stringify({
176
- image_url: imageUrl,
177
- model: 'General Use (Light)',
178
- output_format: 'png',
179
- refine_foreground: true,
180
- }),
181
172
  });
182
- if (!response.ok) {
183
- const errorText = await response.text();
184
- return createError(ErrorCodes.API_ERROR, `Fal API error: ${response.status} - ${errorText}`);
185
- }
186
- const result = await response.json();
187
- if (!result.image?.url) {
188
- return createError(ErrorCodes.PROVIDER_ERROR, 'No image returned from background removal');
189
- }
190
- // Download the processed image
191
- const imageResponse = await fetch(result.image.url);
192
- if (!imageResponse.ok) {
193
- return createError(ErrorCodes.NETWORK_ERROR, `Failed to download processed image: ${imageResponse.statusText}`);
194
- }
195
- const arrayBuffer = await imageResponse.arrayBuffer();
196
- const buffer = Buffer.from(arrayBuffer);
197
173
  const outputFilename = resolveOutputFilename('png', 'nobg', context.outputName, context.inputSource);
198
174
  const outputPath = getOutputPath(context.outputDir, outputFilename);
199
- await writeFile(outputPath, buffer);
175
+ await writeFile(outputPath, image.uint8Array);
200
176
  const stats = await stat(outputPath);
201
177
  return createSuccess({
202
178
  mediaType: 'image',
@@ -208,7 +184,7 @@ async function executeRemoveBackground(options, context, apiKey) {
208
184
  });
209
185
  }
210
186
  /**
211
- * Execute transcribe action using fal.ai whisper models
187
+ * Execute transcribe action using fal.ai whisper models via AI SDK
212
188
  * Uses wizper (faster) when diarize=false, whisper when diarize=true
213
189
  */
214
190
  async function executeTranscribe(options, context, apiKey) {
@@ -216,86 +192,49 @@ async function executeTranscribe(options, context, apiKey) {
216
192
  if (!input?.source) {
217
193
  return createError(ErrorCodes.INVALID_INPUT, 'Input source is required for transcription');
218
194
  }
219
- // Configure fal client with API key
220
- fal.config({ credentials: apiKey });
221
- // Prepare the audio URL
222
- let audioUrl;
195
+ const falClient = createFal({ apiKey });
196
+ // Prepare audio input - AI SDK accepts Buffer, Uint8Array, or URL
197
+ let audioInput;
223
198
  if (input.isUrl) {
224
- audioUrl = input.source;
199
+ audioInput = input.source;
225
200
  }
226
201
  else {
227
- // Upload local file using fal client
228
- const buffer = await readFile(input.source);
229
- const ext = input.source.toLowerCase().split('.').pop();
230
- let mimeType;
231
- switch (ext) {
232
- case 'mp3':
233
- mimeType = 'audio/mpeg';
234
- break;
235
- case 'wav':
236
- mimeType = 'audio/wav';
237
- break;
238
- case 'mp4':
239
- mimeType = 'video/mp4';
240
- break;
241
- case 'm4a':
242
- mimeType = 'audio/mp4';
243
- break;
244
- case 'webm':
245
- mimeType = 'video/webm';
246
- break;
247
- case 'ogg':
248
- mimeType = 'audio/ogg';
249
- break;
250
- default:
251
- mimeType = 'application/octet-stream';
252
- }
253
- // Create a Blob from the buffer and upload via fal client
254
- const filename = input.source.split('/').pop() || 'audio';
255
- const blob = new Blob([buffer], { type: mimeType });
256
- const file = new File([blob], filename, { type: mimeType });
257
- audioUrl = await fal.storage.upload(file);
202
+ audioInput = await readFile(input.source);
258
203
  }
259
204
  // Select model based on diarize flag
260
205
  // wizper is 2x faster but doesn't support diarization
261
206
  // whisper supports diarization
262
- const model = diarize ? 'fal-ai/whisper' : 'fal-ai/wizper';
263
- // Build request body
264
- const requestBody = {
265
- audio_url: audioUrl,
266
- chunk_level: 'segment',
207
+ const modelId = diarize ? 'whisper' : 'wizper';
208
+ // Build provider options for fal
209
+ const providerOptions = {
210
+ chunkLevel: 'segment',
267
211
  };
268
212
  if (diarize) {
269
- requestBody['diarize'] = true;
213
+ providerOptions['diarize'] = true;
270
214
  if (numSpeakers) {
271
- requestBody['num_speakers'] = numSpeakers;
215
+ providerOptions['numSpeakers'] = numSpeakers;
272
216
  }
273
217
  }
274
218
  if (language) {
275
- requestBody['language'] = language;
219
+ providerOptions['language'] = language;
276
220
  }
277
- const response = await fetch(`https://fal.run/${model}`, {
278
- method: 'POST',
279
- headers: {
280
- 'Authorization': `Key ${apiKey}`,
281
- 'Content-Type': 'application/json',
221
+ // Call transcription via AI SDK
222
+ const result = await transcribe({
223
+ model: falClient.transcription(modelId),
224
+ audio: audioInput,
225
+ providerOptions: {
226
+ fal: providerOptions,
282
227
  },
283
- body: JSON.stringify(requestBody),
284
228
  });
285
- if (!response.ok) {
286
- const errorText = await response.text();
287
- return createError(ErrorCodes.API_ERROR, `Fal API error: ${response.status} - ${errorText}`);
288
- }
289
- const result = await response.json();
290
229
  // Transform to our TranscriptionData format
230
+ // AI SDK uses startSecond/endSecond for segment timestamps
291
231
  const transcription = {
292
232
  text: result.text || '',
293
- language: result.inferred_languages?.[0] || language || 'unknown',
294
- segments: (result.chunks || []).map(chunk => ({
295
- start: chunk.timestamp[0],
296
- end: chunk.timestamp[1],
297
- text: chunk.text,
298
- ...(chunk.speaker ? { speaker: chunk.speaker } : {}),
233
+ language: result.language || language || 'unknown',
234
+ segments: (result.segments || []).map(segment => ({
235
+ start: segment.startSecond,
236
+ end: segment.endSecond,
237
+ text: segment.text,
299
238
  })),
300
239
  };
301
240
  // Save transcription to JSON file
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fal/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fal/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { transformersProvider } from './transformers/index.js';
3
3
  export { falProvider } from './fal/index.js';
4
4
  export { replicateProvider } from './replicate/index.js';
5
5
  export { runpodProvider } from './runpod/index.js';
6
+ export { aiGatewayProvider } from './ai-gateway/index.js';
6
7
  /**
7
8
  * All available providers
8
9
  */
@@ -12,6 +13,7 @@ export declare const providers: {
12
13
  fal: import("@agent-media/core").MediaProvider;
13
14
  replicate: import("@agent-media/core").MediaProvider;
14
15
  runpod: import("@agent-media/core").MediaProvider;
16
+ 'ai-gateway': import("@agent-media/core").MediaProvider;
15
17
  };
16
18
  /**
17
19
  * Register all providers with the global registry
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,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;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;CAOrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}