@huggingface/inference 4.11.2 → 4.11.3

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/README.md CHANGED
@@ -67,6 +67,7 @@ Currently, we support the following providers:
67
67
  - [Cohere](https://cohere.com)
68
68
  - [Cerebras](https://cerebras.ai/)
69
69
  - [Groq](https://groq.com)
70
+ - [Wavespeed.ai](https://wavespeed.ai/)
70
71
  - [Z.ai](https://z.ai/)
71
72
 
72
73
  To send requests to a third-party provider, you have to pass the `provider` parameter to the inference function. The default value of the `provider` parameter is "auto", which will select the first of the providers available for the model, sorted by your preferred order in https://hf.co/settings/inference-providers.
@@ -105,6 +106,7 @@ Only a subset of models are supported when requesting third-party providers. You
105
106
  - [Cerebras supported models](https://huggingface.co/api/partners/cerebras/models)
106
107
  - [Groq supported models](https://console.groq.com/docs/models)
107
108
  - [Novita AI supported models](https://huggingface.co/api/partners/novita/models)
109
+ - [Wavespeed.ai supported models](https://huggingface.co/api/partners/wavespeed/models)
108
110
  - [Z.ai supported models](https://huggingface.co/api/partners/zai-org/models)
109
111
 
110
112
  ❗**Important note:** To be compatible, the third-party API must adhere to the "standard" shape API we expect on HF model pages for each pipeline task type.
@@ -1 +1 @@
1
- {"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"AAiBA,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;AAMxC,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,CAwHnG,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,wBAAwB,GAAG,kBAAkB,CAAC;AACjD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,iBAAiB,GACrB,wBAAwB,GAAG,kBAAkB,CAAC;AACjD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,sBAAsB,GAAG,kBAAkB,CAAC;AAC/C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,8BAA8B,GAClC,oCAAoC,GAAG,kBAAkB,CAAC;AAC7D,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,qBAAqB,GACzB,4BAA4B,GAAG,kBAAkB,CAAC;AACrD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,oBAAoB,GACxB,2BAA2B,GAAG,kBAAkB,CAAC;AACpD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,sBAAsB,GAC1B,6BAA6B,GAAG,kBAAkB,CAAC;AACtD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,sBAAsB,GAAG,kBAAkB,CAAC;AAC/C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,WAAW,GACf,kBAAkB,GAAG,kBAAkB,CAAC;AAC3C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,oBAAoB,GACxB,2BAA2B,GAAG,kBAAkB,CAAC;AACpD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,sBAAsB,GAC1B,6BAA6B,GAAG,kBAAkB,CAAC;AACtD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,oBAAoB,GACxB,2BAA2B,GAAG,kBAAkB,CAAC;AACpD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,6BAA6B,GACjC,mCAAmC,GAAG,kBAAkB,CAAC;AAC5D,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,kBAAkB,GACtB,yBAAyB,GAAG,kBAAkB,CAAC;AAClD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gCAAgC,GACpC,qCAAqC,GAAG,kBAAkB,CAAC;AAC9D,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,0BAA0B,GAC9B,gCAAgC,GAAG,kBAAkB,CAAC;AACzD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,sBAAsB,GAAG,kBAAkB,CAAC;AAC/C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,gBAAgB,GACpB,sBAAsB,GAAG,kBAAkB,CAAC;AAC/C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,qBAAqB,GACzB,4BAA4B,GAAG,kBAAkB,CAAC;AACrD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,0BAA0B,GAC9B,gCAAgC,GAAG,kBAAkB,CAAC;AACzD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,wBAAwB,GAC5B,+BAA+B,GAAG,kBAAkB,CAAC;AACxD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,oBAAoB,GACxB,2BAA2B,GAAG,kBAAkB,CAAC;AACpD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,sBAAsB,GAC1B,6BAA6B,GAAG,kBAAkB,CAAC;AACtD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,aAAa,GACjB,qBAAqB,GAAG,kBAAkB,CAAC;AAC9C,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,eAAe,GACnB,uBAAuB,GAAG,kBAAkB,CAAC;AAChD,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,2BAA2B,GAC/B,iCAAiC,GAAG,kBAAkB,CAAC;AAC1D,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,aAAa,GAAG,SAAS,GAC7B,kBAAkB,CAAC"}
1
+ {"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ const Replicate = __importStar(require("../providers/replicate.js"));
56
56
  const Sambanova = __importStar(require("../providers/sambanova.js"));
57
57
  const Scaleway = __importStar(require("../providers/scaleway.js"));
58
58
  const Together = __importStar(require("../providers/together.js"));
59
+ const Wavespeed = __importStar(require("../providers/wavespeed.js"));
59
60
  const Zai = __importStar(require("../providers/zai-org.js"));
60
61
  const errors_js_1 = require("../errors.js");
61
62
  exports.PROVIDERS = {
@@ -175,6 +176,11 @@ exports.PROVIDERS = {
175
176
  conversational: new Together.TogetherConversationalTask(),
176
177
  "text-generation": new Together.TogetherTextGenerationTask(),
177
178
  },
179
+ wavespeed: {
180
+ "text-to-image": new Wavespeed.WavespeedAITextToImageTask(),
181
+ "text-to-video": new Wavespeed.WavespeedAITextToVideoTask(),
182
+ "image-to-image": new Wavespeed.WavespeedAIImageToImageTask(),
183
+ },
178
184
  "zai-org": {
179
185
  conversational: new Zai.ZaiConversationalTask(),
180
186
  },
@@ -1,3 +1,3 @@
1
- export declare const PACKAGE_VERSION = "4.11.2";
1
+ export declare const PACKAGE_VERSION = "4.11.3";
2
2
  export declare const PACKAGE_NAME = "@huggingface/inference";
3
3
  //# sourceMappingURL=package.d.ts.map
@@ -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.11.2";
5
+ exports.PACKAGE_VERSION = "4.11.3";
6
6
  exports.PACKAGE_NAME = "@huggingface/inference";
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/providers/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACrD,iBAAiB,EACjB,MAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC,CA8B9C,CAAC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/providers/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACrD,iBAAiB,EACjB,MAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC,CA+B9C,CAAC"}
@@ -36,5 +36,6 @@ exports.HARDCODED_MODEL_INFERENCE_MAPPING = {
36
36
  sambanova: {},
37
37
  scaleway: {},
38
38
  together: {},
39
+ wavespeed: {},
39
40
  "zai-org": {},
40
41
  };
@@ -0,0 +1,41 @@
1
+ import type { TextToImageArgs } from "../tasks/cv/textToImage.js";
2
+ import type { ImageToImageArgs } from "../tasks/cv/imageToImage.js";
3
+ import type { TextToVideoArgs } from "../tasks/cv/textToVideo.js";
4
+ import type { BodyParams, RequestArgs, UrlParams } from "../types.js";
5
+ import type { TextToImageTaskHelper, TextToVideoTaskHelper, ImageToImageTaskHelper } from "./providerHelper.js";
6
+ import { TaskProviderHelper } from "./providerHelper.js";
7
+ /**
8
+ * Response structure for initial task submission
9
+ */
10
+ interface WaveSpeedAISubmitResponse {
11
+ id: string;
12
+ urls: {
13
+ get: string;
14
+ };
15
+ }
16
+ /**
17
+ * Response structure for WaveSpeed AI API with submit response data
18
+ */
19
+ interface WaveSpeedAISubmitTaskResponse {
20
+ code: number;
21
+ message: string;
22
+ data: WaveSpeedAISubmitResponse;
23
+ }
24
+ declare abstract class WavespeedAITask extends TaskProviderHelper {
25
+ constructor(url?: string);
26
+ makeRoute(params: UrlParams): string;
27
+ preparePayload(params: BodyParams<ImageToImageArgs | TextToImageArgs | TextToVideoArgs>): Record<string, unknown>;
28
+ getResponse(response: WaveSpeedAISubmitTaskResponse, url?: string, headers?: Record<string, string>): Promise<Blob>;
29
+ }
30
+ export declare class WavespeedAITextToImageTask extends WavespeedAITask implements TextToImageTaskHelper {
31
+ constructor();
32
+ }
33
+ export declare class WavespeedAITextToVideoTask extends WavespeedAITask implements TextToVideoTaskHelper {
34
+ constructor();
35
+ }
36
+ export declare class WavespeedAIImageToImageTask extends WavespeedAITask implements ImageToImageTaskHelper {
37
+ constructor();
38
+ preparePayloadAsync(args: ImageToImageArgs): Promise<RequestArgs>;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=wavespeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wavespeed.d.ts","sourceRoot":"","sources":["../../../src/providers/wavespeed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA6BzD;;GAEG;AACH,UAAU,yBAAyB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;CACF;AAWD;;GAEG;AACH,UAAU,6BAA6B;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,yBAAyB,CAAC;CAChC;AAED,uBAAe,eAAgB,SAAQ,kBAAkB;gBAC5C,GAAG,CAAC,EAAE,MAAM;IAIxB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAIpC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,gBAAgB,GAAG,eAAe,GAAG,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkBlG,WAAW,CACzB,QAAQ,EAAE,6BAA6B,EACvC,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;CA4DhB;AAED,qBAAa,0BAA2B,SAAQ,eAAgB,YAAW,qBAAqB;;CAI/F;AAED,qBAAa,0BAA2B,SAAQ,eAAgB,YAAW,qBAAqB;;CAI/F;AAED,qBAAa,2BAA4B,SAAQ,eAAgB,YAAW,sBAAsB;;IAK3F,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;CASvE"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WavespeedAIImageToImageTask = exports.WavespeedAITextToVideoTask = exports.WavespeedAITextToImageTask = void 0;
4
+ const delay_js_1 = require("../utils/delay.js");
5
+ const omit_js_1 = require("../utils/omit.js");
6
+ const base64FromBytes_js_1 = require("../utils/base64FromBytes.js");
7
+ const providerHelper_js_1 = require("./providerHelper.js");
8
+ const errors_js_1 = require("../errors.js");
9
+ const WAVESPEEDAI_API_BASE_URL = "https://api.wavespeed.ai";
10
+ class WavespeedAITask extends providerHelper_js_1.TaskProviderHelper {
11
+ constructor(url) {
12
+ super("wavespeed", url || WAVESPEEDAI_API_BASE_URL);
13
+ }
14
+ makeRoute(params) {
15
+ return `/api/v3/${params.model}`;
16
+ }
17
+ preparePayload(params) {
18
+ const payload = {
19
+ ...(0, omit_js_1.omit)(params.args, ["inputs", "parameters"]),
20
+ ...params.args.parameters,
21
+ prompt: params.args.inputs,
22
+ };
23
+ // Add LoRA support if adapter is specified in the mapping
24
+ if (params.mapping?.adapter === "lora") {
25
+ payload.loras = [
26
+ {
27
+ path: params.mapping.hfModelId,
28
+ scale: 1, // Default scale value
29
+ },
30
+ ];
31
+ }
32
+ return payload;
33
+ }
34
+ async getResponse(response, url, headers) {
35
+ if (!headers) {
36
+ throw new errors_js_1.InferenceClientInputError("Headers are required for WaveSpeed AI API calls");
37
+ }
38
+ const resultUrl = response.data.urls.get;
39
+ // Poll for results until completion
40
+ while (true) {
41
+ const resultResponse = await fetch(resultUrl, { headers });
42
+ if (!resultResponse.ok) {
43
+ throw new errors_js_1.InferenceClientProviderApiError("Failed to fetch response status from WaveSpeed AI API", { url: resultUrl, method: "GET" }, {
44
+ requestId: resultResponse.headers.get("x-request-id") ?? "",
45
+ status: resultResponse.status,
46
+ body: await resultResponse.text(),
47
+ });
48
+ }
49
+ const result = await resultResponse.json();
50
+ const taskResult = result.data;
51
+ switch (taskResult.status) {
52
+ case "completed": {
53
+ // Get the media data from the first output URL
54
+ if (!taskResult.outputs?.[0]) {
55
+ throw new errors_js_1.InferenceClientProviderOutputError("Received malformed response from WaveSpeed AI API: No output URL in completed response");
56
+ }
57
+ const mediaResponse = await fetch(taskResult.outputs[0]);
58
+ if (!mediaResponse.ok) {
59
+ throw new errors_js_1.InferenceClientProviderApiError("Failed to fetch generation output from WaveSpeed AI API", { url: taskResult.outputs[0], method: "GET" }, {
60
+ requestId: mediaResponse.headers.get("x-request-id") ?? "",
61
+ status: mediaResponse.status,
62
+ body: await mediaResponse.text(),
63
+ });
64
+ }
65
+ return await mediaResponse.blob();
66
+ }
67
+ case "failed": {
68
+ throw new errors_js_1.InferenceClientProviderOutputError(taskResult.error || "Task failed");
69
+ }
70
+ default: {
71
+ // Wait before polling again
72
+ await (0, delay_js_1.delay)(500);
73
+ continue;
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ class WavespeedAITextToImageTask extends WavespeedAITask {
80
+ constructor() {
81
+ super(WAVESPEEDAI_API_BASE_URL);
82
+ }
83
+ }
84
+ exports.WavespeedAITextToImageTask = WavespeedAITextToImageTask;
85
+ class WavespeedAITextToVideoTask extends WavespeedAITask {
86
+ constructor() {
87
+ super(WAVESPEEDAI_API_BASE_URL);
88
+ }
89
+ }
90
+ exports.WavespeedAITextToVideoTask = WavespeedAITextToVideoTask;
91
+ class WavespeedAIImageToImageTask extends WavespeedAITask {
92
+ constructor() {
93
+ super(WAVESPEEDAI_API_BASE_URL);
94
+ }
95
+ async preparePayloadAsync(args) {
96
+ return {
97
+ ...args,
98
+ inputs: args.parameters?.prompt,
99
+ image: (0, base64FromBytes_js_1.base64FromBytes)(new Uint8Array(args.inputs instanceof ArrayBuffer ? args.inputs : await args.inputs.arrayBuffer())),
100
+ };
101
+ }
102
+ }
103
+ exports.WavespeedAIImageToImageTask = WavespeedAIImageToImageTask;
@@ -36,10 +36,16 @@ export interface Options {
36
36
  billTo?: string;
37
37
  }
38
38
  export type InferenceTask = Exclude<PipelineType, "other"> | "conversational";
39
- export declare const INFERENCE_PROVIDERS: readonly ["baseten", "black-forest-labs", "cerebras", "clarifai", "cohere", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "hyperbolic", "nebius", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "sambanova", "scaleway", "together", "zai-org"];
40
- export declare const PROVIDERS_OR_POLICIES: readonly ["baseten", "black-forest-labs", "cerebras", "clarifai", "cohere", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "hyperbolic", "nebius", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "sambanova", "scaleway", "together", "zai-org", "auto"];
39
+ export declare const INFERENCE_PROVIDERS: readonly ["baseten", "black-forest-labs", "cerebras", "clarifai", "cohere", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "hyperbolic", "nebius", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "sambanova", "scaleway", "together", "wavespeed", "zai-org"];
40
+ export declare const PROVIDERS_OR_POLICIES: readonly ["baseten", "black-forest-labs", "cerebras", "clarifai", "cohere", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "hyperbolic", "nebius", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "sambanova", "scaleway", "together", "wavespeed", "zai-org", "auto"];
41
41
  export type InferenceProvider = (typeof INFERENCE_PROVIDERS)[number];
42
42
  export type InferenceProviderOrPolicy = (typeof PROVIDERS_OR_POLICIES)[number];
43
+ /**
44
+ * The org namespace on the HF Hub i.e. hf.co/…
45
+ *
46
+ * Whenever possible, InferenceProvider should == org namespace
47
+ */
48
+ export declare const PROVIDERS_HUB_ORGS: Record<InferenceProvider, string>;
43
49
  export interface InferenceProviderMappingEntry {
44
50
  adapter?: string;
45
51
  adapterWeightsPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PROVIDERS_OR_POLICIES = exports.INFERENCE_PROVIDERS = void 0;
3
+ exports.PROVIDERS_HUB_ORGS = exports.PROVIDERS_OR_POLICIES = exports.INFERENCE_PROVIDERS = void 0;
4
4
  exports.INFERENCE_PROVIDERS = [
5
5
  "baseten",
6
6
  "black-forest-labs",
@@ -23,6 +23,37 @@ exports.INFERENCE_PROVIDERS = [
23
23
  "sambanova",
24
24
  "scaleway",
25
25
  "together",
26
+ "wavespeed",
26
27
  "zai-org",
27
28
  ];
28
29
  exports.PROVIDERS_OR_POLICIES = [...exports.INFERENCE_PROVIDERS, "auto"];
30
+ /**
31
+ * The org namespace on the HF Hub i.e. hf.co/…
32
+ *
33
+ * Whenever possible, InferenceProvider should == org namespace
34
+ */
35
+ exports.PROVIDERS_HUB_ORGS = {
36
+ baseten: "baseten",
37
+ "black-forest-labs": "black-forest-labs",
38
+ cerebras: "cerebras",
39
+ clarifai: "clarifai",
40
+ cohere: "CohereLabs",
41
+ "fal-ai": "fal",
42
+ "featherless-ai": "featherless-ai",
43
+ "fireworks-ai": "fireworks-ai",
44
+ groq: "groq",
45
+ "hf-inference": "hf-inference",
46
+ hyperbolic: "Hyperbolic",
47
+ nebius: "nebius",
48
+ novita: "novita",
49
+ nscale: "nscale",
50
+ openai: "openai",
51
+ ovhcloud: "ovhcloud",
52
+ publicai: "publicai",
53
+ replicate: "replicate",
54
+ sambanova: "sambanovasystems",
55
+ scaleway: "scaleway",
56
+ together: "togethercomputer",
57
+ wavespeed: "wavespeed",
58
+ "zai-org": "zai-org",
59
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getProviderHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/getProviderHelper.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import * as Replicate from "../providers/replicate.js";
19
19
  import * as Sambanova from "../providers/sambanova.js";
20
20
  import * as Scaleway from "../providers/scaleway.js";
21
21
  import * as Together from "../providers/together.js";
22
+ import * as Wavespeed from "../providers/wavespeed.js";
22
23
  import * as Zai from "../providers/zai-org.js";
23
24
  import { InferenceClientInputError } from "../errors.js";
24
25
  export const PROVIDERS = {
@@ -138,6 +139,11 @@ export const PROVIDERS = {
138
139
  conversational: new Together.TogetherConversationalTask(),
139
140
  "text-generation": new Together.TogetherTextGenerationTask(),
140
141
  },
142
+ wavespeed: {
143
+ "text-to-image": new Wavespeed.WavespeedAITextToImageTask(),
144
+ "text-to-video": new Wavespeed.WavespeedAITextToVideoTask(),
145
+ "image-to-image": new Wavespeed.WavespeedAIImageToImageTask(),
146
+ },
141
147
  "zai-org": {
142
148
  conversational: new Zai.ZaiConversationalTask(),
143
149
  },
@@ -1,3 +1,3 @@
1
- export declare const PACKAGE_VERSION = "4.11.2";
1
+ export declare const PACKAGE_VERSION = "4.11.3";
2
2
  export declare const PACKAGE_NAME = "@huggingface/inference";
3
3
  //# sourceMappingURL=package.d.ts.map
@@ -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.11.2";
2
+ export const PACKAGE_VERSION = "4.11.3";
3
3
  export const PACKAGE_NAME = "@huggingface/inference";
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/providers/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACrD,iBAAiB,EACjB,MAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC,CA8B9C,CAAC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/providers/consts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CACrD,iBAAiB,EACjB,MAAM,CAAC,OAAO,EAAE,6BAA6B,CAAC,CA+B9C,CAAC"}
@@ -33,5 +33,6 @@ export const HARDCODED_MODEL_INFERENCE_MAPPING = {
33
33
  sambanova: {},
34
34
  scaleway: {},
35
35
  together: {},
36
+ wavespeed: {},
36
37
  "zai-org": {},
37
38
  };
@@ -0,0 +1,41 @@
1
+ import type { TextToImageArgs } from "../tasks/cv/textToImage.js";
2
+ import type { ImageToImageArgs } from "../tasks/cv/imageToImage.js";
3
+ import type { TextToVideoArgs } from "../tasks/cv/textToVideo.js";
4
+ import type { BodyParams, RequestArgs, UrlParams } from "../types.js";
5
+ import type { TextToImageTaskHelper, TextToVideoTaskHelper, ImageToImageTaskHelper } from "./providerHelper.js";
6
+ import { TaskProviderHelper } from "./providerHelper.js";
7
+ /**
8
+ * Response structure for initial task submission
9
+ */
10
+ interface WaveSpeedAISubmitResponse {
11
+ id: string;
12
+ urls: {
13
+ get: string;
14
+ };
15
+ }
16
+ /**
17
+ * Response structure for WaveSpeed AI API with submit response data
18
+ */
19
+ interface WaveSpeedAISubmitTaskResponse {
20
+ code: number;
21
+ message: string;
22
+ data: WaveSpeedAISubmitResponse;
23
+ }
24
+ declare abstract class WavespeedAITask extends TaskProviderHelper {
25
+ constructor(url?: string);
26
+ makeRoute(params: UrlParams): string;
27
+ preparePayload(params: BodyParams<ImageToImageArgs | TextToImageArgs | TextToVideoArgs>): Record<string, unknown>;
28
+ getResponse(response: WaveSpeedAISubmitTaskResponse, url?: string, headers?: Record<string, string>): Promise<Blob>;
29
+ }
30
+ export declare class WavespeedAITextToImageTask extends WavespeedAITask implements TextToImageTaskHelper {
31
+ constructor();
32
+ }
33
+ export declare class WavespeedAITextToVideoTask extends WavespeedAITask implements TextToVideoTaskHelper {
34
+ constructor();
35
+ }
36
+ export declare class WavespeedAIImageToImageTask extends WavespeedAITask implements ImageToImageTaskHelper {
37
+ constructor();
38
+ preparePayloadAsync(args: ImageToImageArgs): Promise<RequestArgs>;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=wavespeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wavespeed.d.ts","sourceRoot":"","sources":["../../../src/providers/wavespeed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA6BzD;;GAEG;AACH,UAAU,yBAAyB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;CACF;AAWD;;GAEG;AACH,UAAU,6BAA6B;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,yBAAyB,CAAC;CAChC;AAED,uBAAe,eAAgB,SAAQ,kBAAkB;gBAC5C,GAAG,CAAC,EAAE,MAAM;IAIxB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAIpC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,gBAAgB,GAAG,eAAe,GAAG,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkBlG,WAAW,CACzB,QAAQ,EAAE,6BAA6B,EACvC,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;CA4DhB;AAED,qBAAa,0BAA2B,SAAQ,eAAgB,YAAW,qBAAqB;;CAI/F;AAED,qBAAa,0BAA2B,SAAQ,eAAgB,YAAW,qBAAqB;;CAI/F;AAED,qBAAa,2BAA4B,SAAQ,eAAgB,YAAW,sBAAsB;;IAK3F,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;CASvE"}
@@ -0,0 +1,97 @@
1
+ import { delay } from "../utils/delay.js";
2
+ import { omit } from "../utils/omit.js";
3
+ import { base64FromBytes } from "../utils/base64FromBytes.js";
4
+ import { TaskProviderHelper } from "./providerHelper.js";
5
+ import { InferenceClientInputError, InferenceClientProviderApiError, InferenceClientProviderOutputError, } from "../errors.js";
6
+ const WAVESPEEDAI_API_BASE_URL = "https://api.wavespeed.ai";
7
+ class WavespeedAITask extends TaskProviderHelper {
8
+ constructor(url) {
9
+ super("wavespeed", url || WAVESPEEDAI_API_BASE_URL);
10
+ }
11
+ makeRoute(params) {
12
+ return `/api/v3/${params.model}`;
13
+ }
14
+ preparePayload(params) {
15
+ const payload = {
16
+ ...omit(params.args, ["inputs", "parameters"]),
17
+ ...params.args.parameters,
18
+ prompt: params.args.inputs,
19
+ };
20
+ // Add LoRA support if adapter is specified in the mapping
21
+ if (params.mapping?.adapter === "lora") {
22
+ payload.loras = [
23
+ {
24
+ path: params.mapping.hfModelId,
25
+ scale: 1, // Default scale value
26
+ },
27
+ ];
28
+ }
29
+ return payload;
30
+ }
31
+ async getResponse(response, url, headers) {
32
+ if (!headers) {
33
+ throw new InferenceClientInputError("Headers are required for WaveSpeed AI API calls");
34
+ }
35
+ const resultUrl = response.data.urls.get;
36
+ // Poll for results until completion
37
+ while (true) {
38
+ const resultResponse = await fetch(resultUrl, { headers });
39
+ if (!resultResponse.ok) {
40
+ throw new InferenceClientProviderApiError("Failed to fetch response status from WaveSpeed AI API", { url: resultUrl, method: "GET" }, {
41
+ requestId: resultResponse.headers.get("x-request-id") ?? "",
42
+ status: resultResponse.status,
43
+ body: await resultResponse.text(),
44
+ });
45
+ }
46
+ const result = await resultResponse.json();
47
+ const taskResult = result.data;
48
+ switch (taskResult.status) {
49
+ case "completed": {
50
+ // Get the media data from the first output URL
51
+ if (!taskResult.outputs?.[0]) {
52
+ throw new InferenceClientProviderOutputError("Received malformed response from WaveSpeed AI API: No output URL in completed response");
53
+ }
54
+ const mediaResponse = await fetch(taskResult.outputs[0]);
55
+ if (!mediaResponse.ok) {
56
+ throw new InferenceClientProviderApiError("Failed to fetch generation output from WaveSpeed AI API", { url: taskResult.outputs[0], method: "GET" }, {
57
+ requestId: mediaResponse.headers.get("x-request-id") ?? "",
58
+ status: mediaResponse.status,
59
+ body: await mediaResponse.text(),
60
+ });
61
+ }
62
+ return await mediaResponse.blob();
63
+ }
64
+ case "failed": {
65
+ throw new InferenceClientProviderOutputError(taskResult.error || "Task failed");
66
+ }
67
+ default: {
68
+ // Wait before polling again
69
+ await delay(500);
70
+ continue;
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }
76
+ export class WavespeedAITextToImageTask extends WavespeedAITask {
77
+ constructor() {
78
+ super(WAVESPEEDAI_API_BASE_URL);
79
+ }
80
+ }
81
+ export class WavespeedAITextToVideoTask extends WavespeedAITask {
82
+ constructor() {
83
+ super(WAVESPEEDAI_API_BASE_URL);
84
+ }
85
+ }
86
+ export class WavespeedAIImageToImageTask extends WavespeedAITask {
87
+ constructor() {
88
+ super(WAVESPEEDAI_API_BASE_URL);
89
+ }
90
+ async preparePayloadAsync(args) {
91
+ return {
92
+ ...args,
93
+ inputs: args.parameters?.prompt,
94
+ image: base64FromBytes(new Uint8Array(args.inputs instanceof ArrayBuffer ? args.inputs : await args.inputs.arrayBuffer())),
95
+ };
96
+ }
97
+ }
@@ -36,10 +36,16 @@ export interface Options {
36
36
  billTo?: string;
37
37
  }
38
38
  export type InferenceTask = Exclude<PipelineType, "other"> | "conversational";
39
- export declare const INFERENCE_PROVIDERS: readonly ["baseten", "black-forest-labs", "cerebras", "clarifai", "cohere", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "hyperbolic", "nebius", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "sambanova", "scaleway", "together", "zai-org"];
40
- export declare const PROVIDERS_OR_POLICIES: readonly ["baseten", "black-forest-labs", "cerebras", "clarifai", "cohere", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "hyperbolic", "nebius", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "sambanova", "scaleway", "together", "zai-org", "auto"];
39
+ export declare const INFERENCE_PROVIDERS: readonly ["baseten", "black-forest-labs", "cerebras", "clarifai", "cohere", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "hyperbolic", "nebius", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "sambanova", "scaleway", "together", "wavespeed", "zai-org"];
40
+ export declare const PROVIDERS_OR_POLICIES: readonly ["baseten", "black-forest-labs", "cerebras", "clarifai", "cohere", "fal-ai", "featherless-ai", "fireworks-ai", "groq", "hf-inference", "hyperbolic", "nebius", "novita", "nscale", "openai", "ovhcloud", "publicai", "replicate", "sambanova", "scaleway", "together", "wavespeed", "zai-org", "auto"];
41
41
  export type InferenceProvider = (typeof INFERENCE_PROVIDERS)[number];
42
42
  export type InferenceProviderOrPolicy = (typeof PROVIDERS_OR_POLICIES)[number];
43
+ /**
44
+ * The org namespace on the HF Hub i.e. hf.co/…
45
+ *
46
+ * Whenever possible, InferenceProvider should == org namespace
47
+ */
48
+ export declare const PROVIDERS_HUB_ORGS: Record<InferenceProvider, string>;
43
49
  export interface InferenceProviderMappingEntry {
44
50
  adapter?: string;
45
51
  adapterWeightsPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/esm/types.js CHANGED
@@ -20,6 +20,37 @@ export const INFERENCE_PROVIDERS = [
20
20
  "sambanova",
21
21
  "scaleway",
22
22
  "together",
23
+ "wavespeed",
23
24
  "zai-org",
24
25
  ];
25
26
  export const PROVIDERS_OR_POLICIES = [...INFERENCE_PROVIDERS, "auto"];
27
+ /**
28
+ * The org namespace on the HF Hub i.e. hf.co/…
29
+ *
30
+ * Whenever possible, InferenceProvider should == org namespace
31
+ */
32
+ export const PROVIDERS_HUB_ORGS = {
33
+ baseten: "baseten",
34
+ "black-forest-labs": "black-forest-labs",
35
+ cerebras: "cerebras",
36
+ clarifai: "clarifai",
37
+ cohere: "CohereLabs",
38
+ "fal-ai": "fal",
39
+ "featherless-ai": "featherless-ai",
40
+ "fireworks-ai": "fireworks-ai",
41
+ groq: "groq",
42
+ "hf-inference": "hf-inference",
43
+ hyperbolic: "Hyperbolic",
44
+ nebius: "nebius",
45
+ novita: "novita",
46
+ nscale: "nscale",
47
+ openai: "openai",
48
+ ovhcloud: "ovhcloud",
49
+ publicai: "publicai",
50
+ replicate: "replicate",
51
+ sambanova: "sambanovasystems",
52
+ scaleway: "scaleway",
53
+ together: "togethercomputer",
54
+ wavespeed: "wavespeed",
55
+ "zai-org": "zai-org",
56
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huggingface/inference",
3
- "version": "4.11.2",
3
+ "version": "4.11.3",
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,7 +40,7 @@
40
40
  },
41
41
  "type": "module",
42
42
  "dependencies": {
43
- "@huggingface/tasks": "^0.19.50",
43
+ "@huggingface/tasks": "^0.19.52",
44
44
  "@huggingface/jinja": "^0.5.1"
45
45
  },
46
46
  "devDependencies": {
@@ -52,6 +52,7 @@ import * as Replicate from "../providers/replicate.js";
52
52
  import * as Sambanova from "../providers/sambanova.js";
53
53
  import * as Scaleway from "../providers/scaleway.js";
54
54
  import * as Together from "../providers/together.js";
55
+ import * as Wavespeed from "../providers/wavespeed.js";
55
56
  import * as Zai from "../providers/zai-org.js";
56
57
  import type { InferenceProvider, InferenceProviderOrPolicy, InferenceTask } from "../types.js";
57
58
  import { InferenceClientInputError } from "../errors.js";
@@ -173,6 +174,11 @@ export const PROVIDERS: Record<InferenceProvider, Partial<Record<InferenceTask,
173
174
  conversational: new Together.TogetherConversationalTask(),
174
175
  "text-generation": new Together.TogetherTextGenerationTask(),
175
176
  },
177
+ wavespeed: {
178
+ "text-to-image": new Wavespeed.WavespeedAITextToImageTask(),
179
+ "text-to-video": new Wavespeed.WavespeedAITextToVideoTask(),
180
+ "image-to-image": new Wavespeed.WavespeedAIImageToImageTask(),
181
+ },
176
182
  "zai-org": {
177
183
  conversational: new Zai.ZaiConversationalTask(),
178
184
  },
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.11.2";
2
+ export const PACKAGE_VERSION = "4.11.3";
3
3
  export const PACKAGE_NAME = "@huggingface/inference";
@@ -39,5 +39,6 @@ export const HARDCODED_MODEL_INFERENCE_MAPPING: Record<
39
39
  sambanova: {},
40
40
  scaleway: {},
41
41
  together: {},
42
+ wavespeed: {},
42
43
  "zai-org": {},
43
44
  };
@@ -0,0 +1,185 @@
1
+ import type { TextToImageArgs } from "../tasks/cv/textToImage.js";
2
+ import type { ImageToImageArgs } from "../tasks/cv/imageToImage.js";
3
+ import type { TextToVideoArgs } from "../tasks/cv/textToVideo.js";
4
+ import type { BodyParams, RequestArgs, UrlParams } from "../types.js";
5
+ import { delay } from "../utils/delay.js";
6
+ import { omit } from "../utils/omit.js";
7
+ import { base64FromBytes } from "../utils/base64FromBytes.js";
8
+ import type { TextToImageTaskHelper, TextToVideoTaskHelper, ImageToImageTaskHelper } from "./providerHelper.js";
9
+ import { TaskProviderHelper } from "./providerHelper.js";
10
+ import {
11
+ InferenceClientInputError,
12
+ InferenceClientProviderApiError,
13
+ InferenceClientProviderOutputError,
14
+ } from "../errors.js";
15
+
16
+ const WAVESPEEDAI_API_BASE_URL = "https://api.wavespeed.ai";
17
+
18
+ /**
19
+ * Response structure for task status and results
20
+ */
21
+ interface WaveSpeedAITaskResponse {
22
+ id: string;
23
+ model: string;
24
+ outputs: string[];
25
+ urls: {
26
+ get: string;
27
+ };
28
+ has_nsfw_contents: boolean[];
29
+ status: "created" | "processing" | "completed" | "failed";
30
+ created_at: string;
31
+ error: string;
32
+ executionTime: number;
33
+ timings: {
34
+ inference: number;
35
+ };
36
+ }
37
+
38
+ /**
39
+ * Response structure for initial task submission
40
+ */
41
+ interface WaveSpeedAISubmitResponse {
42
+ id: string;
43
+ urls: {
44
+ get: string;
45
+ };
46
+ }
47
+
48
+ /**
49
+ * Response structure for WaveSpeed AI API
50
+ */
51
+ interface WaveSpeedAIResponse {
52
+ code: number;
53
+ message: string;
54
+ data: WaveSpeedAITaskResponse;
55
+ }
56
+
57
+ /**
58
+ * Response structure for WaveSpeed AI API with submit response data
59
+ */
60
+ interface WaveSpeedAISubmitTaskResponse {
61
+ code: number;
62
+ message: string;
63
+ data: WaveSpeedAISubmitResponse;
64
+ }
65
+
66
+ abstract class WavespeedAITask extends TaskProviderHelper {
67
+ constructor(url?: string) {
68
+ super("wavespeed", url || WAVESPEEDAI_API_BASE_URL);
69
+ }
70
+
71
+ makeRoute(params: UrlParams): string {
72
+ return `/api/v3/${params.model}`;
73
+ }
74
+
75
+ preparePayload(params: BodyParams<ImageToImageArgs | TextToImageArgs | TextToVideoArgs>): Record<string, unknown> {
76
+ const payload: Record<string, unknown> = {
77
+ ...omit(params.args, ["inputs", "parameters"]),
78
+ ...params.args.parameters,
79
+ prompt: params.args.inputs,
80
+ };
81
+ // Add LoRA support if adapter is specified in the mapping
82
+ if (params.mapping?.adapter === "lora") {
83
+ payload.loras = [
84
+ {
85
+ path: params.mapping.hfModelId,
86
+ scale: 1, // Default scale value
87
+ },
88
+ ];
89
+ }
90
+ return payload;
91
+ }
92
+
93
+ override async getResponse(
94
+ response: WaveSpeedAISubmitTaskResponse,
95
+ url?: string,
96
+ headers?: Record<string, string>
97
+ ): Promise<Blob> {
98
+ if (!headers) {
99
+ throw new InferenceClientInputError("Headers are required for WaveSpeed AI API calls");
100
+ }
101
+
102
+ const resultUrl = response.data.urls.get;
103
+
104
+ // Poll for results until completion
105
+ while (true) {
106
+ const resultResponse = await fetch(resultUrl, { headers });
107
+
108
+ if (!resultResponse.ok) {
109
+ throw new InferenceClientProviderApiError(
110
+ "Failed to fetch response status from WaveSpeed AI API",
111
+ { url: resultUrl, method: "GET" },
112
+ {
113
+ requestId: resultResponse.headers.get("x-request-id") ?? "",
114
+ status: resultResponse.status,
115
+ body: await resultResponse.text(),
116
+ }
117
+ );
118
+ }
119
+
120
+ const result: WaveSpeedAIResponse = await resultResponse.json();
121
+ const taskResult = result.data;
122
+
123
+ switch (taskResult.status) {
124
+ case "completed": {
125
+ // Get the media data from the first output URL
126
+ if (!taskResult.outputs?.[0]) {
127
+ throw new InferenceClientProviderOutputError(
128
+ "Received malformed response from WaveSpeed AI API: No output URL in completed response"
129
+ );
130
+ }
131
+ const mediaResponse = await fetch(taskResult.outputs[0]);
132
+ if (!mediaResponse.ok) {
133
+ throw new InferenceClientProviderApiError(
134
+ "Failed to fetch generation output from WaveSpeed AI API",
135
+ { url: taskResult.outputs[0], method: "GET" },
136
+ {
137
+ requestId: mediaResponse.headers.get("x-request-id") ?? "",
138
+ status: mediaResponse.status,
139
+ body: await mediaResponse.text(),
140
+ }
141
+ );
142
+ }
143
+ return await mediaResponse.blob();
144
+ }
145
+ case "failed": {
146
+ throw new InferenceClientProviderOutputError(taskResult.error || "Task failed");
147
+ }
148
+
149
+ default: {
150
+ // Wait before polling again
151
+ await delay(500);
152
+ continue;
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }
158
+
159
+ export class WavespeedAITextToImageTask extends WavespeedAITask implements TextToImageTaskHelper {
160
+ constructor() {
161
+ super(WAVESPEEDAI_API_BASE_URL);
162
+ }
163
+ }
164
+
165
+ export class WavespeedAITextToVideoTask extends WavespeedAITask implements TextToVideoTaskHelper {
166
+ constructor() {
167
+ super(WAVESPEEDAI_API_BASE_URL);
168
+ }
169
+ }
170
+
171
+ export class WavespeedAIImageToImageTask extends WavespeedAITask implements ImageToImageTaskHelper {
172
+ constructor() {
173
+ super(WAVESPEEDAI_API_BASE_URL);
174
+ }
175
+
176
+ async preparePayloadAsync(args: ImageToImageArgs): Promise<RequestArgs> {
177
+ return {
178
+ ...args,
179
+ inputs: args.parameters?.prompt,
180
+ image: base64FromBytes(
181
+ new Uint8Array(args.inputs instanceof ArrayBuffer ? args.inputs : await (args.inputs as Blob).arrayBuffer())
182
+ ),
183
+ };
184
+ }
185
+ }
package/src/types.ts CHANGED
@@ -66,6 +66,7 @@ export const INFERENCE_PROVIDERS = [
66
66
  "sambanova",
67
67
  "scaleway",
68
68
  "together",
69
+ "wavespeed",
69
70
  "zai-org",
70
71
  ] as const;
71
72
 
@@ -75,6 +76,37 @@ export type InferenceProvider = (typeof INFERENCE_PROVIDERS)[number];
75
76
 
76
77
  export type InferenceProviderOrPolicy = (typeof PROVIDERS_OR_POLICIES)[number];
77
78
 
79
+ /**
80
+ * The org namespace on the HF Hub i.e. hf.co/…
81
+ *
82
+ * Whenever possible, InferenceProvider should == org namespace
83
+ */
84
+ export const PROVIDERS_HUB_ORGS: Record<InferenceProvider, string> = {
85
+ baseten: "baseten",
86
+ "black-forest-labs": "black-forest-labs",
87
+ cerebras: "cerebras",
88
+ clarifai: "clarifai",
89
+ cohere: "CohereLabs",
90
+ "fal-ai": "fal",
91
+ "featherless-ai": "featherless-ai",
92
+ "fireworks-ai": "fireworks-ai",
93
+ groq: "groq",
94
+ "hf-inference": "hf-inference",
95
+ hyperbolic: "Hyperbolic",
96
+ nebius: "nebius",
97
+ novita: "novita",
98
+ nscale: "nscale",
99
+ openai: "openai",
100
+ ovhcloud: "ovhcloud",
101
+ publicai: "publicai",
102
+ replicate: "replicate",
103
+ sambanova: "sambanovasystems",
104
+ scaleway: "scaleway",
105
+ together: "togethercomputer",
106
+ wavespeed: "wavespeed",
107
+ "zai-org": "zai-org",
108
+ };
109
+
78
110
  export interface InferenceProviderMappingEntry {
79
111
  adapter?: string;
80
112
  adapterWeightsPath?: string;