@clipwright/core 0.29.0 → 0.31.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.
Files changed (105) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/api-failure.js +4 -0
  3. package/dist/api-failure.js.map +1 -1
  4. package/dist/aspect.d.ts +3 -0
  5. package/dist/aspect.js.map +1 -1
  6. package/dist/canvas-fit.d.ts +10 -0
  7. package/dist/canvas-fit.js +8 -0
  8. package/dist/canvas-fit.js.map +1 -0
  9. package/dist/contract-dispositions.d.ts +16 -9
  10. package/dist/contract-dispositions.js +16 -6
  11. package/dist/contract-dispositions.js.map +1 -1
  12. package/dist/contracts/v1/workflow-brief.d.ts +2 -0
  13. package/dist/contracts/v1/workflow-catalog.d.ts +2 -0
  14. package/dist/contracts/v1/workflow-client.d.ts +1 -0
  15. package/dist/contracts/v1/workflow-execution.d.ts +39 -0
  16. package/dist/contracts/v1/workflow-plan.d.ts +3 -0
  17. package/dist/contracts/v1/workflow-run-read.d.ts +26 -0
  18. package/dist/edit-billing.d.ts +1 -0
  19. package/dist/edit-billing.js +1 -1
  20. package/dist/edit-billing.js.map +1 -1
  21. package/dist/edit-long-form.d.ts +48 -0
  22. package/dist/edit-long-form.js +114 -0
  23. package/dist/edit-long-form.js.map +1 -0
  24. package/dist/edit-revision.d.ts +1 -0
  25. package/dist/edit-rules.d.ts +6 -2
  26. package/dist/edit-rules.js +8 -3
  27. package/dist/edit-rules.js.map +1 -1
  28. package/dist/edit-shots.d.ts +14 -4
  29. package/dist/edit-shots.js +2 -1
  30. package/dist/edit-shots.js.map +1 -1
  31. package/dist/edit-validate.d.ts +1 -1
  32. package/dist/edit-validate.js +76 -2
  33. package/dist/edit-validate.js.map +1 -1
  34. package/dist/edit.d.ts +3 -0
  35. package/dist/edit.js +5 -1
  36. package/dist/edit.js.map +1 -1
  37. package/dist/endpoints.d.ts +2 -0
  38. package/dist/endpoints.js +42 -35
  39. package/dist/endpoints.js.map +1 -1
  40. package/dist/errors.d.ts +1 -1
  41. package/dist/errors.js +8 -1
  42. package/dist/errors.js.map +1 -1
  43. package/dist/faceless-media-record.d.ts +6 -0
  44. package/dist/faceless-media-record.js +3 -1
  45. package/dist/faceless-media-record.js.map +1 -1
  46. package/dist/faceless-public.d.ts +2 -0
  47. package/dist/generations-output.d.ts +19 -0
  48. package/dist/generations-output.js +16 -0
  49. package/dist/generations-output.js.map +1 -0
  50. package/dist/generations.d.ts +262 -0
  51. package/dist/generations.js +215 -0
  52. package/dist/generations.js.map +1 -0
  53. package/dist/idempotency.d.ts +2 -0
  54. package/dist/idempotency.js +8 -0
  55. package/dist/idempotency.js.map +1 -1
  56. package/dist/index.d.ts +4 -0
  57. package/dist/index.js +4 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/long-form-revision.d.ts +244 -0
  60. package/dist/long-form-revision.js +104 -0
  61. package/dist/long-form-revision.js.map +1 -0
  62. package/dist/media-timebase.d.ts +4 -0
  63. package/dist/media-timebase.js +24 -0
  64. package/dist/media-timebase.js.map +1 -1
  65. package/dist/output-provenance.d.ts +26 -0
  66. package/dist/output-provenance.js +67 -0
  67. package/dist/output-provenance.js.map +1 -0
  68. package/dist/resolved-timeline.d.ts +86 -0
  69. package/dist/resolved-timeline.js +127 -0
  70. package/dist/resolved-timeline.js.map +1 -0
  71. package/dist/run-static-warnings.js +7 -0
  72. package/dist/run-static-warnings.js.map +1 -1
  73. package/dist/runs.d.ts +26 -0
  74. package/dist/runs.js +6 -0
  75. package/dist/runs.js.map +1 -1
  76. package/dist/skills.d.ts +5 -1
  77. package/dist/skills.js +4 -1
  78. package/dist/skills.js.map +1 -1
  79. package/dist/ugc-delivery.d.ts +64 -0
  80. package/dist/ugc-delivery.js +34 -0
  81. package/dist/ugc-delivery.js.map +1 -0
  82. package/dist/uploads.d.ts +37 -0
  83. package/dist/uploads.js +20 -1
  84. package/dist/uploads.js.map +1 -1
  85. package/dist/voice-admission.d.ts +1 -0
  86. package/dist/workflows/index.d.ts +1 -0
  87. package/dist/workflows/index.js +1 -0
  88. package/dist/workflows/index.js.map +1 -1
  89. package/dist/workflows/methods/faceless-explainer.d.ts +1 -0
  90. package/dist/workflows/methods/kinetic-launch.d.ts +1 -0
  91. package/dist/workflows/methods/product-image-story.d.ts +1 -0
  92. package/dist/workflows/methods/shared.d.ts +1 -0
  93. package/dist/workflows/methods/ugc-faq-answer.d.ts +1 -0
  94. package/dist/workflows/methods/ugc-faq-answer.js +2 -2
  95. package/dist/workflows/methods/ugc-faq-answer.js.map +1 -1
  96. package/dist/workflows/methods/ugc-product-intro.d.ts +1 -0
  97. package/dist/workflows/methods/ugc-product-intro.js +2 -2
  98. package/dist/workflows/methods/ugc-product-intro.js.map +1 -1
  99. package/dist/workflows/methods/website-proof-demo.d.ts +1 -0
  100. package/dist/workflows/product-references.d.ts +4 -0
  101. package/dist/workflows/product-references.js +32 -0
  102. package/dist/workflows/product-references.js.map +1 -0
  103. package/dist/workflows/validate.js +2 -0
  104. package/dist/workflows/validate.js.map +1 -1
  105. package/package.json +5 -1
@@ -0,0 +1,262 @@
1
+ import { z } from "zod";
2
+ export declare const GENERATION_MODELS_PATH = "/v1/generations/models";
3
+ export declare const GENERATE_IMAGE_QUOTE_PATH = "/v1/skills/generate_image/quote";
4
+ export declare const GENERATE_IMAGE_RUN_PATH = "/v1/skills/generate_image/run";
5
+ export declare const GENERATE_VIDEO_QUOTE_PATH = "/v1/skills/generate_video/quote";
6
+ export declare const GENERATE_VIDEO_RUN_PATH = "/v1/skills/generate_video/run";
7
+ export declare const GENERATION_IMAGE_MODELS: readonly ["seedream-5.0-flash", "flare"];
8
+ export declare const GENERATION_VIDEO_MODELS: readonly ["seedance-2.0", "seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.5"];
9
+ export type GenerationImageModel = (typeof GENERATION_IMAGE_MODELS)[number];
10
+ export type GenerationVideoModel = (typeof GENERATION_VIDEO_MODELS)[number];
11
+ export type GenerationModel = GenerationImageModel | GenerationVideoModel;
12
+ export declare const GENERATION_IMAGE_ASPECTS: readonly ["9:16", "16:9", "1:1"];
13
+ export declare const GENERATION_VIDEO_ASPECTS: readonly ["9:16", "16:9"];
14
+ export declare const GENERATION_RESOLUTIONS: readonly ["480p", "720p", "1080p"];
15
+ export declare const GENERATION_VIDEO_MODES: readonly ["text", "first_frame", "reference"];
16
+ export type GenerationImageAspect = (typeof GENERATION_IMAGE_ASPECTS)[number];
17
+ export type GenerationVideoAspect = (typeof GENERATION_VIDEO_ASPECTS)[number];
18
+ export type GenerationResolution = (typeof GENERATION_RESOLUTIONS)[number];
19
+ export type GenerationVideoMode = (typeof GENERATION_VIDEO_MODES)[number];
20
+ export declare const GENERATION_MAX_REFERENCES = 4;
21
+ export declare const GENERATION_VIDEO_FPS = 24;
22
+ export declare const GENERATION_PROMPT_MAX_CHARS = 2000;
23
+ export type GenerationVendor = "byteplus" | "fal";
24
+ /** One output shape. `measured: false` is refused by the API and never listed (D7). */
25
+ export interface GenerationImageRow {
26
+ aspect_ratio: GenerationImageAspect;
27
+ width: number;
28
+ height: number;
29
+ unit_credits: number;
30
+ measured: boolean;
31
+ }
32
+ export interface GenerationVideoRow {
33
+ aspect_ratio: GenerationVideoAspect;
34
+ resolution: GenerationResolution;
35
+ width: number;
36
+ height: number;
37
+ codec: string | null;
38
+ pix_fmt: string | null;
39
+ /** Credits per second of the requested duration. */
40
+ unit_credits: number;
41
+ measured: boolean;
42
+ /** Told in `warnings[]` on every request that lands here (rule 3): what the measured output differs in. */
43
+ warning?: string;
44
+ }
45
+ export interface GenerationImageCapability {
46
+ kind: "image";
47
+ vendor: GenerationVendor;
48
+ /** The vendor endpoint without references and with them; Seedream takes both on one id. */
49
+ vendor_model: {
50
+ text: string;
51
+ reference: string;
52
+ };
53
+ rows: readonly GenerationImageRow[];
54
+ }
55
+ export interface GenerationVideoCapability {
56
+ kind: "video";
57
+ vendor: GenerationVendor;
58
+ vendor_model: string;
59
+ fps: number;
60
+ /** Whether each mode was measured live; an unmeasured mode is refused like an unmeasured row. */
61
+ modes: Readonly<Record<GenerationVideoMode, boolean>>;
62
+ duration_s: {
63
+ min: number;
64
+ max: number;
65
+ };
66
+ rows: readonly GenerationVideoRow[];
67
+ }
68
+ type GenerationCapabilities = {
69
+ readonly [M in GenerationModel]: M extends GenerationVideoModel ? GenerationVideoCapability : GenerationImageCapability;
70
+ };
71
+ /** The one table of models, shapes and prices (D0, D7): schema, quote, admission and the models list read it. */
72
+ export declare const GENERATION_CAPABILITIES: GenerationCapabilities;
73
+ /** A reference: an own upload with its rights confirmed, or a prior image generation of the same account. */
74
+ export declare const generationReference: z.ZodUnion<readonly [z.ZodObject<{
75
+ upload_id: z.ZodString;
76
+ rights_confirmed: z.ZodLiteral<true>;
77
+ }, z.core.$strict>, z.ZodObject<{
78
+ run_id: z.ZodString;
79
+ }, z.core.$strict>]>;
80
+ export type GenerationReference = z.infer<typeof generationReference>;
81
+ /** No `visible_ai_label`: an unknown key is refused, never passed to the provenance policy (D12). */
82
+ export declare const generateImageRequest: z.ZodObject<{
83
+ prompt: z.ZodString;
84
+ model: z.ZodEnum<{
85
+ flare: "flare";
86
+ "seedream-5.0-flash": "seedream-5.0-flash";
87
+ }>;
88
+ aspect_ratio: z.ZodEnum<{
89
+ "16:9": "16:9";
90
+ "1:1": "1:1";
91
+ "9:16": "9:16";
92
+ }>;
93
+ references: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
94
+ upload_id: z.ZodString;
95
+ rights_confirmed: z.ZodLiteral<true>;
96
+ }, z.core.$strict>, z.ZodObject<{
97
+ run_id: z.ZodString;
98
+ }, z.core.$strict>]>>>;
99
+ }, z.core.$strict>;
100
+ export type GenerateImageRequest = z.infer<typeof generateImageRequest>;
101
+ /** No audio field: the vendor is always asked for a silent clip. */
102
+ export declare const generateVideoRequest: z.ZodObject<{
103
+ prompt: z.ZodString;
104
+ model: z.ZodEnum<{
105
+ "seedance-2.0": "seedance-2.0";
106
+ "seedance-2.0-fast": "seedance-2.0-fast";
107
+ "seedance-2.0-mini": "seedance-2.0-mini";
108
+ "seedance-2.5": "seedance-2.5";
109
+ }>;
110
+ mode: z.ZodEnum<{
111
+ first_frame: "first_frame";
112
+ reference: "reference";
113
+ text: "text";
114
+ }>;
115
+ aspect_ratio: z.ZodEnum<{
116
+ "16:9": "16:9";
117
+ "9:16": "9:16";
118
+ }>;
119
+ resolution: z.ZodEnum<{
120
+ "1080p": "1080p";
121
+ "480p": "480p";
122
+ "720p": "720p";
123
+ }>;
124
+ duration_s: z.ZodNumber;
125
+ first_frame: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
126
+ upload_id: z.ZodString;
127
+ rights_confirmed: z.ZodLiteral<true>;
128
+ }, z.core.$strict>, z.ZodObject<{
129
+ run_id: z.ZodString;
130
+ }, z.core.$strict>]>>;
131
+ last_frame: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
132
+ upload_id: z.ZodString;
133
+ rights_confirmed: z.ZodLiteral<true>;
134
+ }, z.core.$strict>, z.ZodObject<{
135
+ run_id: z.ZodString;
136
+ }, z.core.$strict>]>>;
137
+ references: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
138
+ upload_id: z.ZodString;
139
+ rights_confirmed: z.ZodLiteral<true>;
140
+ }, z.core.$strict>, z.ZodObject<{
141
+ run_id: z.ZodString;
142
+ }, z.core.$strict>]>>>;
143
+ }, z.core.$strict>;
144
+ export type GenerateVideoRequest = z.infer<typeof generateVideoRequest>;
145
+ export type GenerationRequest = GenerateImageRequest | GenerateVideoRequest;
146
+ export type GenerationMatch = {
147
+ kind: "image";
148
+ model: GenerationImageModel;
149
+ capability: GenerationImageCapability;
150
+ row: GenerationImageRow;
151
+ } | {
152
+ kind: "video";
153
+ model: GenerationVideoModel;
154
+ capability: GenerationVideoCapability;
155
+ row: GenerationVideoRow;
156
+ };
157
+ /** The measured row a request falls on, or `null` for a combination we do not offer or have not measured. */
158
+ export declare function findCapabilityRow(request: GenerationRequest): GenerationMatch | null;
159
+ export interface GenerationPrice {
160
+ unit_credits: number;
161
+ units: number;
162
+ credits: number;
163
+ }
164
+ /** The price from the same table: an image is one unit, a clip one unit per requested second. `null` where no row is offered. */
165
+ export declare function priceGeneration(request: GenerationRequest): GenerationPrice | null;
166
+ export declare const generationQuote: z.ZodObject<{
167
+ skill: z.ZodEnum<{
168
+ generate_image: "generate_image";
169
+ generate_video: "generate_video";
170
+ }>;
171
+ kind: z.ZodEnum<{
172
+ image: "image";
173
+ video: "video";
174
+ }>;
175
+ model: z.ZodString;
176
+ unit: z.ZodEnum<{
177
+ image: "image";
178
+ second: "second";
179
+ }>;
180
+ unit_credits: z.ZodNumber;
181
+ units: z.ZodNumber;
182
+ credits: z.ZodNumber;
183
+ width: z.ZodNumber;
184
+ height: z.ZodNumber;
185
+ duration_s: z.ZodNullable<z.ZodNumber>;
186
+ warnings: z.ZodArray<z.ZodString>;
187
+ contract_version: z.ZodString;
188
+ }, z.core.$strict>;
189
+ export type GenerationQuote = z.infer<typeof generationQuote>;
190
+ /** One offered model: vendors are not named, and only measured modes and rows are shown. */
191
+ declare const listedModel: z.ZodObject<{
192
+ model: z.ZodString;
193
+ kind: z.ZodEnum<{
194
+ image: "image";
195
+ video: "video";
196
+ }>;
197
+ unit: z.ZodEnum<{
198
+ image: "image";
199
+ second: "second";
200
+ }>;
201
+ modes: z.ZodNullable<z.ZodArray<z.ZodEnum<{
202
+ first_frame: "first_frame";
203
+ reference: "reference";
204
+ text: "text";
205
+ }>>>;
206
+ duration_s: z.ZodNullable<z.ZodObject<{
207
+ min: z.ZodNumber;
208
+ max: z.ZodNumber;
209
+ }, z.core.$strict>>;
210
+ max_references: z.ZodNumber;
211
+ rows: z.ZodArray<z.ZodObject<{
212
+ aspect_ratio: z.ZodString;
213
+ resolution: z.ZodNullable<z.ZodEnum<{
214
+ "1080p": "1080p";
215
+ "480p": "480p";
216
+ "720p": "720p";
217
+ }>>;
218
+ width: z.ZodNumber;
219
+ height: z.ZodNumber;
220
+ unit_credits: z.ZodNumber;
221
+ }, z.core.$strict>>;
222
+ }, z.core.$strict>;
223
+ export declare const generationModels: z.ZodObject<{
224
+ models: z.ZodArray<z.ZodObject<{
225
+ model: z.ZodString;
226
+ kind: z.ZodEnum<{
227
+ image: "image";
228
+ video: "video";
229
+ }>;
230
+ unit: z.ZodEnum<{
231
+ image: "image";
232
+ second: "second";
233
+ }>;
234
+ modes: z.ZodNullable<z.ZodArray<z.ZodEnum<{
235
+ first_frame: "first_frame";
236
+ reference: "reference";
237
+ text: "text";
238
+ }>>>;
239
+ duration_s: z.ZodNullable<z.ZodObject<{
240
+ min: z.ZodNumber;
241
+ max: z.ZodNumber;
242
+ }, z.core.$strict>>;
243
+ max_references: z.ZodNumber;
244
+ rows: z.ZodArray<z.ZodObject<{
245
+ aspect_ratio: z.ZodString;
246
+ resolution: z.ZodNullable<z.ZodEnum<{
247
+ "1080p": "1080p";
248
+ "480p": "480p";
249
+ "720p": "720p";
250
+ }>>;
251
+ width: z.ZodNumber;
252
+ height: z.ZodNumber;
253
+ unit_credits: z.ZodNumber;
254
+ }, z.core.$strict>>;
255
+ }, z.core.$strict>>;
256
+ contract_version: z.ZodString;
257
+ }, z.core.$strict>;
258
+ export type GenerationModels = z.infer<typeof generationModels>;
259
+ export type ListedGenerationModel = z.infer<typeof listedModel>;
260
+ /** The models list from the table: a model with no measured row, or a video model with no measured mode, is left out. */
261
+ export declare function listGenerationModels(): ListedGenerationModel[];
262
+ export {};
@@ -0,0 +1,215 @@
1
+ import { z } from "zod";
2
+ import { GENERATION_KINDS } from "./generations-output.js";
3
+ import { runId } from "./runs.js";
4
+ import { uploadId } from "./uploads.js";
5
+ export const GENERATION_MODELS_PATH = "/v1/generations/models";
6
+ export const GENERATE_IMAGE_QUOTE_PATH = "/v1/skills/generate_image/quote";
7
+ export const GENERATE_IMAGE_RUN_PATH = "/v1/skills/generate_image/run";
8
+ export const GENERATE_VIDEO_QUOTE_PATH = "/v1/skills/generate_video/quote";
9
+ export const GENERATE_VIDEO_RUN_PATH = "/v1/skills/generate_video/run";
10
+ export const GENERATION_IMAGE_MODELS = ["seedream-5.0-flash", "flare"];
11
+ export const GENERATION_VIDEO_MODELS = ["seedance-2.0", "seedance-2.0-mini", "seedance-2.0-fast", "seedance-2.5"];
12
+ export const GENERATION_IMAGE_ASPECTS = ["9:16", "16:9", "1:1"];
13
+ export const GENERATION_VIDEO_ASPECTS = ["9:16", "16:9"];
14
+ export const GENERATION_RESOLUTIONS = ["480p", "720p", "1080p"];
15
+ export const GENERATION_VIDEO_MODES = ["text", "first_frame", "reference"];
16
+ export const GENERATION_MAX_REFERENCES = 4;
17
+ export const GENERATION_VIDEO_FPS = 24;
18
+ export const GENERATION_PROMPT_MAX_CHARS = 2000;
19
+ const image = (aspect_ratio, width, height, unit_credits, measured = false) => ({ aspect_ratio, width, height, unit_credits, measured });
20
+ const H264 = { codec: "h264", pix_fmt: "yuv420p" };
21
+ const UNPROBED = { codec: null, pix_fmt: null };
22
+ /** Rows in both aspects of one resolution; `measured` holds the aspects probed live (19.10 paid tests, ffprobe of the clips). */
23
+ function video(resolution, short, long, unit_credits, probed, measured = {}, warning) {
24
+ const extra = warning === undefined ? {} : { warning };
25
+ return [
26
+ { aspect_ratio: "9:16", resolution, width: short, height: long, ...probed, unit_credits, measured: measured.vertical ?? false, ...extra },
27
+ { aspect_ratio: "16:9", resolution, width: long, height: short, ...probed, unit_credits, measured: measured.horizontal ?? false, ...extra },
28
+ ];
29
+ }
30
+ const HEVC10 = { codec: "hevc", pix_fmt: "yuv420p10le" };
31
+ const SEEDANCE_2_0_MODES = { text: true, first_frame: true, reference: false };
32
+ const DRAFT_480P = "480p draft is 496x864 (2.1% off 9:16), as the vendor renders it; we do not crop it";
33
+ /** The one table of models, shapes and prices (D0, D7): schema, quote, admission and the models list read it. */
34
+ export const GENERATION_CAPABILITIES = deepFreeze({
35
+ "seedream-5.0-flash": {
36
+ kind: "image",
37
+ vendor: "byteplus",
38
+ vendor_model: { text: "dola-seedream-5-0-flash-260915", reference: "dola-seedream-5-0-flash-260915" },
39
+ rows: [image("9:16", 1440, 2560, 12, true), image("16:9", 2560, 1440, 12, true), image("1:1", 2048, 2048, 12, true)],
40
+ },
41
+ flare: {
42
+ kind: "image",
43
+ vendor: "fal",
44
+ vendor_model: { text: "openai/gpt-image-2.5/flare/text-to-image", reference: "openai/gpt-image-2.5/flare/edit" },
45
+ rows: [image("9:16", 1008, 1792, 18, true), image("16:9", 1792, 1008, 18), image("1:1", 1024, 1024, 18)],
46
+ },
47
+ "seedance-2.0": {
48
+ kind: "video",
49
+ vendor: "byteplus",
50
+ vendor_model: "dreamina-seedance-2-0-260128",
51
+ fps: GENERATION_VIDEO_FPS,
52
+ modes: SEEDANCE_2_0_MODES,
53
+ duration_s: { min: 4, max: 15 },
54
+ rows: [...video("480p", 480, 854, 45, UNPROBED), ...video("720p", 720, 1280, 100, H264, { vertical: true }),
55
+ ...video("1080p", 1080, 1920, 250, H264, { vertical: true, horizontal: true })],
56
+ },
57
+ "seedance-2.0-mini": {
58
+ kind: "video",
59
+ vendor: "byteplus",
60
+ vendor_model: "dreamina-seedance-2-0-mini-260615",
61
+ fps: GENERATION_VIDEO_FPS,
62
+ modes: { text: true, first_frame: true, reference: true },
63
+ duration_s: { min: 4, max: 15 },
64
+ rows: [...video("480p", 496, 864, 25, H264, { vertical: true }, DRAFT_480P),
65
+ ...video("720p", 720, 1280, 50, H264, { vertical: true, horizontal: true })],
66
+ },
67
+ "seedance-2.0-fast": {
68
+ kind: "video",
69
+ vendor: "byteplus",
70
+ vendor_model: "dreamina-seedance-2-0-fast-260128",
71
+ fps: GENERATION_VIDEO_FPS,
72
+ modes: SEEDANCE_2_0_MODES,
73
+ duration_s: { min: 4, max: 15 },
74
+ rows: [...video("480p", 480, 854, 35, UNPROBED), ...video("720p", 720, 1280, 80, H264, { vertical: true })],
75
+ },
76
+ "seedance-2.5": {
77
+ kind: "video",
78
+ vendor: "byteplus",
79
+ vendor_model: "dreamina-seedance-2-5-260628",
80
+ fps: GENERATION_VIDEO_FPS,
81
+ modes: { text: false, first_frame: true, reference: false },
82
+ duration_s: { min: 4, max: 30 },
83
+ rows: [...video("480p", 480, 854, 70, UNPROBED), ...video("720p", 720, 1280, 150, H264, { vertical: true }),
84
+ ...video("1080p", 1080, 1920, 380, HEVC10, { vertical: true }, "seedance-2.5 at 1080p is HEVC 10-bit (yuv420p10le); some browsers and editors do not play it")],
85
+ },
86
+ });
87
+ function deepFreeze(value) {
88
+ if (value !== null && typeof value === "object" && !Object.isFrozen(value)) {
89
+ Object.freeze(value);
90
+ for (const inner of Object.values(value))
91
+ deepFreeze(inner);
92
+ }
93
+ return value;
94
+ }
95
+ /** A reference: an own upload with its rights confirmed, or a prior image generation of the same account. */
96
+ export const generationReference = z.union([
97
+ z.strictObject({ upload_id: uploadId, rights_confirmed: z.literal(true) }),
98
+ z.strictObject({ run_id: runId }),
99
+ ]);
100
+ const prompt = z.string().trim().min(1).max(GENERATION_PROMPT_MAX_CHARS);
101
+ /** No `visible_ai_label`: an unknown key is refused, never passed to the provenance policy (D12). */
102
+ export const generateImageRequest = z.strictObject({
103
+ prompt,
104
+ model: z.enum(GENERATION_IMAGE_MODELS),
105
+ aspect_ratio: z.enum(GENERATION_IMAGE_ASPECTS),
106
+ references: z.array(generationReference).max(GENERATION_MAX_REFERENCES).optional(),
107
+ });
108
+ /** No audio field: the vendor is always asked for a silent clip. */
109
+ export const generateVideoRequest = z.strictObject({
110
+ prompt,
111
+ model: z.enum(GENERATION_VIDEO_MODELS),
112
+ mode: z.enum(GENERATION_VIDEO_MODES),
113
+ aspect_ratio: z.enum(GENERATION_VIDEO_ASPECTS),
114
+ resolution: z.enum(GENERATION_RESOLUTIONS),
115
+ duration_s: z.number().int().positive().safe(),
116
+ first_frame: generationReference.optional(),
117
+ last_frame: generationReference.optional(),
118
+ references: z.array(generationReference).min(1).max(GENERATION_MAX_REFERENCES).optional(),
119
+ }).superRefine((request, context) => {
120
+ const issue = (path, message) => context.addIssue({ code: z.ZodIssueCode.custom, path: [path], message });
121
+ const { min, max } = GENERATION_CAPABILITIES[request.model].duration_s;
122
+ if (request.duration_s < min || request.duration_s > max) {
123
+ issue("duration_s", `${request.model} takes ${min} to ${max} seconds`);
124
+ }
125
+ if (request.mode === "first_frame" && request.first_frame === undefined)
126
+ issue("first_frame", "first_frame mode requires first_frame");
127
+ if (request.mode !== "first_frame") {
128
+ if (request.first_frame !== undefined)
129
+ issue("first_frame", "first_frame is only accepted in first_frame mode");
130
+ if (request.last_frame !== undefined)
131
+ issue("last_frame", "last_frame is only accepted in first_frame mode");
132
+ }
133
+ if (request.mode === "reference" && request.references === undefined)
134
+ issue("references", "reference mode requires 1 to 4 references");
135
+ if (request.mode !== "reference" && request.references !== undefined)
136
+ issue("references", "references are only accepted in reference mode");
137
+ });
138
+ function isVideoRequest(request) {
139
+ return GENERATION_VIDEO_MODELS.includes(request.model);
140
+ }
141
+ /** The measured row a request falls on, or `null` for a combination we do not offer or have not measured. */
142
+ export function findCapabilityRow(request) {
143
+ if (isVideoRequest(request)) {
144
+ const capability = GENERATION_CAPABILITIES[request.model];
145
+ const { min, max } = capability.duration_s;
146
+ if (!capability.modes[request.mode] || request.duration_s < min || request.duration_s > max)
147
+ return null;
148
+ const row = capability.rows.find((one) => one.aspect_ratio === request.aspect_ratio && one.resolution === request.resolution);
149
+ return row?.measured ? { kind: "video", model: request.model, capability, row } : null;
150
+ }
151
+ const capability = GENERATION_CAPABILITIES[request.model];
152
+ const row = capability.rows.find((one) => one.aspect_ratio === request.aspect_ratio);
153
+ return row?.measured ? { kind: "image", model: request.model, capability, row } : null;
154
+ }
155
+ /** The price from the same table: an image is one unit, a clip one unit per requested second. `null` where no row is offered. */
156
+ export function priceGeneration(request) {
157
+ const match = findCapabilityRow(request);
158
+ if (match === null)
159
+ return null;
160
+ const units = match.kind === "video" && isVideoRequest(request) ? request.duration_s : 1;
161
+ return { unit_credits: match.row.unit_credits, units, credits: match.row.unit_credits * units };
162
+ }
163
+ export const generationQuote = z.strictObject({
164
+ skill: z.enum(["generate_image", "generate_video"]),
165
+ kind: z.enum(GENERATION_KINDS),
166
+ model: z.string().min(1),
167
+ unit: z.enum(["image", "second"]),
168
+ unit_credits: z.number().int().positive(),
169
+ units: z.number().int().positive(),
170
+ credits: z.number().int().positive(),
171
+ width: z.number().int().positive(),
172
+ height: z.number().int().positive(),
173
+ duration_s: z.number().int().positive().nullable(),
174
+ warnings: z.array(z.string()),
175
+ contract_version: z.string().min(1),
176
+ });
177
+ const listedRow = z.strictObject({
178
+ aspect_ratio: z.string().min(1),
179
+ resolution: z.enum(GENERATION_RESOLUTIONS).nullable(),
180
+ width: z.number().int().positive(),
181
+ height: z.number().int().positive(),
182
+ unit_credits: z.number().int().positive(),
183
+ });
184
+ /** One offered model: vendors are not named, and only measured modes and rows are shown. */
185
+ const listedModel = z.strictObject({
186
+ model: z.string().min(1),
187
+ kind: z.enum(GENERATION_KINDS),
188
+ unit: z.enum(["image", "second"]),
189
+ modes: z.array(z.enum(GENERATION_VIDEO_MODES)).nullable(),
190
+ duration_s: z.strictObject({ min: z.number().int().positive(), max: z.number().int().positive() }).nullable(),
191
+ max_references: z.number().int().nonnegative(),
192
+ rows: z.array(listedRow).min(1),
193
+ });
194
+ export const generationModels = z.strictObject({
195
+ models: z.array(listedModel),
196
+ contract_version: z.string().min(1),
197
+ });
198
+ /** The models list from the table: a model with no measured row, or a video model with no measured mode, is left out. */
199
+ export function listGenerationModels() {
200
+ return Object.keys(GENERATION_CAPABILITIES).flatMap((model) => {
201
+ const capability = GENERATION_CAPABILITIES[model];
202
+ if (capability.kind === "image") {
203
+ const rows = capability.rows.filter((row) => row.measured)
204
+ .map(({ aspect_ratio, width, height, unit_credits }) => ({ aspect_ratio, resolution: null, width, height, unit_credits }));
205
+ return rows.length === 0 ? [] : [{ model, kind: "image", unit: "image", modes: null, duration_s: null,
206
+ max_references: GENERATION_MAX_REFERENCES, rows }];
207
+ }
208
+ const modes = GENERATION_VIDEO_MODES.filter((mode) => capability.modes[mode]);
209
+ const rows = capability.rows.filter((row) => row.measured)
210
+ .map(({ aspect_ratio, resolution, width, height, unit_credits }) => ({ aspect_ratio, resolution, width, height, unit_credits }));
211
+ return rows.length === 0 || modes.length === 0 ? [] : [{ model, kind: "video", unit: "second", modes,
212
+ duration_s: { ...capability.duration_s }, max_references: modes.includes("reference") ? GENERATION_MAX_REFERENCES : 0, rows }];
213
+ });
214
+ }
215
+ //# sourceMappingURL=generations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generations.js","sourceRoot":"","sources":["../src/generations.ts"],"names":[],"mappings":"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"}
@@ -14,5 +14,7 @@ export declare function actorIdempotencyKeyFor(input: unknown, clientId: string)
14
14
  export declare function revisionIdempotencyKeyFor(sourceRunId: string, request: unknown, clientId: string): string;
15
15
  /** The key of a shot candidate: the source run and the request with its take, parsed, under the client's prefix. */
16
16
  export declare function candidateIdempotencyKeyFor(sourceRunId: string, request: unknown, clientId: string): string;
17
+ /** The key of a single generation: the skill and its request, parsed, under the client's prefix. */
18
+ export declare function generationIdempotencyKeyFor(skill: "generate_image" | "generate_video", request: unknown, clientId: string): string;
17
19
  /** The same key for `make_faceless`, parsed by its own union schema. */
18
20
  export declare function facelessIdempotencyKeyFor(input: unknown, clientId: string): string;
@@ -3,6 +3,7 @@ import { createActorInput } from "./account-actors.js";
3
3
  import { candidateRequest } from "./edit-candidate.js";
4
4
  import { revisionRequest } from "./edit-revision.js";
5
5
  import { makeFacelessInput } from "./faceless-public.js";
6
+ import { generateImageRequest, generateVideoRequest } from "./generations.js";
6
7
  import { runId } from "./runs.js";
7
8
  import { makeUgcInput } from "./skills.js";
8
9
  // Request fingerprint and per-client idempotency key. A subpath export, not the barrel:
@@ -62,6 +63,13 @@ export function candidateIdempotencyKeyFor(sourceRunId, request, clientId) {
62
63
  .update(clientId + JSON.stringify(canonicalize(parsed)))
63
64
  .digest("hex");
64
65
  }
66
+ /** The key of a single generation: the skill and its request, parsed, under the client's prefix. */
67
+ export function generationIdempotencyKeyFor(skill, request, clientId) {
68
+ const parsed = { skill, request: skill === "generate_image" ? generateImageRequest.parse(request) : generateVideoRequest.parse(request) };
69
+ return createHash("sha256")
70
+ .update(clientId + JSON.stringify(canonicalize(parsed)))
71
+ .digest("hex");
72
+ }
65
73
  /** The same key for `make_faceless`, parsed by its own union schema. */
66
74
  export function facelessIdempotencyKeyFor(input, clientId) {
67
75
  const parsed = makeFacelessInput.parse(input);
@@ -1 +1 @@
1
- {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../src/idempotency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../src/idempotency.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -35,7 +35,11 @@ export * from "./media-timebase.js";
35
35
  export * from "./billing-terms.js";
36
36
  export * from "./voice-preview-approval.js";
37
37
  export * from "./face-delivery.js";
38
+ export * from "./ugc-delivery.js";
38
39
  export * from "./faceless-public-plan.js";
39
40
  export * from "./faceless-media-record.js";
40
41
  export * from "./edit.js";
41
42
  export * from "./workflows/index.js";
43
+ export * from "./output-provenance.js";
44
+ export * from "./generations.js";
45
+ export * from "./generations-output.js";
package/dist/index.js CHANGED
@@ -56,8 +56,12 @@ export * from "./media-timebase.js";
56
56
  export * from "./billing-terms.js";
57
57
  export * from "./voice-preview-approval.js";
58
58
  export * from "./face-delivery.js";
59
+ export * from "./ugc-delivery.js";
59
60
  export * from "./faceless-public-plan.js";
60
61
  export * from "./faceless-media-record.js";
61
62
  export * from "./edit.js";
62
63
  export * from "./workflows/index.js";
64
+ export * from "./output-provenance.js";
65
+ export * from "./generations.js";
66
+ export * from "./generations-output.js";
63
67
  //# 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":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,+EAA+E;AAC/E,cAAc,qBAAqB,CAAC;AACpC,2FAA2F;AAC3F,sFAAsF;AACtF,cAAc,4BAA4B,CAAC;AAC3C,6FAA6F;AAC7F,cAAc,aAAa,CAAC;AAC5B,gFAAgF;AAChF,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,wFAAwF;AACxF,uCAAuC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,uFAAuF;AACvF,gBAAgB;AAChB,cAAc,iBAAiB,CAAC;AAChC,uFAAuF;AACvF,sBAAsB;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,iEAAiE;AACjE,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,oFAAoF;AACpF,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,wFAAwF;AACxF,mEAAmE;AACnE,cAAc,sBAAsB,CAAC;AACrC,sFAAsF;AACtF,2CAA2C;AAC3C,cAAc,uBAAuB,CAAC;AACtC,uFAAuF;AACvF,cAAc,gBAAgB,CAAC;AAC/B,oFAAoF;AACpF,sCAAsC;AACtC,cAAc,0BAA0B,CAAC;AACzC,qEAAqE;AACrE,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,+EAA+E;AAC/E,cAAc,qBAAqB,CAAC;AACpC,2FAA2F;AAC3F,sFAAsF;AACtF,cAAc,4BAA4B,CAAC;AAC3C,6FAA6F;AAC7F,cAAc,aAAa,CAAC;AAC5B,gFAAgF;AAChF,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,wFAAwF;AACxF,uCAAuC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,uFAAuF;AACvF,gBAAgB;AAChB,cAAc,iBAAiB,CAAC;AAChC,uFAAuF;AACvF,sBAAsB;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,iEAAiE;AACjE,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,oFAAoF;AACpF,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,wFAAwF;AACxF,mEAAmE;AACnE,cAAc,sBAAsB,CAAC;AACrC,sFAAsF;AACtF,2CAA2C;AAC3C,cAAc,uBAAuB,CAAC;AACtC,uFAAuF;AACvF,cAAc,gBAAgB,CAAC;AAC/B,oFAAoF;AACpF,sCAAsC;AACtC,cAAc,0BAA0B,CAAC;AACzC,qEAAqE;AACrE,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}