@huggingface/inference 4.6.0 → 4.6.1
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/commonjs/lib/getProviderHelper.d.ts.map +1 -1
- package/dist/commonjs/lib/getProviderHelper.js +1 -0
- package/dist/commonjs/package.d.ts +1 -1
- package/dist/commonjs/package.js +1 -1
- package/dist/commonjs/providers/fal-ai.d.ts +14 -2
- package/dist/commonjs/providers/fal-ai.d.ts.map +1 -1
- package/dist/commonjs/providers/fal-ai.js +49 -1
- package/dist/esm/lib/getProviderHelper.d.ts.map +1 -1
- package/dist/esm/lib/getProviderHelper.js +1 -0
- package/dist/esm/package.d.ts +1 -1
- package/dist/esm/package.js +1 -1
- package/dist/esm/providers/fal-ai.d.ts +14 -2
- package/dist/esm/providers/fal-ai.d.ts.map +1 -1
- package/dist/esm/providers/fal-ai.js +47 -0
- package/package.json +3 -3
- package/src/lib/getProviderHelper.ts +1 -0
- package/src/package.ts +1 -1
- package/src/providers/fal-ai.ts +69 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,6BAA6B,EAC7B,sBAAsB,EACtB,oCAAoC,EACpC,wBAAwB,EACxB,mCAAmC,EACnC,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,EAC3B,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,iCAAiC,EACjC,gCAAgC,EAChC,qCAAqC,EACrC,MAAM,gCAAgC,CAAC;AAIxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/F,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,7 @@ exports.PROVIDERS = {
|
|
|
70
70
|
"image-to-image": new FalAI.FalAIImageToImageTask(),
|
|
71
71
|
"automatic-speech-recognition": new FalAI.FalAIAutomaticSpeechRecognitionTask(),
|
|
72
72
|
"image-segmentation": new FalAI.FalAIImageSegmentationTask(),
|
|
73
|
+
"image-to-video": new FalAI.FalAIImageToVideoTask(),
|
|
73
74
|
},
|
|
74
75
|
"featherless-ai": {
|
|
75
76
|
conversational: new FeatherlessAI.FeatherlessAIConversationalTask(),
|
package/dist/commonjs/package.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PACKAGE_NAME = exports.PACKAGE_VERSION = void 0;
|
|
4
4
|
// Generated file from package.json. Issues importing JSON directly when publishing on commonjs/ESM - see https://github.com/microsoft/TypeScript/issues/51783
|
|
5
|
-
exports.PACKAGE_VERSION = "4.6.
|
|
5
|
+
exports.PACKAGE_VERSION = "4.6.1";
|
|
6
6
|
exports.PACKAGE_NAME = "@huggingface/inference";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { AutomaticSpeechRecognitionOutput, ImageSegmentationOutput } from "@huggingface/tasks";
|
|
2
2
|
import type { BodyParams, HeaderParams, InferenceTask, RequestArgs, UrlParams } from "../types.js";
|
|
3
3
|
import type { ImageSegmentationTaskHelper, ImageToImageTaskHelper } from "./providerHelper.js";
|
|
4
|
-
import { type AutomaticSpeechRecognitionTaskHelper, TaskProviderHelper, type TextToImageTaskHelper, type TextToVideoTaskHelper } from "./providerHelper.js";
|
|
4
|
+
import { type AutomaticSpeechRecognitionTaskHelper, TaskProviderHelper, type TextToImageTaskHelper, type TextToVideoTaskHelper, type ImageToVideoTaskHelper } from "./providerHelper.js";
|
|
5
5
|
import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition.js";
|
|
6
|
-
import type { ImageToImageArgs } from "../tasks/index.js";
|
|
6
|
+
import type { ImageToImageArgs, ImageToVideoArgs } from "../tasks/index.js";
|
|
7
7
|
import type { ImageSegmentationArgs } from "../tasks/cv/imageSegmentation.js";
|
|
8
8
|
export interface FalAiQueueOutput {
|
|
9
9
|
request_id: string;
|
|
@@ -45,6 +45,18 @@ export declare class FalAITextToVideoTask extends FalAiQueueTask implements Text
|
|
|
45
45
|
preparePayload(params: BodyParams): Record<string, unknown>;
|
|
46
46
|
getResponse(response: FalAiQueueOutput, url?: string, headers?: Record<string, string>): Promise<Blob>;
|
|
47
47
|
}
|
|
48
|
+
export declare class FalAIImageToVideoTask extends FalAiQueueTask implements ImageToVideoTaskHelper {
|
|
49
|
+
task: InferenceTask;
|
|
50
|
+
constructor();
|
|
51
|
+
/** Same queue routing rule as the other Fal queue tasks */
|
|
52
|
+
makeRoute(params: UrlParams): string;
|
|
53
|
+
/** Synchronous case – caller already gave us base64 or a URL */
|
|
54
|
+
preparePayload(params: BodyParams): Record<string, unknown>;
|
|
55
|
+
/** Asynchronous helper – caller gave us a Blob */
|
|
56
|
+
preparePayloadAsync(args: ImageToVideoArgs): Promise<RequestArgs>;
|
|
57
|
+
/** Queue polling + final download – mirrors Text‑to‑Video */
|
|
58
|
+
getResponse(response: FalAiQueueOutput, url?: string, headers?: Record<string, string>): Promise<Blob>;
|
|
59
|
+
}
|
|
48
60
|
export declare class FalAIAutomaticSpeechRecognitionTask extends FalAITask implements AutomaticSpeechRecognitionTaskHelper {
|
|
49
61
|
prepareHeaders(params: HeaderParams, binary: boolean): Record<string, string>;
|
|
50
62
|
getResponse(response: unknown): Promise<AutomaticSpeechRecognitionOutput>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fal-ai.d.ts","sourceRoot":"","sources":["../../../src/providers/fal-ai.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAW,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG5G,OAAO,KAAK,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACN,KAAK,oCAAoC,EACzC,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAMnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"fal-ai.d.ts","sourceRoot":"","sources":["../../../src/providers/fal-ai.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAW,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG5G,OAAO,KAAK,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACN,KAAK,oCAAoC,EACzC,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAMnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,sBAAsB;IAC/B,MAAM,EAAE,KAAK,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC,CAAC;CACH;AAYD,eAAO,MAAM,2BAA2B,UAA0D,CAAC;AAEnG,uBAAe,SAAU,SAAQ,kBAAkB;gBACtC,GAAG,CAAC,EAAE,MAAM;IAIxB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAG3D,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAG3B,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAUtF;AAED,uBAAe,cAAe,SAAQ,SAAS;IAC9C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAEvB,uBAAuB,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;CA4DnB;AAMD,qBAAa,oBAAqB,SAAQ,SAAU,YAAW,qBAAqB;IAC1E,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAuBrD,WAAW,CACzB,QAAQ,EAAE,sBAAsB,EAChC,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,WAAW,EACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAqBnD;AAED,qBAAa,qBAAsB,SAAQ,cAAe,YAAW,sBAAsB;IAC1F,IAAI,EAAE,aAAa,CAAC;;IAMX,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAOpC,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAa9D,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAYxD,WAAW,CACzB,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;CAyBhB;AAED,qBAAa,oBAAqB,SAAQ,cAAe,YAAW,qBAAqB;IACxF,IAAI,EAAE,aAAa,CAAC;;IAKX,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAMpC,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQrD,WAAW,CACzB,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;CAuBhB;AAED,qBAAa,qBAAsB,SAAQ,cAAe,YAAW,sBAAsB;IAC1F,IAAI,EAAE,aAAa,CAAC;;IAOpB,2DAA2D;IAClD,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAI7C,gEAAgE;IACvD,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASpE,kDAAkD;IAC5C,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAYvE,6DAA6D;IAC9C,WAAW,CACzB,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;CAwBhB;AAED,qBAAa,mCAAoC,SAAQ,SAAU,YAAW,oCAAoC;IACxG,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKvE,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAYlF,mBAAmB,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,CAAC;CAqBrF;AAED,qBAAa,qBAAsB,SAAQ,SAAS;IAC1C,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQrD,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC5D;AACD,qBAAa,0BAA2B,SAAQ,cAAe,YAAW,2BAA2B;IACpG,IAAI,EAAE,aAAa,CAAC;;IAMX,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAOpC,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ9D,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IAe7D,WAAW,CACzB,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,uBAAuB,CAAC;CA0CnC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FalAIImageSegmentationTask = exports.FalAITextToSpeechTask = exports.FalAIAutomaticSpeechRecognitionTask = exports.FalAITextToVideoTask = exports.FalAIImageToImageTask = exports.FalAITextToImageTask = exports.FAL_AI_SUPPORTED_BLOB_TYPES = void 0;
|
|
3
|
+
exports.FalAIImageSegmentationTask = exports.FalAITextToSpeechTask = exports.FalAIAutomaticSpeechRecognitionTask = exports.FalAIImageToVideoTask = exports.FalAITextToVideoTask = exports.FalAIImageToImageTask = exports.FalAITextToImageTask = exports.FAL_AI_SUPPORTED_BLOB_TYPES = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* See the registered mapping of HF model ID => Fal model ID here:
|
|
6
6
|
*
|
|
@@ -227,6 +227,54 @@ class FalAITextToVideoTask extends FalAiQueueTask {
|
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
exports.FalAITextToVideoTask = FalAITextToVideoTask;
|
|
230
|
+
class FalAIImageToVideoTask extends FalAiQueueTask {
|
|
231
|
+
task;
|
|
232
|
+
constructor() {
|
|
233
|
+
super("https://queue.fal.run");
|
|
234
|
+
this.task = "image-to-video";
|
|
235
|
+
}
|
|
236
|
+
/** Same queue routing rule as the other Fal queue tasks */
|
|
237
|
+
makeRoute(params) {
|
|
238
|
+
return params.authMethod !== "provider-key" ? `/${params.model}?_subdomain=queue` : `/${params.model}`;
|
|
239
|
+
}
|
|
240
|
+
/** Synchronous case – caller already gave us base64 or a URL */
|
|
241
|
+
preparePayload(params) {
|
|
242
|
+
return {
|
|
243
|
+
...(0, omit_js_1.omit)(params.args, ["inputs", "parameters"]),
|
|
244
|
+
...params.args.parameters,
|
|
245
|
+
// args.inputs is expected to be a base64 data URI or an URL
|
|
246
|
+
image_url: params.args.image_url,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/** Asynchronous helper – caller gave us a Blob */
|
|
250
|
+
async preparePayloadAsync(args) {
|
|
251
|
+
const mimeType = args.inputs instanceof Blob ? args.inputs.type : "image/png";
|
|
252
|
+
return {
|
|
253
|
+
...(0, omit_js_1.omit)(args, ["inputs", "parameters"]),
|
|
254
|
+
image_url: `data:${mimeType};base64,${(0, base64FromBytes_js_1.base64FromBytes)(new Uint8Array(args.inputs instanceof ArrayBuffer ? args.inputs : await args.inputs.arrayBuffer()))}`,
|
|
255
|
+
...args.parameters,
|
|
256
|
+
...args,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/** Queue polling + final download – mirrors Text‑to‑Video */
|
|
260
|
+
async getResponse(response, url, headers) {
|
|
261
|
+
const result = await this.getResponseFromQueueApi(response, url, headers);
|
|
262
|
+
if (typeof result === "object" &&
|
|
263
|
+
result !== null &&
|
|
264
|
+
"video" in result &&
|
|
265
|
+
typeof result.video === "object" &&
|
|
266
|
+
result.video !== null &&
|
|
267
|
+
"url" in result.video &&
|
|
268
|
+
typeof result.video.url === "string" &&
|
|
269
|
+
"url" in result.video &&
|
|
270
|
+
(0, isUrl_js_1.isUrl)(result.video.url)) {
|
|
271
|
+
const urlResponse = await fetch(result.video.url);
|
|
272
|
+
return await urlResponse.blob();
|
|
273
|
+
}
|
|
274
|
+
throw new errors_js_1.InferenceClientProviderOutputError(`Received malformed response from Fal.ai image‑to‑video API: expected { video: { url: string } }, got: ${JSON.stringify(result)}`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
exports.FalAIImageToVideoTask = FalAIImageToVideoTask;
|
|
230
278
|
class FalAIAutomaticSpeechRecognitionTask extends FalAITask {
|
|
231
279
|
prepareHeaders(params, binary) {
|
|
232
280
|
const headers = super.prepareHeaders(params, binary);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,6BAA6B,EAC7B,sBAAsB,EACtB,oCAAoC,EACpC,wBAAwB,EACxB,mCAAmC,EACnC,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,EAC3B,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,iCAAiC,EACjC,gCAAgC,EAChC,qCAAqC,EACrC,MAAM,gCAAgC,CAAC;AAIxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/F,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ export const PROVIDERS = {
|
|
|
33
33
|
"image-to-image": new FalAI.FalAIImageToImageTask(),
|
|
34
34
|
"automatic-speech-recognition": new FalAI.FalAIAutomaticSpeechRecognitionTask(),
|
|
35
35
|
"image-segmentation": new FalAI.FalAIImageSegmentationTask(),
|
|
36
|
+
"image-to-video": new FalAI.FalAIImageToVideoTask(),
|
|
36
37
|
},
|
|
37
38
|
"featherless-ai": {
|
|
38
39
|
conversational: new FeatherlessAI.FeatherlessAIConversationalTask(),
|
package/dist/esm/package.d.ts
CHANGED
package/dist/esm/package.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated file from package.json. Issues importing JSON directly when publishing on commonjs/ESM - see https://github.com/microsoft/TypeScript/issues/51783
|
|
2
|
-
export const PACKAGE_VERSION = "4.6.
|
|
2
|
+
export const PACKAGE_VERSION = "4.6.1";
|
|
3
3
|
export const PACKAGE_NAME = "@huggingface/inference";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { AutomaticSpeechRecognitionOutput, ImageSegmentationOutput } from "@huggingface/tasks";
|
|
2
2
|
import type { BodyParams, HeaderParams, InferenceTask, RequestArgs, UrlParams } from "../types.js";
|
|
3
3
|
import type { ImageSegmentationTaskHelper, ImageToImageTaskHelper } from "./providerHelper.js";
|
|
4
|
-
import { type AutomaticSpeechRecognitionTaskHelper, TaskProviderHelper, type TextToImageTaskHelper, type TextToVideoTaskHelper } from "./providerHelper.js";
|
|
4
|
+
import { type AutomaticSpeechRecognitionTaskHelper, TaskProviderHelper, type TextToImageTaskHelper, type TextToVideoTaskHelper, type ImageToVideoTaskHelper } from "./providerHelper.js";
|
|
5
5
|
import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition.js";
|
|
6
|
-
import type { ImageToImageArgs } from "../tasks/index.js";
|
|
6
|
+
import type { ImageToImageArgs, ImageToVideoArgs } from "../tasks/index.js";
|
|
7
7
|
import type { ImageSegmentationArgs } from "../tasks/cv/imageSegmentation.js";
|
|
8
8
|
export interface FalAiQueueOutput {
|
|
9
9
|
request_id: string;
|
|
@@ -45,6 +45,18 @@ export declare class FalAITextToVideoTask extends FalAiQueueTask implements Text
|
|
|
45
45
|
preparePayload(params: BodyParams): Record<string, unknown>;
|
|
46
46
|
getResponse(response: FalAiQueueOutput, url?: string, headers?: Record<string, string>): Promise<Blob>;
|
|
47
47
|
}
|
|
48
|
+
export declare class FalAIImageToVideoTask extends FalAiQueueTask implements ImageToVideoTaskHelper {
|
|
49
|
+
task: InferenceTask;
|
|
50
|
+
constructor();
|
|
51
|
+
/** Same queue routing rule as the other Fal queue tasks */
|
|
52
|
+
makeRoute(params: UrlParams): string;
|
|
53
|
+
/** Synchronous case – caller already gave us base64 or a URL */
|
|
54
|
+
preparePayload(params: BodyParams): Record<string, unknown>;
|
|
55
|
+
/** Asynchronous helper – caller gave us a Blob */
|
|
56
|
+
preparePayloadAsync(args: ImageToVideoArgs): Promise<RequestArgs>;
|
|
57
|
+
/** Queue polling + final download – mirrors Text‑to‑Video */
|
|
58
|
+
getResponse(response: FalAiQueueOutput, url?: string, headers?: Record<string, string>): Promise<Blob>;
|
|
59
|
+
}
|
|
48
60
|
export declare class FalAIAutomaticSpeechRecognitionTask extends FalAITask implements AutomaticSpeechRecognitionTaskHelper {
|
|
49
61
|
prepareHeaders(params: HeaderParams, binary: boolean): Record<string, string>;
|
|
50
62
|
getResponse(response: unknown): Promise<AutomaticSpeechRecognitionOutput>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fal-ai.d.ts","sourceRoot":"","sources":["../../../src/providers/fal-ai.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEpG,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAW,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG5G,OAAO,KAAK,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACN,KAAK,oCAAoC,EACzC,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAMnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"fal-ai.d.ts","sourceRoot":"","sources":["../../../src/providers/fal-ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -221,6 +221,53 @@ export class FalAITextToVideoTask extends FalAiQueueTask {
|
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
+
export class FalAIImageToVideoTask extends FalAiQueueTask {
|
|
225
|
+
task;
|
|
226
|
+
constructor() {
|
|
227
|
+
super("https://queue.fal.run");
|
|
228
|
+
this.task = "image-to-video";
|
|
229
|
+
}
|
|
230
|
+
/** Same queue routing rule as the other Fal queue tasks */
|
|
231
|
+
makeRoute(params) {
|
|
232
|
+
return params.authMethod !== "provider-key" ? `/${params.model}?_subdomain=queue` : `/${params.model}`;
|
|
233
|
+
}
|
|
234
|
+
/** Synchronous case – caller already gave us base64 or a URL */
|
|
235
|
+
preparePayload(params) {
|
|
236
|
+
return {
|
|
237
|
+
...omit(params.args, ["inputs", "parameters"]),
|
|
238
|
+
...params.args.parameters,
|
|
239
|
+
// args.inputs is expected to be a base64 data URI or an URL
|
|
240
|
+
image_url: params.args.image_url,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
/** Asynchronous helper – caller gave us a Blob */
|
|
244
|
+
async preparePayloadAsync(args) {
|
|
245
|
+
const mimeType = args.inputs instanceof Blob ? args.inputs.type : "image/png";
|
|
246
|
+
return {
|
|
247
|
+
...omit(args, ["inputs", "parameters"]),
|
|
248
|
+
image_url: `data:${mimeType};base64,${base64FromBytes(new Uint8Array(args.inputs instanceof ArrayBuffer ? args.inputs : await args.inputs.arrayBuffer()))}`,
|
|
249
|
+
...args.parameters,
|
|
250
|
+
...args,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/** Queue polling + final download – mirrors Text‑to‑Video */
|
|
254
|
+
async getResponse(response, url, headers) {
|
|
255
|
+
const result = await this.getResponseFromQueueApi(response, url, headers);
|
|
256
|
+
if (typeof result === "object" &&
|
|
257
|
+
result !== null &&
|
|
258
|
+
"video" in result &&
|
|
259
|
+
typeof result.video === "object" &&
|
|
260
|
+
result.video !== null &&
|
|
261
|
+
"url" in result.video &&
|
|
262
|
+
typeof result.video.url === "string" &&
|
|
263
|
+
"url" in result.video &&
|
|
264
|
+
isUrl(result.video.url)) {
|
|
265
|
+
const urlResponse = await fetch(result.video.url);
|
|
266
|
+
return await urlResponse.blob();
|
|
267
|
+
}
|
|
268
|
+
throw new InferenceClientProviderOutputError(`Received malformed response from Fal.ai image‑to‑video API: expected { video: { url: string } }, got: ${JSON.stringify(result)}`);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
224
271
|
export class FalAIAutomaticSpeechRecognitionTask extends FalAITask {
|
|
225
272
|
prepareHeaders(params, binary) {
|
|
226
273
|
const headers = super.prepareHeaders(params, binary);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@huggingface/inference",
|
|
3
|
-
"version": "4.6.
|
|
3
|
+
"version": "4.6.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Hugging Face and Tim Mikeladze <tim.mikeladze@gmail.com>",
|
|
6
6
|
"description": "Typescript client for the Hugging Face Inference Providers and Inference Endpoints",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
},
|
|
41
41
|
"type": "module",
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@huggingface/
|
|
44
|
-
"@huggingface/
|
|
43
|
+
"@huggingface/tasks": "^0.19.33",
|
|
44
|
+
"@huggingface/jinja": "^0.5.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "18.13.0"
|
|
@@ -68,6 +68,7 @@ export const PROVIDERS: Record<InferenceProvider, Partial<Record<InferenceTask,
|
|
|
68
68
|
"image-to-image": new FalAI.FalAIImageToImageTask(),
|
|
69
69
|
"automatic-speech-recognition": new FalAI.FalAIAutomaticSpeechRecognitionTask(),
|
|
70
70
|
"image-segmentation": new FalAI.FalAIImageSegmentationTask(),
|
|
71
|
+
"image-to-video": new FalAI.FalAIImageToVideoTask(),
|
|
71
72
|
},
|
|
72
73
|
"featherless-ai": {
|
|
73
74
|
conversational: new FeatherlessAI.FeatherlessAIConversationalTask(),
|
package/src/package.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated file from package.json. Issues importing JSON directly when publishing on commonjs/ESM - see https://github.com/microsoft/TypeScript/issues/51783
|
|
2
|
-
export const PACKAGE_VERSION = "4.6.
|
|
2
|
+
export const PACKAGE_VERSION = "4.6.1";
|
|
3
3
|
export const PACKAGE_NAME = "@huggingface/inference";
|
package/src/providers/fal-ai.ts
CHANGED
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
TaskProviderHelper,
|
|
28
28
|
type TextToImageTaskHelper,
|
|
29
29
|
type TextToVideoTaskHelper,
|
|
30
|
+
type ImageToVideoTaskHelper,
|
|
30
31
|
} from "./providerHelper.js";
|
|
31
32
|
import { HF_HUB_URL } from "../config.js";
|
|
32
33
|
import type { AutomaticSpeechRecognitionArgs } from "../tasks/audio/automaticSpeechRecognition.js";
|
|
@@ -35,7 +36,7 @@ import {
|
|
|
35
36
|
InferenceClientProviderApiError,
|
|
36
37
|
InferenceClientProviderOutputError,
|
|
37
38
|
} from "../errors.js";
|
|
38
|
-
import type { ImageToImageArgs } from "../tasks/index.js";
|
|
39
|
+
import type { ImageToImageArgs, ImageToVideoArgs } from "../tasks/index.js";
|
|
39
40
|
import type { ImageSegmentationArgs } from "../tasks/cv/imageSegmentation.js";
|
|
40
41
|
|
|
41
42
|
export interface FalAiQueueOutput {
|
|
@@ -329,6 +330,73 @@ export class FalAITextToVideoTask extends FalAiQueueTask implements TextToVideoT
|
|
|
329
330
|
}
|
|
330
331
|
}
|
|
331
332
|
|
|
333
|
+
export class FalAIImageToVideoTask extends FalAiQueueTask implements ImageToVideoTaskHelper {
|
|
334
|
+
task: InferenceTask;
|
|
335
|
+
|
|
336
|
+
constructor() {
|
|
337
|
+
super("https://queue.fal.run");
|
|
338
|
+
this.task = "image-to-video";
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/** Same queue routing rule as the other Fal queue tasks */
|
|
342
|
+
override makeRoute(params: UrlParams): string {
|
|
343
|
+
return params.authMethod !== "provider-key" ? `/${params.model}?_subdomain=queue` : `/${params.model}`;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/** Synchronous case – caller already gave us base64 or a URL */
|
|
347
|
+
override preparePayload(params: BodyParams): Record<string, unknown> {
|
|
348
|
+
return {
|
|
349
|
+
...omit(params.args, ["inputs", "parameters"]),
|
|
350
|
+
...(params.args.parameters as Record<string, unknown>),
|
|
351
|
+
// args.inputs is expected to be a base64 data URI or an URL
|
|
352
|
+
image_url: params.args.image_url,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/** Asynchronous helper – caller gave us a Blob */
|
|
357
|
+
async preparePayloadAsync(args: ImageToVideoArgs): Promise<RequestArgs> {
|
|
358
|
+
const mimeType = args.inputs instanceof Blob ? args.inputs.type : "image/png";
|
|
359
|
+
return {
|
|
360
|
+
...omit(args, ["inputs", "parameters"]),
|
|
361
|
+
image_url: `data:${mimeType};base64,${base64FromBytes(
|
|
362
|
+
new Uint8Array(args.inputs instanceof ArrayBuffer ? args.inputs : await (args.inputs as Blob).arrayBuffer())
|
|
363
|
+
)}`,
|
|
364
|
+
...args.parameters,
|
|
365
|
+
...args,
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/** Queue polling + final download – mirrors Text‑to‑Video */
|
|
370
|
+
override async getResponse(
|
|
371
|
+
response: FalAiQueueOutput,
|
|
372
|
+
url?: string,
|
|
373
|
+
headers?: Record<string, string>
|
|
374
|
+
): Promise<Blob> {
|
|
375
|
+
const result = await this.getResponseFromQueueApi(response, url, headers);
|
|
376
|
+
|
|
377
|
+
if (
|
|
378
|
+
typeof result === "object" &&
|
|
379
|
+
result !== null &&
|
|
380
|
+
"video" in result &&
|
|
381
|
+
typeof result.video === "object" &&
|
|
382
|
+
result.video !== null &&
|
|
383
|
+
"url" in result.video &&
|
|
384
|
+
typeof result.video.url === "string" &&
|
|
385
|
+
"url" in result.video &&
|
|
386
|
+
isUrl(result.video.url)
|
|
387
|
+
) {
|
|
388
|
+
const urlResponse = await fetch(result.video.url);
|
|
389
|
+
return await urlResponse.blob();
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
throw new InferenceClientProviderOutputError(
|
|
393
|
+
`Received malformed response from Fal.ai image‑to‑video API: expected { video: { url: string } }, got: ${JSON.stringify(
|
|
394
|
+
result
|
|
395
|
+
)}`
|
|
396
|
+
);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
332
400
|
export class FalAIAutomaticSpeechRecognitionTask extends FalAITask implements AutomaticSpeechRecognitionTaskHelper {
|
|
333
401
|
override prepareHeaders(params: HeaderParams, binary: boolean): Record<string, string> {
|
|
334
402
|
const headers = super.prepareHeaders(params, binary);
|