@zhivex-ai/xai 0.2.11 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @zhivex-ai/xai
2
2
 
3
- xAI Grok adapter for Zhivex AI SDK. It uses the xAI Responses API by default and supports Chat Completions as an explicit compatibility mode.
3
+ xAI Grok adapter for Zhivex AI SDK. It uses the xAI Responses API by default and supports Chat Completions as an explicit compatibility mode for models that still accept it. `grok-4.7` is Responses-only.
4
4
 
5
5
  ## Install
6
6
 
@@ -19,7 +19,7 @@ const xai = createXAI({
19
19
  });
20
20
 
21
21
  const result = await generateText({
22
- model: xai("grok-4.6"),
22
+ model: xai("grok-4.7"),
23
23
  prompt: "Summarize the latest xAI release with sources.",
24
24
  reasoning: { effort: "medium" },
25
25
  providerOptions: { conversationId: "release-research" },
@@ -34,20 +34,59 @@ console.log(result.text);
34
34
 
35
35
  The adapter defaults to `https://api.x.ai/v1` and reads `XAI_API_KEY` when no API key is passed explicitly.
36
36
 
37
- ## Supported Grok 4.6 and 4.5 features
37
+ ## Supported Grok 4.7, 4.6, and 4.5 features
38
38
 
39
39
  - text and image input
40
40
  - streaming
41
41
  - function calling and tool choice
42
42
  - native structured output
43
- - Grok 4.6 `low`, `medium`, `high`, and `xhigh` reasoning effort; Grok 4.5 supports up to `high`
44
- - always-on reasoning for both model families
45
- - hosted Web Search, X Search, code execution, and Collections file search
43
+ - `low`, `medium`, `high` (the provider default), and `xhigh` reasoning effort
44
+ - always-on reasoning for these model families (`none` is rejected, and penalty or stop controls are rejected while reasoning is active)
45
+ - hosted Web Search, X Search, and code execution
46
+ - Collections file search on models whose capability flag is `fileSearch: true`. The grok-4.7 model page does not list file search, so that flag is false. The collections guide still shows `file_search` requests for `grok-4.7`, and this adapter does not reject that tool
46
47
  - Files API attachments
47
48
  - prompt caching through `conversationId` or `prompt_cache_key`
48
49
  - Responses conversation continuity and encrypted reasoning preservation when `store: false`
49
50
 
50
- Use `providerOptions: { apiMode: "chat" }` only when Chat Completions compatibility is required. In Chat mode, `conversationId` is sent through the `x-grok-conv-id` header.
51
+ Use `providerOptions: { apiMode: "chat" }` only when Chat Completions compatibility is required. `grok-4.7` rejects that mode. In Chat mode, `conversationId` is sent through the `x-grok-conv-id` header.
52
+
53
+ `createXAI({ region: "us" })` calls `https://us.api.x.ai/v1`. xAI currently documents that regional host for `grok-4.7` and `grok-4.6`, with a 10% token premium. Do not pass `region` and `baseURL` together.
54
+
55
+ ## Imagine and voice
56
+
57
+ ```ts
58
+ import { generateImage, generateSpeech, generateVideo, transcribeAudio } from "@zhivex-ai/core";
59
+ import { createXAI } from "@zhivex-ai/xai";
60
+
61
+ const xai = createXAI({ apiKey: process.env.XAI_API_KEY });
62
+
63
+ const image = await generateImage({
64
+ model: xai.imageGenerationModel("grok-imagine-image-2.0"),
65
+ prompt: "A collage of London landmarks"
66
+ });
67
+
68
+ const video = await generateVideo({
69
+ model: xai.videoGenerationModel("grok-imagine-video-1.5"),
70
+ prompt: "A serene lake at sunrise",
71
+ durationSeconds: 8,
72
+ pollIntervalMs: 5_000
73
+ });
74
+
75
+ const speech = await generateSpeech({
76
+ model: xai.speechModel("grok-tts"),
77
+ input: "Hello from Grok.",
78
+ voice: "eve"
79
+ });
80
+
81
+ const transcript = await transcribeAudio({
82
+ model: xai.transcriptionModel("grok-voice-transcribe-2.0"),
83
+ audio: { data: audioBytes, mediaType: "audio/mpeg" }
84
+ });
85
+ ```
86
+
87
+ Image models are `grok-imagine-image`, `grok-imagine-image-2.0`, and `grok-imagine-image-quality`. Video models are `grok-imagine-video`, `grok-imagine-video-1.5`, and `grok-imagine-video-1.5-lite`. Video generation polls `GET /v1/videos/{request_id}` and returns the temporary video URL.
88
+
89
+ `grok-tts` is text-to-speech (`POST /v1/tts`). `grok-voice-transcribe-2.0` is speech-to-text (`POST /v1/stt`). `grok-voice-3.0` is the speech-to-speech model. `grok-voice-2.0` is deprecated and is rejected.
51
90
 
52
91
  Repository and full documentation:
53
92
 
package/dist/index.d.ts CHANGED
@@ -1,10 +1,16 @@
1
- import { type CallableProviderAdapter, type FilesClient, type JsonValue, type LanguageModel } from "@zhivex-ai/core/provider";
1
+ import { type AudioResponseLimits, type CallableProviderAdapter, type FilesClient, type ImageGenerationModel, type JsonValue, type LanguageModel, type SpeechModel, type TranscriptionModel, type VideoGenerationModel } from "@zhivex-ai/core/provider";
2
+ import { type XAIImageGenerationOptions, type XAISpeechOptions, type XAITranscriptionOptions, type XAIVideoGenerationOptions } from "./media.js";
3
+ export { XAI_DEPRECATED_MODELS, XAI_IMAGE_MODELS, XAI_SPEECH_TO_SPEECH_MODEL, XAI_SPEECH_TO_TEXT_MODEL, XAI_TEXT_TO_SPEECH_MODEL, XAI_VIDEO_MODELS } from "./media.js";
4
+ export type { XAIImageGenerationOptions, XAISpeechOptions, XAITranscriptionOptions, XAIVideoGenerationOptions } from "./media.js";
2
5
  export interface XAIProviderOptions {
3
6
  apiKey?: string;
4
7
  baseURL?: string;
8
+ /** `us` selects https://us.api.x.ai/v1. Do not combine with baseURL. */
9
+ region?: "global" | "us";
5
10
  headers?: Record<string, string>;
6
11
  fetch?: typeof globalThis.fetch;
7
12
  allowUnsafeEndpoints?: boolean;
13
+ responseLimits?: AudioResponseLimits;
8
14
  }
9
15
  export interface XAILanguageModelOptions {
10
16
  apiMode?: "chat" | "responses";
@@ -64,5 +70,9 @@ export declare const xAIFilePart: (fileId: string, mediaType?: string, filename?
64
70
  export declare const createXAI: (options?: XAIProviderOptions) => CallableProviderAdapter<LanguageModel<XAILanguageModelOptions>> & {
65
71
  files: FilesClient<XAIFileOptions>;
66
72
  rawFetch: typeof globalThis.fetch;
73
+ imageGenerationModel: (modelId: string) => ImageGenerationModel<XAIImageGenerationOptions>;
74
+ videoGenerationModel: (modelId: string) => VideoGenerationModel<XAIVideoGenerationOptions>;
75
+ speechModel: (modelId: string) => SpeechModel<XAISpeechOptions>;
76
+ transcriptionModel: (modelId: string) => TranscriptionModel<XAITranscriptionOptions>;
67
77
  };
68
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { ConfigurationError, ProviderHTTPError, UnsupportedFeatureError, assertTrustedEndpoint, createProviderAdapter, hostedTool, isHostedToolDefinition, normalizeMessages, readErrorBodyWithLimit, readJsonWithLimit, withRetry, withTimeoutSignal } from "@zhivex-ai/core/provider";
2
2
  import { createOpenAI } from "@zhivex-ai/openai";
3
+ import { createXAIMedia } from "./media.js";
4
+ export { XAI_DEPRECATED_MODELS, XAI_IMAGE_MODELS, XAI_SPEECH_TO_SPEECH_MODEL, XAI_SPEECH_TO_TEXT_MODEL, XAI_TEXT_TO_SPEECH_MODEL, XAI_VIDEO_MODELS } from "./media.js";
3
5
  const encodeXAIResourceId = (value) => {
4
6
  if (!value || value === "." || value === ".." || /[\\/?#\s]/.test(value)) {
5
7
  throw new ConfigurationError("xAI file ID must be a non-empty opaque identifier without path separators.");
@@ -35,24 +37,35 @@ const baseCapabilities = {
35
37
  }
36
38
  };
37
39
  const normalizedModelId = (modelId) => modelId.trim().toLowerCase();
40
+ const isGrok43 = (modelId) => /^grok-4\.3(?:[-@]|$)/.test(normalizedModelId(modelId));
38
41
  const isGrok45 = (modelId) => /^grok-4\.5(?:[-@]|$)/.test(normalizedModelId(modelId));
39
42
  const isGrok46 = (modelId) => /^grok-4\.6(?:[-@]|$)/.test(normalizedModelId(modelId));
43
+ const isGrok47 = (modelId) => /^grok-4\.7(?:[-@]|$)/.test(normalizedModelId(modelId));
40
44
  const isGrok420MultiAgent = (modelId) => /^grok-4\.20(?:-\d{4})?-multi-agent(?:[-@]|$)/.test(normalizedModelId(modelId));
41
45
  const isNonReasoningModel = (modelId) => /non-reasoning/.test(normalizedModelId(modelId));
42
- const isAlwaysReasoningModel = (modelId) => isGrok45(modelId) || isGrok46(modelId);
43
- const modelCapabilities = (modelId) => ({
44
- ...baseCapabilities,
45
- reasoning: !isNonReasoningModel(modelId),
46
- reasoningEfforts: isNonReasoningModel(modelId)
47
- ? undefined
48
- : isGrok46(modelId)
49
- ? ["low", "medium", "high", "xhigh"]
50
- : isGrok45(modelId)
51
- ? ["low", "medium", "high"]
52
- : isGrok420MultiAgent(modelId)
53
- ? ["low", "medium", "high", "xhigh"]
54
- : ["none", "low", "medium", "high"]
55
- });
46
+ const isGrokXHighReasoning = (modelId) => isGrok46(modelId) || isGrok47(modelId);
47
+ const isAlwaysReasoningModel = (modelId) => isGrok45(modelId) || isGrokXHighReasoning(modelId);
48
+ const modelCapabilities = (modelId) => {
49
+ // The grok-4.7 model page and developer guide do not list file search.
50
+ // Collections search docs still show file_search on grok-4.7, so requests are not rejected.
51
+ const fileSearch = !isGrok47(modelId);
52
+ return {
53
+ ...baseCapabilities,
54
+ fileSearch,
55
+ reasoning: !isNonReasoningModel(modelId),
56
+ reasoningEfforts: isNonReasoningModel(modelId)
57
+ ? undefined
58
+ : isGrokXHighReasoning(modelId) || isGrok45(modelId) || isGrok420MultiAgent(modelId)
59
+ ? ["low", "medium", "high", "xhigh"]
60
+ : isGrok43(modelId)
61
+ ? ["none", "low", "medium", "high", "xhigh"]
62
+ : ["none", "low", "medium", "high"],
63
+ agentCapabilities: {
64
+ ...baseCapabilities.agentCapabilities,
65
+ hostedFileSearch: fileSearch
66
+ }
67
+ };
68
+ };
56
69
  const jsonHeaders = (apiKey) => ({
57
70
  "content-type": "application/json",
58
71
  authorization: `Bearer ${apiKey}`
@@ -93,7 +106,18 @@ const remapToolsForOpenAITransport = (tools) => tools
93
106
  : definition
94
107
  ]))
95
108
  : undefined;
96
- const validateXAIInput = (modelId, input) => {
109
+ const isUsRegionalEndpoint = (baseURL) => {
110
+ try {
111
+ return new URL(baseURL).hostname === "us.api.x.ai";
112
+ }
113
+ catch {
114
+ return false;
115
+ }
116
+ };
117
+ const validateXAIInput = (modelId, input, baseURL) => {
118
+ if (isUsRegionalEndpoint(baseURL) && !isGrok46(modelId) && !isGrok47(modelId)) {
119
+ throw new UnsupportedFeatureError(`Provider "xai" US regional endpoint currently serves grok-4.7 and grok-4.6 only. Model "${modelId}" is not available at https://us.api.x.ai/v1.`);
120
+ }
97
121
  const reasoning = input.reasoning;
98
122
  if (reasoning?.budgetTokens !== undefined) {
99
123
  throw new UnsupportedFeatureError('Provider "xai" does not support "reasoning.budgetTokens".');
@@ -113,6 +137,9 @@ const validateXAIInput = (modelId, input) => {
113
137
  throw new UnsupportedFeatureError(`Provider "xai" model "${modelId}" does not support reasoning effort "${effort}". Supported efforts: ${supportedEfforts.join(", ")}.`);
114
138
  }
115
139
  const providerOptions = input.providerOptions;
140
+ if (isGrok47(modelId) && providerOptions?.apiMode === "chat") {
141
+ throw new UnsupportedFeatureError(`Provider "xai" model "${modelId}" accepts the Responses API only. Omit apiMode or set it to "responses". See https://docs.x.ai/developers/grok-4-7.`);
142
+ }
116
143
  if (providerOptions?.apiMode === "chat" &&
117
144
  Object.values(input.tools ?? {}).some(isHostedToolDefinition)) {
118
145
  throw new UnsupportedFeatureError('Provider "xai" supports hosted tools through the Responses API only.');
@@ -167,16 +194,18 @@ class XAILanguageModel {
167
194
  modelId;
168
195
  delegate;
169
196
  defaultHeaders;
197
+ baseURL;
170
198
  provider = "xai";
171
199
  capabilities;
172
- constructor(modelId, delegate, defaultHeaders) {
200
+ constructor(modelId, delegate, defaultHeaders, baseURL) {
173
201
  this.modelId = modelId;
174
202
  this.delegate = delegate;
175
203
  this.defaultHeaders = defaultHeaders;
204
+ this.baseURL = baseURL;
176
205
  this.capabilities = modelCapabilities(modelId);
177
206
  }
178
207
  async generate(input) {
179
- validateXAIInput(this.modelId, input);
208
+ validateXAIInput(this.modelId, input, this.baseURL);
180
209
  try {
181
210
  return remapGenerateResult(await this.delegate.generate(prepareTransportInput(input, this.defaultHeaders)));
182
211
  }
@@ -185,7 +214,7 @@ class XAILanguageModel {
185
214
  }
186
215
  }
187
216
  async stream(input) {
188
- validateXAIInput(this.modelId, input);
217
+ validateXAIInput(this.modelId, input, this.baseURL);
189
218
  if (!this.delegate.stream) {
190
219
  throw new UnsupportedFeatureError('Provider "xai" transport does not support streaming.');
191
220
  }
@@ -420,28 +449,41 @@ export const xAIFilePart = (fileId, mediaType = "application/octet-stream", file
420
449
  mediaType,
421
450
  filename
422
451
  });
423
- export const createXAI = (options = {}) => {
424
- const apiKey = options.apiKey ?? process.env.XAI_API_KEY;
425
- if (!apiKey)
426
- throw new ConfigurationError("Missing xAI API key.");
427
- const baseURL = assertTrustedEndpoint(options.baseURL ?? "https://api.x.ai/v1", {
452
+ const resolveXAIBaseURL = (options) => {
453
+ const region = options.region;
454
+ if (region !== undefined && region !== "global" && region !== "us") {
455
+ throw new ConfigurationError('Provider "xai" region must be "global" or "us".');
456
+ }
457
+ if (options.baseURL !== undefined && options.region !== undefined) {
458
+ throw new ConfigurationError('Provider "xai" accepts baseURL or region, not both.');
459
+ }
460
+ const raw = options.baseURL ?? (options.region === "us" ? "https://us.api.x.ai/v1" : "https://api.x.ai/v1");
461
+ return assertTrustedEndpoint(raw, {
428
462
  label: "xAI baseURL",
429
463
  protocols: ["https"],
430
464
  allowUnsafe: options.allowUnsafeEndpoints
431
465
  }).toString().replace(/\/+$/, "");
466
+ };
467
+ export const createXAI = (options = {}) => {
468
+ const apiKey = options.apiKey ?? process.env.XAI_API_KEY;
469
+ if (!apiKey)
470
+ throw new ConfigurationError("Missing xAI API key.");
471
+ const baseURL = resolveXAIBaseURL(options);
432
472
  const fetcher = options.fetch ?? globalThis.fetch;
433
473
  const defaultHeaders = Object.fromEntries(Object.entries(options.headers ?? {}).filter(([key]) => !["authorization", "content-type", "content-length", "host", "connection", "transfer-encoding"].includes(key.toLowerCase())));
434
474
  const languageModel = (modelId) => new XAILanguageModel(modelId, createOpenAI({
435
475
  apiKey, baseURL, fetch: fetcher, allowUnsafeEndpoints: options.allowUnsafeEndpoints,
436
476
  // This delegate implements the wire protocol; xAI owns model feature policy.
437
477
  modelCapabilities: { [modelId]: modelCapabilities(modelId) },
438
- }).languageModel(modelId), defaultHeaders);
478
+ }).languageModel(modelId), defaultHeaders, baseURL);
479
+ const media = createXAIMedia({ apiKey, baseURL, fetcher, responseLimits: options.responseLimits });
439
480
  return createProviderAdapter({
440
481
  name: "xai",
441
482
  languageModel,
442
483
  groundedLanguageModel: (modelId) => new XAIGroundedLanguageModel(modelId, languageModel(modelId)),
443
484
  files: new XAIFilesClient(apiKey, baseURL, fetcher),
444
- rawFetch: fetcher
485
+ rawFetch: fetcher,
486
+ ...media
445
487
  });
446
488
  };
447
489
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import { resolveAudioResponseLimits, type AudioResponseLimits, type ImageGenerationModel, type ImageGenerationModelInput, type ImageGenerationResult, type ModelCapabilities, type SpeechModel, type SpeechModelInput, type SpeechResult, type TranscriptionModel, type TranscriptionModelInput, type TranscriptionResult, type VideoGenerationModel, type VideoGenerationModelInput, type VideoGenerationResult } from "@zhivex-ai/core/provider";
2
+ export declare const XAI_IMAGE_MODELS: readonly ["grok-imagine-image", "grok-imagine-image-2.0", "grok-imagine-image-quality"];
3
+ export declare const XAI_VIDEO_MODELS: readonly ["grok-imagine-video", "grok-imagine-video-1.5", "grok-imagine-video-1.5-lite"];
4
+ export declare const XAI_TEXT_TO_SPEECH_MODEL = "grok-tts";
5
+ export declare const XAI_SPEECH_TO_TEXT_MODEL = "grok-voice-transcribe-2.0";
6
+ export declare const XAI_SPEECH_TO_SPEECH_MODEL = "grok-voice-3.0";
7
+ /** grok-voice-2.0 is the deprecated speech-to-speech model. Speech-to-speech uses grok-voice-3.0. */
8
+ export declare const XAI_DEPRECATED_MODELS: Readonly<{
9
+ "grok-voice-2.0": "Deprecated speech-to-speech model. Use grok-voice-3.0.";
10
+ }>;
11
+ export interface XAIImageGenerationOptions {
12
+ resolution?: "1k" | "2k";
13
+ quality?: "low" | "medium" | "auto";
14
+ response_format?: "url" | "b64_json";
15
+ [key: string]: unknown;
16
+ }
17
+ export interface XAIVideoGenerationOptions {
18
+ resolution?: "480p" | "720p" | "1080p";
19
+ [key: string]: unknown;
20
+ }
21
+ export interface XAISpeechOptions {
22
+ language?: string;
23
+ output_format?: {
24
+ codec?: string;
25
+ sample_rate?: number;
26
+ bit_rate?: number;
27
+ };
28
+ speed?: number;
29
+ with_timestamps?: boolean;
30
+ [key: string]: unknown;
31
+ }
32
+ export interface XAITranscriptionOptions {
33
+ url?: string;
34
+ format?: boolean;
35
+ keyterm?: string | string[];
36
+ diarize?: boolean;
37
+ [key: string]: unknown;
38
+ }
39
+ export declare const assertXaiMediaRegion: (baseURL: string, feature: string) => void;
40
+ export declare class XAIImageGenerationModel implements ImageGenerationModel<XAIImageGenerationOptions> {
41
+ readonly modelId: string;
42
+ private readonly apiKey;
43
+ private readonly baseURL;
44
+ private readonly fetcher;
45
+ readonly provider = "xai";
46
+ readonly capabilities: ModelCapabilities;
47
+ constructor(modelId: string, apiKey: string, baseURL: string, fetcher: typeof globalThis.fetch);
48
+ generateImage(input: ImageGenerationModelInput<XAIImageGenerationOptions>): Promise<ImageGenerationResult>;
49
+ private pollImage;
50
+ }
51
+ export declare class XAIVideoGenerationModel implements VideoGenerationModel<XAIVideoGenerationOptions> {
52
+ readonly modelId: string;
53
+ private readonly apiKey;
54
+ private readonly baseURL;
55
+ private readonly fetcher;
56
+ readonly provider = "xai";
57
+ readonly capabilities: ModelCapabilities;
58
+ constructor(modelId: string, apiKey: string, baseURL: string, fetcher: typeof globalThis.fetch);
59
+ generateVideo(input: VideoGenerationModelInput<XAIVideoGenerationOptions>): Promise<VideoGenerationResult>;
60
+ }
61
+ export declare class XAISpeechModel implements SpeechModel<XAISpeechOptions> {
62
+ readonly modelId: string;
63
+ private readonly apiKey;
64
+ private readonly baseURL;
65
+ private readonly fetcher;
66
+ private readonly responseLimits;
67
+ readonly provider = "xai";
68
+ readonly capabilities: ModelCapabilities;
69
+ constructor(modelId: string, apiKey: string, baseURL: string, fetcher: typeof globalThis.fetch, responseLimits: ReturnType<typeof resolveAudioResponseLimits>);
70
+ generateSpeech(input: SpeechModelInput<XAISpeechOptions>): Promise<SpeechResult>;
71
+ }
72
+ export declare class XAITranscriptionModel implements TranscriptionModel<XAITranscriptionOptions> {
73
+ readonly modelId: string;
74
+ private readonly apiKey;
75
+ private readonly baseURL;
76
+ private readonly fetcher;
77
+ private readonly responseLimits;
78
+ readonly provider = "xai";
79
+ readonly capabilities: ModelCapabilities;
80
+ constructor(modelId: string, apiKey: string, baseURL: string, fetcher: typeof globalThis.fetch, responseLimits: ReturnType<typeof resolveAudioResponseLimits>);
81
+ transcribe(input: TranscriptionModelInput<XAITranscriptionOptions>): Promise<TranscriptionResult>;
82
+ }
83
+ export declare const createXAIMedia: (config: {
84
+ apiKey: string;
85
+ baseURL: string;
86
+ fetcher: typeof globalThis.fetch;
87
+ responseLimits?: AudioResponseLimits;
88
+ }) => {
89
+ imageGenerationModel: (modelId: string) => XAIImageGenerationModel;
90
+ videoGenerationModel: (modelId: string) => XAIVideoGenerationModel;
91
+ speechModel: (modelId: string) => XAISpeechModel;
92
+ transcriptionModel: (modelId: string) => XAITranscriptionModel;
93
+ };
94
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
package/dist/media.js ADDED
@@ -0,0 +1,517 @@
1
+ import { ConfigurationError, ProviderHTTPError, UnsupportedFeatureError, decodeBase64WithLimit, readBodyWithLimit, readErrorBodyWithLimit, readJsonWithLimit, resolveAudioResponseLimits, withRetry, withTimeoutSignal } from "@zhivex-ai/core/provider";
2
+ const mediaCapabilities = (kind) => ({
3
+ streaming: false,
4
+ tools: false,
5
+ structuredOutput: false,
6
+ jsonMode: false,
7
+ toolChoice: false,
8
+ parallelToolCalls: false,
9
+ vision: kind === "image",
10
+ files: false,
11
+ audioInput: kind === "transcription",
12
+ audioOutput: kind === "speech" || kind === "video",
13
+ embeddings: false,
14
+ imageGeneration: kind === "image",
15
+ videoGeneration: kind === "video",
16
+ fileSearch: false,
17
+ reasoning: false,
18
+ webSearch: false,
19
+ agentCapabilities: {
20
+ supportTier: "tier-c",
21
+ toolChoiceNone: false,
22
+ approvalRequests: false,
23
+ hostedWebSearch: false,
24
+ hostedFileSearch: false,
25
+ remoteMcp: false,
26
+ computerUse: false,
27
+ codeExecution: false,
28
+ toolsets: false
29
+ }
30
+ });
31
+ export const XAI_IMAGE_MODELS = [
32
+ "grok-imagine-image",
33
+ "grok-imagine-image-2.0",
34
+ "grok-imagine-image-quality"
35
+ ];
36
+ export const XAI_VIDEO_MODELS = [
37
+ "grok-imagine-video",
38
+ "grok-imagine-video-1.5",
39
+ "grok-imagine-video-1.5-lite"
40
+ ];
41
+ export const XAI_TEXT_TO_SPEECH_MODEL = "grok-tts";
42
+ export const XAI_SPEECH_TO_TEXT_MODEL = "grok-voice-transcribe-2.0";
43
+ export const XAI_SPEECH_TO_SPEECH_MODEL = "grok-voice-3.0";
44
+ /** grok-voice-2.0 is the deprecated speech-to-speech model. Speech-to-speech uses grok-voice-3.0. */
45
+ export const XAI_DEPRECATED_MODELS = Object.freeze({
46
+ "grok-voice-2.0": "Deprecated speech-to-speech model. Use grok-voice-3.0."
47
+ });
48
+ const IMAGE_ASPECT_RATIOS = new Set([
49
+ "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "2:1", "1:2",
50
+ "19.5:9", "9:19.5", "20:9", "9:20", "21:9", "5:2", "auto"
51
+ ]);
52
+ const VIDEO_ASPECT_RATIOS = new Set(["1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3", "21:9", "5:2"]);
53
+ const IMAGE_RESOLUTIONS = new Set(["1k", "2k"]);
54
+ const VIDEO_RESOLUTIONS = new Set(["480p", "720p", "1080p"]);
55
+ const sleep = (ms, signal) => new Promise((resolve, reject) => {
56
+ if (ms <= 0) {
57
+ resolve();
58
+ return;
59
+ }
60
+ if (signal?.aborted) {
61
+ reject(signal.reason instanceof Error ? signal.reason : new DOMException("The operation was aborted.", "AbortError"));
62
+ return;
63
+ }
64
+ const timeout = setTimeout(() => {
65
+ signal?.removeEventListener("abort", onAbort);
66
+ resolve();
67
+ }, ms);
68
+ const onAbort = () => {
69
+ clearTimeout(timeout);
70
+ reject(signal?.reason instanceof Error ? signal.reason : new DOMException("The operation was aborted.", "AbortError"));
71
+ };
72
+ signal?.addEventListener("abort", onAbort, { once: true });
73
+ });
74
+ const assertKnownModel = (modelId, allowed, label) => {
75
+ if (!allowed.includes(modelId)) {
76
+ throw new UnsupportedFeatureError(`Provider "xai" ${label} model "${modelId}" is not supported. Supported models: ${allowed.join(", ")}.`);
77
+ }
78
+ };
79
+ export const assertXaiMediaRegion = (baseURL, feature) => {
80
+ if (new URL(baseURL).hostname === "us.api.x.ai") {
81
+ throw new UnsupportedFeatureError(`Provider "xai" US regional endpoint currently serves grok-4.7 and grok-4.6 text models only. ${feature} is not available there.`);
82
+ }
83
+ };
84
+ const assertVoiceSelection = (kind, modelId) => {
85
+ const id = modelId.trim().toLowerCase();
86
+ if (id === "grok-voice-2.0") {
87
+ throw new UnsupportedFeatureError('Provider "xai" model "grok-voice-2.0" is deprecated. Speech-to-speech uses "grok-voice-3.0". Text-to-speech uses "grok-tts", and speech-to-text uses "grok-voice-transcribe-2.0".');
88
+ }
89
+ if (kind === "speech" && id !== XAI_TEXT_TO_SPEECH_MODEL) {
90
+ const hint = id === XAI_SPEECH_TO_SPEECH_MODEL
91
+ ? ' "grok-voice-3.0" is the speech-to-speech model, not text-to-speech.'
92
+ : "";
93
+ throw new UnsupportedFeatureError(`Provider "xai" text-to-speech model is "${XAI_TEXT_TO_SPEECH_MODEL}".${hint}`);
94
+ }
95
+ if (kind === "transcription" && id !== XAI_SPEECH_TO_TEXT_MODEL) {
96
+ const hint = id === XAI_SPEECH_TO_SPEECH_MODEL
97
+ ? ' "grok-voice-3.0" is the speech-to-speech model, not speech-to-text.'
98
+ : "";
99
+ throw new UnsupportedFeatureError(`Provider "xai" speech-to-text model is "${XAI_SPEECH_TO_TEXT_MODEL}".${hint}`);
100
+ }
101
+ };
102
+ const jsonHeaders = (apiKey) => ({
103
+ "content-type": "application/json",
104
+ authorization: `Bearer ${apiKey}`
105
+ });
106
+ const readJson = async (response, endpoint, maxBytes, errorBodyBytes) => {
107
+ if (!response.ok && response.status !== 202) {
108
+ const body = await readErrorBodyWithLimit(response, errorBodyBytes);
109
+ throw new ProviderHTTPError(`xAI request failed with status ${response.status}.`, response.status, {
110
+ responseBody: body
111
+ });
112
+ }
113
+ return readJsonWithLimit(response, {
114
+ maxBytes,
115
+ provider: "xai",
116
+ endpoint
117
+ });
118
+ };
119
+ const mediaUrl = (input) => {
120
+ if (typeof input.uri === "string" && input.uri.trim())
121
+ return input.uri;
122
+ if (typeof input.data === "string" && input.data.trim()) {
123
+ return input.data.startsWith("data:") ? input.data : `data:${input.mediaType};base64,${input.data}`;
124
+ }
125
+ if (input.data instanceof Uint8Array || input.data instanceof ArrayBuffer) {
126
+ const bytes = input.data instanceof Uint8Array ? input.data : new Uint8Array(input.data);
127
+ const copy = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
128
+ return `data:${input.mediaType};base64,${Buffer.from(copy).toString("base64")}`;
129
+ }
130
+ throw new ConfigurationError('Provider "xai" media input requires uri or data.');
131
+ };
132
+ const imageReference = (input) => {
133
+ const fileId = input.providerMetadata?.file_id;
134
+ if (typeof fileId === "string" && fileId.trim())
135
+ return { file_id: fileId };
136
+ return { url: mediaUrl(input), type: "image_url" };
137
+ };
138
+ const omit = (options, keys) => {
139
+ const copy = { ...options };
140
+ for (const key of keys)
141
+ delete copy[key];
142
+ return copy;
143
+ };
144
+ const bytesFromAudio = (audio) => {
145
+ if (audio.data instanceof Uint8Array)
146
+ return audio.data;
147
+ if (audio.data instanceof ArrayBuffer)
148
+ return new Uint8Array(audio.data);
149
+ if (typeof audio.data !== "string" || !audio.data.trim()) {
150
+ throw new ConfigurationError('Provider "xai" transcription requires audio bytes or providerOptions.url.');
151
+ }
152
+ return Uint8Array.from(Buffer.from(audio.data, "base64"));
153
+ };
154
+ export class XAIImageGenerationModel {
155
+ modelId;
156
+ apiKey;
157
+ baseURL;
158
+ fetcher;
159
+ provider = "xai";
160
+ capabilities = mediaCapabilities("image");
161
+ constructor(modelId, apiKey, baseURL, fetcher) {
162
+ this.modelId = modelId;
163
+ this.apiKey = apiKey;
164
+ this.baseURL = baseURL;
165
+ this.fetcher = fetcher;
166
+ assertKnownModel(modelId, XAI_IMAGE_MODELS, "image");
167
+ assertXaiMediaRegion(baseURL, "Image generation");
168
+ }
169
+ async generateImage(input) {
170
+ if (input.negativePrompt !== undefined) {
171
+ throw new UnsupportedFeatureError('Provider "xai" image generation does not support negativePrompt.');
172
+ }
173
+ if (input.count !== undefined && (!Number.isInteger(input.count) || input.count < 1 || input.count > 10)) {
174
+ throw new UnsupportedFeatureError('Provider "xai" image generation count must be an integer from 1 to 10.');
175
+ }
176
+ if (input.aspectRatio !== undefined && !IMAGE_ASPECT_RATIOS.has(input.aspectRatio)) {
177
+ throw new UnsupportedFeatureError(`Provider "xai" does not support image aspect ratio "${input.aspectRatio}".`);
178
+ }
179
+ const options = { ...(input.providerOptions ?? {}) };
180
+ const pollIntervalMs = typeof options.pollIntervalMs === "number" ? options.pollIntervalMs : 1_000;
181
+ const resolution = options.resolution ?? (input.size === "1k" || input.size === "2k" ? input.size : undefined);
182
+ if (input.size !== undefined && resolution === undefined) {
183
+ throw new UnsupportedFeatureError('Provider "xai" image size must be "1k" or "2k". Use resolution for output size.');
184
+ }
185
+ if (resolution !== undefined && !IMAGE_RESOLUTIONS.has(String(resolution))) {
186
+ throw new UnsupportedFeatureError('Provider "xai" image resolution must be "1k" or "2k".');
187
+ }
188
+ if (options.quality !== undefined && this.modelId !== "grok-imagine-image-2.0") {
189
+ throw new UnsupportedFeatureError('Provider "xai" image quality is supported only for "grok-imagine-image-2.0".');
190
+ }
191
+ if (options.quality !== undefined && !["low", "medium", "auto"].includes(String(options.quality))) {
192
+ throw new UnsupportedFeatureError('Provider "xai" image quality must be "low", "medium", or "auto".');
193
+ }
194
+ const images = input.images ?? [];
195
+ const body = {
196
+ ...omit(options, ["model", "prompt", "n", "aspect_ratio", "resolution", "quality", "response_format", "image", "images", "pollIntervalMs"]),
197
+ model: this.modelId,
198
+ prompt: input.prompt,
199
+ ...(input.count !== undefined ? { n: input.count } : {}),
200
+ ...(input.aspectRatio ? { aspect_ratio: input.aspectRatio } : {}),
201
+ ...(resolution ? { resolution } : {}),
202
+ ...(options.quality !== undefined ? { quality: options.quality } : {}),
203
+ ...(options.response_format !== undefined ? { response_format: options.response_format } : {})
204
+ };
205
+ const endpoint = images.length > 0 ? "images/edits" : "images/generations";
206
+ if (images.length === 1)
207
+ body.image = imageReference(images[0]);
208
+ if (images.length > 1)
209
+ body.images = images.map(imageReference);
210
+ const { signal, cleanup } = withTimeoutSignal(input);
211
+ try {
212
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/${endpoint}`, {
213
+ method: "POST",
214
+ headers: jsonHeaders(this.apiKey),
215
+ redirect: "error",
216
+ signal,
217
+ body: JSON.stringify(body)
218
+ }), input);
219
+ let json = await readJson(response, endpoint, 32 * 1024 * 1024, 64 * 1024);
220
+ if (!Array.isArray(json.data) && typeof json.request_id === "string") {
221
+ json = await this.pollImage(json.request_id, input, signal, pollIntervalMs);
222
+ }
223
+ const data = Array.isArray(json.data) ? json.data : [];
224
+ if (data.length === 0) {
225
+ throw new ProviderHTTPError("xAI image generation returned no images.", response.status || 502, { responseBody: json });
226
+ }
227
+ return {
228
+ images: data.map((item) => ({
229
+ uri: typeof item.url === "string" ? item.url : undefined,
230
+ data: typeof item.b64_json === "string"
231
+ ? decodeBase64WithLimit(item.b64_json, { maxBytes: 32 * 1024 * 1024, provider: "xai", endpoint })
232
+ : undefined,
233
+ mediaType: item.mime_type ?? input.outputMimeType ?? "image/jpeg",
234
+ providerMetadata: item
235
+ })),
236
+ rawResponse: json
237
+ };
238
+ }
239
+ finally {
240
+ cleanup();
241
+ }
242
+ }
243
+ async pollImage(requestId, input, signal, pollIntervalMs) {
244
+ const timeoutMs = input.timeoutMs ?? 120_000;
245
+ const started = Date.now();
246
+ let json = { status: "pending", request_id: requestId };
247
+ while (json.status !== "done" && json.status !== "failed") {
248
+ if (Date.now() - started >= timeoutMs) {
249
+ throw new ProviderHTTPError(`xAI image generation timed out after ${timeoutMs}ms.`, 408);
250
+ }
251
+ await sleep(pollIntervalMs, signal);
252
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/images/${encodeURIComponent(requestId)}`, {
253
+ method: "GET",
254
+ headers: { authorization: `Bearer ${this.apiKey}` },
255
+ redirect: "error",
256
+ signal
257
+ }), input);
258
+ json = await readJson(response, "images/result", 32 * 1024 * 1024, 64 * 1024);
259
+ }
260
+ if (json.status === "failed") {
261
+ throw new ProviderHTTPError(`xAI image generation failed${json.error?.message ? `: ${json.error.message}` : "."}`, 502, { responseBody: json });
262
+ }
263
+ return json;
264
+ }
265
+ }
266
+ export class XAIVideoGenerationModel {
267
+ modelId;
268
+ apiKey;
269
+ baseURL;
270
+ fetcher;
271
+ provider = "xai";
272
+ capabilities = mediaCapabilities("video");
273
+ constructor(modelId, apiKey, baseURL, fetcher) {
274
+ this.modelId = modelId;
275
+ this.apiKey = apiKey;
276
+ this.baseURL = baseURL;
277
+ this.fetcher = fetcher;
278
+ assertKnownModel(modelId, XAI_VIDEO_MODELS, "video");
279
+ assertXaiMediaRegion(baseURL, "Video generation");
280
+ }
281
+ async generateVideo(input) {
282
+ if (input.negativePrompt !== undefined) {
283
+ throw new UnsupportedFeatureError('Provider "xai" video generation does not support negativePrompt.');
284
+ }
285
+ if (input.count !== undefined && input.count !== 1) {
286
+ throw new UnsupportedFeatureError('Provider "xai" video generation accepts one video per request.');
287
+ }
288
+ if (input.outputStorageUri !== undefined) {
289
+ throw new UnsupportedFeatureError('Provider "xai" video generation does not support outputStorageUri.');
290
+ }
291
+ if (input.durationSeconds !== undefined &&
292
+ (!Number.isInteger(input.durationSeconds) || input.durationSeconds < 1 || input.durationSeconds > 15)) {
293
+ throw new UnsupportedFeatureError('Provider "xai" video durationSeconds must be an integer from 1 to 15.');
294
+ }
295
+ if (input.aspectRatio !== undefined && !VIDEO_ASPECT_RATIOS.has(input.aspectRatio)) {
296
+ throw new UnsupportedFeatureError(`Provider "xai" does not support video aspect ratio "${input.aspectRatio}".`);
297
+ }
298
+ const options = { ...(input.providerOptions ?? {}) };
299
+ if (options.resolution !== undefined && !VIDEO_RESOLUTIONS.has(String(options.resolution))) {
300
+ throw new UnsupportedFeatureError('Provider "xai" video resolution must be "480p", "720p", or "1080p".');
301
+ }
302
+ if (this.modelId === "grok-imagine-video" && options.resolution === "1080p") {
303
+ throw new UnsupportedFeatureError('Provider "xai" model "grok-imagine-video" supports video resolutions up to 720p.');
304
+ }
305
+ const body = {
306
+ ...omit(options, ["model", "prompt", "duration", "aspect_ratio", "image", "resolution"]),
307
+ model: this.modelId,
308
+ ...(input.prompt ? { prompt: input.prompt } : {}),
309
+ ...(input.durationSeconds !== undefined ? { duration: input.durationSeconds } : {}),
310
+ ...(input.aspectRatio ? { aspect_ratio: input.aspectRatio } : {}),
311
+ ...(options.resolution !== undefined ? { resolution: options.resolution } : {}),
312
+ ...(input.image ? { image: imageReference(input.image) } : {})
313
+ };
314
+ const timeoutMs = input.timeoutMs ?? 600_000;
315
+ const { signal, cleanup } = withTimeoutSignal({ ...input, timeoutMs });
316
+ const started = Date.now();
317
+ try {
318
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/videos/generations`, {
319
+ method: "POST",
320
+ headers: jsonHeaders(this.apiKey),
321
+ redirect: "error",
322
+ signal,
323
+ body: JSON.stringify(body)
324
+ }), { ...input, maxRetries: input.maxRetries ?? 0 });
325
+ let json = await readJson(response, "videos/generations", 1024 * 1024, 64 * 1024);
326
+ const requestId = typeof json.request_id === "string" ? json.request_id : undefined;
327
+ while (json.status !== "done" && json.status !== "failed") {
328
+ if (!requestId) {
329
+ throw new ProviderHTTPError("xAI video generation returned no request id.", response.status || 502, {
330
+ responseBody: json
331
+ });
332
+ }
333
+ if (Date.now() - started >= timeoutMs) {
334
+ throw new ProviderHTTPError(`xAI video generation timed out after ${timeoutMs}ms.`, 408);
335
+ }
336
+ await sleep(input.pollIntervalMs ?? 5_000, signal);
337
+ const poll = await withRetry(() => this.fetcher(`${this.baseURL}/videos/${encodeURIComponent(requestId)}`, {
338
+ method: "GET",
339
+ headers: { authorization: `Bearer ${this.apiKey}` },
340
+ redirect: "error",
341
+ signal
342
+ }), input);
343
+ json = await readJson(poll, "videos/result", 1024 * 1024, 64 * 1024);
344
+ }
345
+ if (json.status === "failed" || typeof json.video?.url !== "string") {
346
+ throw new ProviderHTTPError(`xAI video generation failed${json.error?.message ? `: ${json.error.message}` : "."}`, 502, { responseBody: json });
347
+ }
348
+ return {
349
+ videos: [{ uri: json.video.url, mediaType: "video/mp4", providerMetadata: json.video }],
350
+ operationName: requestId,
351
+ rawResponse: json
352
+ };
353
+ }
354
+ finally {
355
+ cleanup();
356
+ }
357
+ }
358
+ }
359
+ export class XAISpeechModel {
360
+ modelId;
361
+ apiKey;
362
+ baseURL;
363
+ fetcher;
364
+ responseLimits;
365
+ provider = "xai";
366
+ capabilities = mediaCapabilities("speech");
367
+ constructor(modelId, apiKey, baseURL, fetcher, responseLimits) {
368
+ this.modelId = modelId;
369
+ this.apiKey = apiKey;
370
+ this.baseURL = baseURL;
371
+ this.fetcher = fetcher;
372
+ this.responseLimits = responseLimits;
373
+ assertVoiceSelection("speech", modelId);
374
+ assertXaiMediaRegion(baseURL, "Text to speech");
375
+ }
376
+ async generateSpeech(input) {
377
+ if (!input.input.trim()) {
378
+ throw new ConfigurationError('Provider "xai" text-to-speech requires text.');
379
+ }
380
+ if (input.input.length > 60_000) {
381
+ throw new UnsupportedFeatureError('Provider "xai" text-to-speech accepts at most 60000 characters.');
382
+ }
383
+ const options = { ...(input.providerOptions ?? {}) };
384
+ const language = typeof options.language === "string" ? options.language : "en";
385
+ const { signal, cleanup, abort } = withTimeoutSignal(input);
386
+ try {
387
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/tts`, {
388
+ method: "POST",
389
+ headers: jsonHeaders(this.apiKey),
390
+ redirect: "error",
391
+ signal,
392
+ body: JSON.stringify({
393
+ ...omit(options, ["model", "text", "voice_id", "language"]),
394
+ text: input.input,
395
+ voice_id: input.voice ?? "eve",
396
+ language
397
+ })
398
+ }), input);
399
+ if (!response.ok) {
400
+ const body = await readErrorBodyWithLimit(response, this.responseLimits.errorBodyBytes);
401
+ throw new ProviderHTTPError(`xAI request failed with status ${response.status}.`, response.status, {
402
+ responseBody: body
403
+ });
404
+ }
405
+ const contentType = response.headers.get("content-type") ?? "";
406
+ if (contentType.includes("json") || options.with_timestamps === true) {
407
+ const json = await readJsonWithLimit(response, {
408
+ maxBytes: this.responseLimits.speechJsonBytes,
409
+ provider: "xai",
410
+ endpoint: "tts",
411
+ abort
412
+ });
413
+ if (typeof json.audio !== "string") {
414
+ throw new ProviderHTTPError("xAI text-to-speech response did not contain audio.", 502, { responseBody: json });
415
+ }
416
+ return {
417
+ audio: decodeBase64WithLimit(json.audio, {
418
+ maxBytes: this.responseLimits.speechBytes,
419
+ provider: "xai",
420
+ endpoint: "tts",
421
+ abort
422
+ }),
423
+ mediaType: contentType.includes("json") ? "audio/mpeg" : contentType,
424
+ rawResponse: { ...json, audio: undefined }
425
+ };
426
+ }
427
+ return {
428
+ audio: await readBodyWithLimit(response, {
429
+ maxBytes: this.responseLimits.speechBytes,
430
+ provider: "xai",
431
+ endpoint: "tts",
432
+ abort
433
+ }),
434
+ mediaType: contentType || "audio/mpeg"
435
+ };
436
+ }
437
+ finally {
438
+ cleanup();
439
+ }
440
+ }
441
+ }
442
+ export class XAITranscriptionModel {
443
+ modelId;
444
+ apiKey;
445
+ baseURL;
446
+ fetcher;
447
+ responseLimits;
448
+ provider = "xai";
449
+ capabilities = mediaCapabilities("transcription");
450
+ constructor(modelId, apiKey, baseURL, fetcher, responseLimits) {
451
+ this.modelId = modelId;
452
+ this.apiKey = apiKey;
453
+ this.baseURL = baseURL;
454
+ this.fetcher = fetcher;
455
+ this.responseLimits = responseLimits;
456
+ assertVoiceSelection("transcription", modelId);
457
+ assertXaiMediaRegion(baseURL, "Speech to text");
458
+ }
459
+ async transcribe(input) {
460
+ if (input.prompt !== undefined) {
461
+ throw new UnsupportedFeatureError('Provider "xai" speech-to-text does not support prompt. Pass key terms through providerOptions.keyterm.');
462
+ }
463
+ const options = { ...(input.providerOptions ?? {}) };
464
+ const remoteUrl = typeof options.url === "string" ? options.url : undefined;
465
+ const form = new FormData();
466
+ form.set("model", this.modelId);
467
+ if (input.language)
468
+ form.set("language", input.language);
469
+ for (const [key, value] of Object.entries(omit(options, ["model", "file", "url", "language"]))) {
470
+ if (value === undefined)
471
+ continue;
472
+ if (Array.isArray(value)) {
473
+ for (const item of value)
474
+ form.append(key, String(item));
475
+ }
476
+ else if (typeof value === "string") {
477
+ form.set(key, value);
478
+ }
479
+ else {
480
+ form.set(key, JSON.stringify(value));
481
+ }
482
+ }
483
+ if (remoteUrl) {
484
+ form.set("url", remoteUrl);
485
+ }
486
+ else {
487
+ const bytes = bytesFromAudio(input.audio);
488
+ const copy = bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
489
+ form.set("file", new File([copy], input.audio.filename ?? "audio", { type: input.audio.mediaType }));
490
+ }
491
+ const { signal, cleanup } = withTimeoutSignal(input);
492
+ try {
493
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/stt`, {
494
+ method: "POST",
495
+ headers: { authorization: `Bearer ${this.apiKey}` },
496
+ redirect: "error",
497
+ signal,
498
+ body: form
499
+ }), input);
500
+ const json = await readJson(response, "stt", this.responseLimits.transcriptionBytes, this.responseLimits.errorBodyBytes);
501
+ return { text: typeof json.text === "string" ? json.text : "", rawResponse: json };
502
+ }
503
+ finally {
504
+ cleanup();
505
+ }
506
+ }
507
+ }
508
+ export const createXAIMedia = (config) => {
509
+ const limits = resolveAudioResponseLimits(config.responseLimits);
510
+ return {
511
+ imageGenerationModel: (modelId) => new XAIImageGenerationModel(modelId, config.apiKey, config.baseURL, config.fetcher),
512
+ videoGenerationModel: (modelId) => new XAIVideoGenerationModel(modelId, config.apiKey, config.baseURL, config.fetcher),
513
+ speechModel: (modelId) => new XAISpeechModel(modelId, config.apiKey, config.baseURL, config.fetcher, limits),
514
+ transcriptionModel: (modelId) => new XAITranscriptionModel(modelId, config.apiKey, config.baseURL, config.fetcher, limits)
515
+ };
516
+ };
517
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhivex-ai/xai",
3
- "version": "0.2.11",
3
+ "version": "0.3.0",
4
4
  "description": "xAI Grok adapter for Zhivex AI SDK.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,7 +42,7 @@
42
42
  "access": "public"
43
43
  },
44
44
  "dependencies": {
45
- "@zhivex-ai/core": "^1.31.0",
46
- "@zhivex-ai/openai": "^0.16.0"
45
+ "@zhivex-ai/core": "^1.33.0",
46
+ "@zhivex-ai/openai": "^0.16.1"
47
47
  }
48
48
  }