@decartai/sdk 0.0.56 → 0.0.58
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 +6 -4
- package/dist/index.d.ts +9 -6
- package/dist/process/client.js +1 -1
- package/dist/process/types.d.ts +5 -0
- package/dist/queue/client.d.ts +6 -4
- package/dist/shared/model.d.ts +7 -58
- package/dist/shared/model.js +11 -96
- package/dist/tokens/client.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -75,8 +75,9 @@ const client = createDecartClient({
|
|
|
75
75
|
|
|
76
76
|
// Submit and poll automatically
|
|
77
77
|
const result = await client.queue.submitAndPoll({
|
|
78
|
-
model: models.video("lucy-pro-
|
|
79
|
-
prompt: "
|
|
78
|
+
model: models.video("lucy-pro-v2v"),
|
|
79
|
+
prompt: "Make it look like a watercolor painting",
|
|
80
|
+
data: videoFile,
|
|
80
81
|
onStatusChange: (job) => {
|
|
81
82
|
console.log(`Status: ${job.status}`);
|
|
82
83
|
}
|
|
@@ -94,8 +95,9 @@ Or manage the polling manually:
|
|
|
94
95
|
```typescript
|
|
95
96
|
// Submit the job
|
|
96
97
|
const job = await client.queue.submit({
|
|
97
|
-
model: models.video("lucy-pro-
|
|
98
|
-
prompt: "
|
|
98
|
+
model: models.video("lucy-pro-v2v"),
|
|
99
|
+
prompt: "Make it look like a watercolor painting",
|
|
100
|
+
data: videoFile
|
|
99
101
|
});
|
|
100
102
|
console.log(`Job ID: ${job.job_id}`);
|
|
101
103
|
|
package/dist/index.d.ts
CHANGED
|
@@ -67,8 +67,9 @@ declare const createDecartClient: (options?: DecartClientOptions) => {
|
|
|
67
67
|
* ```ts
|
|
68
68
|
* const client = createDecartClient({ apiKey: "your-api-key" });
|
|
69
69
|
* const result = await client.process({
|
|
70
|
-
* model: models.image("lucy-pro-
|
|
71
|
-
* prompt: "
|
|
70
|
+
* model: models.image("lucy-pro-i2i"),
|
|
71
|
+
* prompt: "Transform into anime style",
|
|
72
|
+
* data: imageBlob
|
|
72
73
|
* });
|
|
73
74
|
* ```
|
|
74
75
|
*/
|
|
@@ -84,15 +85,17 @@ declare const createDecartClient: (options?: DecartClientOptions) => {
|
|
|
84
85
|
*
|
|
85
86
|
* // Option 1: Submit and poll automatically
|
|
86
87
|
* const result = await client.queue.submitAndPoll({
|
|
87
|
-
* model: models.video("lucy-pro-
|
|
88
|
-
* prompt: "
|
|
88
|
+
* model: models.video("lucy-pro-v2v"),
|
|
89
|
+
* prompt: "Transform into anime style",
|
|
90
|
+
* data: videoBlob,
|
|
89
91
|
* onStatusChange: (job) => console.log(`Job ${job.job_id}: ${job.status}`)
|
|
90
92
|
* });
|
|
91
93
|
*
|
|
92
94
|
* // Option 2: Submit and poll manually
|
|
93
95
|
* const job = await client.queue.submit({
|
|
94
|
-
* model: models.video("lucy-pro-
|
|
95
|
-
* prompt: "
|
|
96
|
+
* model: models.video("lucy-pro-v2v"),
|
|
97
|
+
* prompt: "Transform into anime style",
|
|
98
|
+
* data: videoBlob
|
|
96
99
|
* });
|
|
97
100
|
*
|
|
98
101
|
* // Poll until completion
|
package/dist/process/client.js
CHANGED
|
@@ -10,7 +10,7 @@ const createProcessClient = (opts) => {
|
|
|
10
10
|
const parsedInputs = model.inputSchema.safeParse(inputs);
|
|
11
11
|
if (!parsedInputs.success) throw createInvalidInputError(`Invalid inputs for ${model.name}: ${parsedInputs.error.message}`);
|
|
12
12
|
const processedInputs = {};
|
|
13
|
-
for (const [key, value] of Object.entries(parsedInputs.data)) if (key === "data" || key === "start" || key === "end") processedInputs[key] = await fileInputToBlob(value);
|
|
13
|
+
for (const [key, value] of Object.entries(parsedInputs.data)) if (key === "data" || key === "start" || key === "end" || key === "reference_image") processedInputs[key] = await fileInputToBlob(value);
|
|
14
14
|
else processedInputs[key] = value;
|
|
15
15
|
return await sendRequest({
|
|
16
16
|
baseUrl,
|
package/dist/process/types.d.ts
CHANGED
|
@@ -40,6 +40,11 @@ interface ImageEditingInputs {
|
|
|
40
40
|
* Can be a File, Blob, ReadableStream, URL, or string URL.
|
|
41
41
|
*/
|
|
42
42
|
data?: FileInput;
|
|
43
|
+
/**
|
|
44
|
+
* Optional reference image to guide the edit.
|
|
45
|
+
* Can be a File, Blob, ReadableStream, URL, or string URL.
|
|
46
|
+
*/
|
|
47
|
+
reference_image?: FileInput;
|
|
43
48
|
}
|
|
44
49
|
/**
|
|
45
50
|
* Model-specific input documentation for video models.
|
package/dist/queue/client.d.ts
CHANGED
|
@@ -15,8 +15,9 @@ type QueueClient = {
|
|
|
15
15
|
* @example
|
|
16
16
|
* ```ts
|
|
17
17
|
* const job = await client.queue.submit({
|
|
18
|
-
* model: models.video("lucy-pro-
|
|
19
|
-
* prompt: "
|
|
18
|
+
* model: models.video("lucy-pro-v2v"),
|
|
19
|
+
* prompt: "Make it look like a watercolor painting",
|
|
20
|
+
* data: videoBlob
|
|
20
21
|
* });
|
|
21
22
|
* console.log(job.job_id); // "job_abc123"
|
|
22
23
|
* ```
|
|
@@ -50,8 +51,9 @@ type QueueClient = {
|
|
|
50
51
|
* @example
|
|
51
52
|
* ```ts
|
|
52
53
|
* const result = await client.queue.submitAndPoll({
|
|
53
|
-
* model: models.video("lucy-pro-
|
|
54
|
-
* prompt: "
|
|
54
|
+
* model: models.video("lucy-pro-v2v"),
|
|
55
|
+
* prompt: "Transform into anime style",
|
|
56
|
+
* data: videoBlob,
|
|
55
57
|
* onStatusChange: (job) => {
|
|
56
58
|
* console.log(`Job ${job.job_id}: ${job.status}`);
|
|
57
59
|
* }
|
package/dist/shared/model.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { z } from "zod";
|
|
|
2
2
|
|
|
3
3
|
//#region src/shared/model.d.ts
|
|
4
4
|
declare const realtimeModels: z.ZodUnion<readonly [z.ZodLiteral<"mirage">, z.ZodLiteral<"mirage_v2">, z.ZodLiteral<"lucy_v2v_720p_rt">, z.ZodLiteral<"lucy_2_rt">, z.ZodLiteral<"live_avatar">]>;
|
|
5
|
-
declare const videoModels: z.ZodUnion<readonly [z.ZodLiteral<"lucy-
|
|
6
|
-
declare const imageModels: z.
|
|
7
|
-
declare const modelSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"mirage">, z.ZodLiteral<"mirage_v2">, z.ZodLiteral<"lucy_v2v_720p_rt">, z.ZodLiteral<"lucy_2_rt">, z.ZodLiteral<"live_avatar">]>, z.ZodUnion<readonly [z.ZodLiteral<"lucy-
|
|
5
|
+
declare const videoModels: z.ZodUnion<readonly [z.ZodLiteral<"lucy-pro-v2v">, z.ZodLiteral<"lucy-motion">, z.ZodLiteral<"lucy-restyle-v2v">, z.ZodLiteral<"lucy-2-v2v">]>;
|
|
6
|
+
declare const imageModels: z.ZodLiteral<"lucy-pro-i2i">;
|
|
7
|
+
declare const modelSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"mirage">, z.ZodLiteral<"mirage_v2">, z.ZodLiteral<"lucy_v2v_720p_rt">, z.ZodLiteral<"lucy_2_rt">, z.ZodLiteral<"live_avatar">]>, z.ZodUnion<readonly [z.ZodLiteral<"lucy-pro-v2v">, z.ZodLiteral<"lucy-motion">, z.ZodLiteral<"lucy-restyle-v2v">, z.ZodLiteral<"lucy-2-v2v">]>, z.ZodLiteral<"lucy-pro-i2i">]>;
|
|
8
8
|
type Model = z.infer<typeof modelSchema>;
|
|
9
9
|
type RealTimeModels = z.infer<typeof realtimeModels>;
|
|
10
10
|
type VideoModels = z.infer<typeof videoModels>;
|
|
@@ -13,47 +13,6 @@ declare function isRealtimeModel(model: string): model is RealTimeModels;
|
|
|
13
13
|
declare function isVideoModel(model: string): model is VideoModels;
|
|
14
14
|
declare function isImageModel(model: string): model is ImageModels;
|
|
15
15
|
declare const modelInputSchemas: {
|
|
16
|
-
readonly "lucy-pro-t2v": z.ZodObject<{
|
|
17
|
-
prompt: z.ZodString;
|
|
18
|
-
seed: z.ZodOptional<z.ZodNumber>;
|
|
19
|
-
resolution: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
20
|
-
"720p": "720p";
|
|
21
|
-
"480p": "480p";
|
|
22
|
-
}>>>;
|
|
23
|
-
orientation: z.ZodOptional<z.ZodString>;
|
|
24
|
-
}, z.core.$strip>;
|
|
25
|
-
readonly "lucy-pro-t2i": z.ZodObject<{
|
|
26
|
-
prompt: z.ZodString;
|
|
27
|
-
seed: z.ZodOptional<z.ZodNumber>;
|
|
28
|
-
resolution: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
29
|
-
"720p": "720p";
|
|
30
|
-
"480p": "480p";
|
|
31
|
-
}>>>;
|
|
32
|
-
orientation: z.ZodOptional<z.ZodString>;
|
|
33
|
-
}, z.core.$strip>;
|
|
34
|
-
readonly "lucy-pro-i2v": z.ZodObject<{
|
|
35
|
-
prompt: z.ZodString;
|
|
36
|
-
data: z.ZodUnion<readonly [z.ZodCustom<File, File>, z.ZodCustom<Blob, Blob>, z.ZodCustom<ReadableStream<unknown>, ReadableStream<unknown>>, z.ZodCustom<URL, URL>, z.ZodURL, z.ZodObject<{
|
|
37
|
-
uri: z.ZodString;
|
|
38
|
-
type: z.ZodString;
|
|
39
|
-
name: z.ZodString;
|
|
40
|
-
}, z.core.$strip>]>;
|
|
41
|
-
seed: z.ZodOptional<z.ZodNumber>;
|
|
42
|
-
resolution: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
43
|
-
"720p": "720p";
|
|
44
|
-
"480p": "480p";
|
|
45
|
-
}>>>;
|
|
46
|
-
}, z.core.$strip>;
|
|
47
|
-
readonly "lucy-dev-i2v": z.ZodObject<{
|
|
48
|
-
prompt: z.ZodString;
|
|
49
|
-
data: z.ZodUnion<readonly [z.ZodCustom<File, File>, z.ZodCustom<Blob, Blob>, z.ZodCustom<ReadableStream<unknown>, ReadableStream<unknown>>, z.ZodCustom<URL, URL>, z.ZodURL, z.ZodObject<{
|
|
50
|
-
uri: z.ZodString;
|
|
51
|
-
type: z.ZodString;
|
|
52
|
-
name: z.ZodString;
|
|
53
|
-
}, z.core.$strip>]>;
|
|
54
|
-
seed: z.ZodOptional<z.ZodNumber>;
|
|
55
|
-
resolution: z.ZodOptional<z.ZodDefault<z.ZodLiteral<"720p">>>;
|
|
56
|
-
}, z.core.$strip>;
|
|
57
16
|
readonly "lucy-pro-v2v": z.ZodObject<{
|
|
58
17
|
prompt: z.ZodString;
|
|
59
18
|
data: z.ZodUnion<readonly [z.ZodCustom<File, File>, z.ZodCustom<Blob, Blob>, z.ZodCustom<ReadableStream<unknown>, ReadableStream<unknown>>, z.ZodCustom<URL, URL>, z.ZodURL, z.ZodObject<{
|
|
@@ -70,24 +29,18 @@ declare const modelInputSchemas: {
|
|
|
70
29
|
resolution: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"720p">>>;
|
|
71
30
|
enhance_prompt: z.ZodOptional<z.ZodBoolean>;
|
|
72
31
|
}, z.core.$strip>;
|
|
73
|
-
readonly "lucy-
|
|
32
|
+
readonly "lucy-pro-i2i": z.ZodObject<{
|
|
74
33
|
prompt: z.ZodString;
|
|
75
34
|
data: z.ZodUnion<readonly [z.ZodCustom<File, File>, z.ZodCustom<Blob, Blob>, z.ZodCustom<ReadableStream<unknown>, ReadableStream<unknown>>, z.ZodCustom<URL, URL>, z.ZodURL, z.ZodObject<{
|
|
76
35
|
uri: z.ZodString;
|
|
77
36
|
type: z.ZodString;
|
|
78
37
|
name: z.ZodString;
|
|
79
38
|
}, z.core.$strip>]>;
|
|
80
|
-
|
|
81
|
-
resolution: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"720p">>>;
|
|
82
|
-
enhance_prompt: z.ZodOptional<z.ZodBoolean>;
|
|
83
|
-
}, z.core.$strip>;
|
|
84
|
-
readonly "lucy-pro-i2i": z.ZodObject<{
|
|
85
|
-
prompt: z.ZodString;
|
|
86
|
-
data: z.ZodUnion<readonly [z.ZodCustom<File, File>, z.ZodCustom<Blob, Blob>, z.ZodCustom<ReadableStream<unknown>, ReadableStream<unknown>>, z.ZodCustom<URL, URL>, z.ZodURL, z.ZodObject<{
|
|
39
|
+
reference_image: z.ZodOptional<z.ZodUnion<readonly [z.ZodCustom<File, File>, z.ZodCustom<Blob, Blob>, z.ZodCustom<ReadableStream<unknown>, ReadableStream<unknown>>, z.ZodCustom<URL, URL>, z.ZodURL, z.ZodObject<{
|
|
87
40
|
uri: z.ZodString;
|
|
88
41
|
type: z.ZodString;
|
|
89
42
|
name: z.ZodString;
|
|
90
|
-
}, z.core.$strip>]
|
|
43
|
+
}, z.core.$strip>]>>;
|
|
91
44
|
seed: z.ZodOptional<z.ZodNumber>;
|
|
92
45
|
resolution: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
93
46
|
"720p": "720p";
|
|
@@ -176,20 +129,16 @@ declare const models: {
|
|
|
176
129
|
* Get a video model identifier.
|
|
177
130
|
*
|
|
178
131
|
* Available options:
|
|
179
|
-
* - `"lucy-pro-t2v"` - Text-to-video
|
|
180
|
-
* - `"lucy-pro-i2v"` - Image-to-video
|
|
181
132
|
* - `"lucy-pro-v2v"` - Video-to-video
|
|
182
|
-
* - `"lucy-dev-i2v"` - Image-to-video (Dev quality)
|
|
183
|
-
* - `"lucy-fast-v2v"` - Video-to-video (Fast quality)
|
|
184
133
|
* - `"lucy-restyle-v2v"` - Video-to-video (Restyling)
|
|
185
134
|
* - `"lucy-2-v2v"` - Video-to-video (Long-form editing, 720p)
|
|
135
|
+
* - `"lucy-motion"` - Motion generation
|
|
186
136
|
*/
|
|
187
137
|
video: <T extends VideoModels>(model: T) => ModelDefinition<T>;
|
|
188
138
|
/**
|
|
189
139
|
* Get an image model identifier.
|
|
190
140
|
*
|
|
191
141
|
* Available options:
|
|
192
|
-
* - `"lucy-pro-t2i"` - Text-to-image
|
|
193
142
|
* - `"lucy-pro-i2i"` - Image-to-image
|
|
194
143
|
*/
|
|
195
144
|
image: <T extends ImageModels>(model: T) => ModelDefinition<T>;
|
package/dist/shared/model.js
CHANGED
|
@@ -10,16 +10,12 @@ const realtimeModels = z.union([
|
|
|
10
10
|
z.literal("live_avatar")
|
|
11
11
|
]);
|
|
12
12
|
const videoModels = z.union([
|
|
13
|
-
z.literal("lucy-dev-i2v"),
|
|
14
|
-
z.literal("lucy-fast-v2v"),
|
|
15
|
-
z.literal("lucy-pro-t2v"),
|
|
16
|
-
z.literal("lucy-pro-i2v"),
|
|
17
13
|
z.literal("lucy-pro-v2v"),
|
|
18
14
|
z.literal("lucy-motion"),
|
|
19
15
|
z.literal("lucy-restyle-v2v"),
|
|
20
16
|
z.literal("lucy-2-v2v")
|
|
21
17
|
]);
|
|
22
|
-
const imageModels = z.
|
|
18
|
+
const imageModels = z.literal("lucy-pro-i2i");
|
|
23
19
|
const modelSchema = z.union([
|
|
24
20
|
realtimeModels,
|
|
25
21
|
videoModels,
|
|
@@ -47,10 +43,6 @@ const fileInputSchema = z.union([
|
|
|
47
43
|
})
|
|
48
44
|
]);
|
|
49
45
|
/**
|
|
50
|
-
* Resolution schema for dev models. Supports only 720p.
|
|
51
|
-
*/
|
|
52
|
-
const devResolutionSchema = z.literal("720p").default("720p").optional().describe("The resolution to use for the generation. For dev models, only `720p` is supported.");
|
|
53
|
-
/**
|
|
54
46
|
* Resolution schema for pro models.
|
|
55
47
|
* @param defaultValue - Optional default value (e.g., "720p")
|
|
56
48
|
*/
|
|
@@ -66,30 +58,6 @@ const motionResolutionSchema = z.literal("720p").default("720p").optional().desc
|
|
|
66
58
|
*/
|
|
67
59
|
const proV2vResolutionSchema = z.literal("720p").optional().describe("The resolution to use for the generation").default("720p");
|
|
68
60
|
const modelInputSchemas = {
|
|
69
|
-
"lucy-pro-t2v": z.object({
|
|
70
|
-
prompt: z.string().min(1).max(1e3).describe("The prompt to use for the generation"),
|
|
71
|
-
seed: z.number().optional().describe("The seed to use for the generation"),
|
|
72
|
-
resolution: proResolutionSchema(),
|
|
73
|
-
orientation: z.string().optional().describe("The orientation to use for the generation")
|
|
74
|
-
}),
|
|
75
|
-
"lucy-pro-t2i": z.object({
|
|
76
|
-
prompt: z.string().min(1).max(1e3).describe("The prompt to use for the generation"),
|
|
77
|
-
seed: z.number().optional().describe("The seed to use for the generation"),
|
|
78
|
-
resolution: proResolutionSchema(),
|
|
79
|
-
orientation: z.string().optional().describe("The orientation to use for the generation")
|
|
80
|
-
}),
|
|
81
|
-
"lucy-pro-i2v": z.object({
|
|
82
|
-
prompt: z.string().min(1).max(1e3).describe("The prompt to use for the generation"),
|
|
83
|
-
data: fileInputSchema.describe("The image data to use for generation (File, Blob, ReadableStream, URL, or string URL). Output video is limited to 5 seconds."),
|
|
84
|
-
seed: z.number().optional().describe("The seed to use for the generation"),
|
|
85
|
-
resolution: proResolutionSchema()
|
|
86
|
-
}),
|
|
87
|
-
"lucy-dev-i2v": z.object({
|
|
88
|
-
prompt: z.string().min(1).max(1e3).describe("The prompt to use for the generation"),
|
|
89
|
-
data: fileInputSchema.describe("The image data to use for generation (File, Blob, ReadableStream, URL, or string URL). Output video is limited to 5 seconds."),
|
|
90
|
-
seed: z.number().optional().describe("The seed to use for the generation"),
|
|
91
|
-
resolution: devResolutionSchema
|
|
92
|
-
}),
|
|
93
61
|
"lucy-pro-v2v": z.object({
|
|
94
62
|
prompt: z.string().min(1).max(1e3).describe("The prompt to use for the generation"),
|
|
95
63
|
data: fileInputSchema.describe("The video data to use for generation (File, Blob, ReadableStream, URL, or string URL). Output video is limited to 5 seconds."),
|
|
@@ -98,16 +66,10 @@ const modelInputSchemas = {
|
|
|
98
66
|
resolution: proV2vResolutionSchema,
|
|
99
67
|
enhance_prompt: z.boolean().optional().describe("Whether to enhance the prompt")
|
|
100
68
|
}),
|
|
101
|
-
"lucy-fast-v2v": z.object({
|
|
102
|
-
prompt: z.string().min(1).max(1e3).describe("The prompt to use for the generation"),
|
|
103
|
-
data: fileInputSchema.describe("The video data to use for generation (File, Blob, ReadableStream, URL, or string URL). Output video is limited to 5 seconds."),
|
|
104
|
-
seed: z.number().optional().describe("The seed to use for the generation"),
|
|
105
|
-
resolution: proV2vResolutionSchema,
|
|
106
|
-
enhance_prompt: z.boolean().optional().describe("Whether to enhance the prompt")
|
|
107
|
-
}),
|
|
108
69
|
"lucy-pro-i2i": z.object({
|
|
109
70
|
prompt: z.string().min(1).max(1e3).describe("The prompt to use for the generation"),
|
|
110
71
|
data: fileInputSchema.describe("The image data to use for generation (File, Blob, ReadableStream, URL, or string URL)"),
|
|
72
|
+
reference_image: fileInputSchema.optional().describe("Optional reference image to guide the edit (File, Blob, ReadableStream, URL, or string URL)"),
|
|
111
73
|
seed: z.number().optional().describe("The seed to use for the generation"),
|
|
112
74
|
resolution: proResolutionSchema(),
|
|
113
75
|
enhance_prompt: z.boolean().optional().describe("Whether to enhance the prompt")
|
|
@@ -191,63 +153,16 @@ const _models = {
|
|
|
191
153
|
inputSchema: z.object({})
|
|
192
154
|
}
|
|
193
155
|
},
|
|
194
|
-
image: {
|
|
195
|
-
"lucy-pro-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
},
|
|
204
|
-
"lucy-pro-i2i": {
|
|
205
|
-
urlPath: "/v1/generate/lucy-pro-i2i",
|
|
206
|
-
queueUrlPath: "/v1/jobs/lucy-pro-i2i",
|
|
207
|
-
name: "lucy-pro-i2i",
|
|
208
|
-
fps: 25,
|
|
209
|
-
width: 1280,
|
|
210
|
-
height: 704,
|
|
211
|
-
inputSchema: modelInputSchemas["lucy-pro-i2i"]
|
|
212
|
-
}
|
|
213
|
-
},
|
|
156
|
+
image: { "lucy-pro-i2i": {
|
|
157
|
+
urlPath: "/v1/generate/lucy-pro-i2i",
|
|
158
|
+
queueUrlPath: "/v1/jobs/lucy-pro-i2i",
|
|
159
|
+
name: "lucy-pro-i2i",
|
|
160
|
+
fps: 25,
|
|
161
|
+
width: 1280,
|
|
162
|
+
height: 704,
|
|
163
|
+
inputSchema: modelInputSchemas["lucy-pro-i2i"]
|
|
164
|
+
} },
|
|
214
165
|
video: {
|
|
215
|
-
"lucy-dev-i2v": {
|
|
216
|
-
urlPath: "/v1/generate/lucy-dev-i2v",
|
|
217
|
-
queueUrlPath: "/v1/jobs/lucy-dev-i2v",
|
|
218
|
-
name: "lucy-dev-i2v",
|
|
219
|
-
fps: 25,
|
|
220
|
-
width: 1280,
|
|
221
|
-
height: 704,
|
|
222
|
-
inputSchema: modelInputSchemas["lucy-dev-i2v"]
|
|
223
|
-
},
|
|
224
|
-
"lucy-fast-v2v": {
|
|
225
|
-
urlPath: "/v1/generate/lucy-fast-v2v",
|
|
226
|
-
queueUrlPath: "/v1/jobs/lucy-fast-v2v",
|
|
227
|
-
name: "lucy-fast-v2v",
|
|
228
|
-
fps: 25,
|
|
229
|
-
width: 1280,
|
|
230
|
-
height: 720,
|
|
231
|
-
inputSchema: modelInputSchemas["lucy-fast-v2v"]
|
|
232
|
-
},
|
|
233
|
-
"lucy-pro-t2v": {
|
|
234
|
-
urlPath: "/v1/generate/lucy-pro-t2v",
|
|
235
|
-
queueUrlPath: "/v1/jobs/lucy-pro-t2v",
|
|
236
|
-
name: "lucy-pro-t2v",
|
|
237
|
-
fps: 25,
|
|
238
|
-
width: 1280,
|
|
239
|
-
height: 704,
|
|
240
|
-
inputSchema: modelInputSchemas["lucy-pro-t2v"]
|
|
241
|
-
},
|
|
242
|
-
"lucy-pro-i2v": {
|
|
243
|
-
urlPath: "/v1/generate/lucy-pro-i2v",
|
|
244
|
-
queueUrlPath: "/v1/jobs/lucy-pro-i2v",
|
|
245
|
-
name: "lucy-pro-i2v",
|
|
246
|
-
fps: 25,
|
|
247
|
-
width: 1280,
|
|
248
|
-
height: 704,
|
|
249
|
-
inputSchema: modelInputSchemas["lucy-pro-i2v"]
|
|
250
|
-
},
|
|
251
166
|
"lucy-pro-v2v": {
|
|
252
167
|
urlPath: "/v1/generate/lucy-pro-v2v",
|
|
253
168
|
queueUrlPath: "/v1/jobs/lucy-pro-v2v",
|
package/dist/tokens/client.d.ts
CHANGED
|
@@ -48,7 +48,7 @@ type TokensClient = {
|
|
|
48
48
|
* // With expiry, model restrictions, and constraints:
|
|
49
49
|
* const token = await client.tokens.create({
|
|
50
50
|
* expiresIn: 300,
|
|
51
|
-
* allowedModels: ["lucy-pro-
|
|
51
|
+
* allowedModels: ["lucy-pro-v2v", "lucy-restyle-v2v"],
|
|
52
52
|
* constraints: { realtime: { maxSessionDuration: 120 } },
|
|
53
53
|
* });
|
|
54
54
|
* ```
|