@agentmedia/schema 0.2.2 → 0.4.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 (57) hide show
  1. package/.memory/cursor.json +3 -0
  2. package/.memory/memories.json +1 -0
  3. package/.memory/project.json +5 -0
  4. package/CLAUDE.md +7 -0
  5. package/LICENSE +199 -0
  6. package/README.md +2 -2
  7. package/dist/__tests__/character-pipeline.test.d.ts +2 -0
  8. package/dist/__tests__/character-pipeline.test.d.ts.map +1 -0
  9. package/dist/__tests__/character-pipeline.test.js +296 -0
  10. package/dist/__tests__/character-pipeline.test.js.map +1 -0
  11. package/dist/__tests__/parity.test.js +7 -0
  12. package/dist/__tests__/parity.test.js.map +1 -1
  13. package/dist/__tests__/text-to-video.test.d.ts +2 -0
  14. package/dist/__tests__/text-to-video.test.d.ts.map +1 -0
  15. package/dist/__tests__/text-to-video.test.js +67 -0
  16. package/dist/__tests__/text-to-video.test.js.map +1 -0
  17. package/dist/generators.d.ts +519 -7
  18. package/dist/generators.d.ts.map +1 -1
  19. package/dist/generators.js +24 -3
  20. package/dist/generators.js.map +1 -1
  21. package/dist/v2/character.d.ts +32 -0
  22. package/dist/v2/character.d.ts.map +1 -0
  23. package/dist/v2/character.js +29 -0
  24. package/dist/v2/character.js.map +1 -0
  25. package/dist/v2/generators.d.ts +69 -0
  26. package/dist/v2/generators.d.ts.map +1 -0
  27. package/dist/v2/generators.js +105 -0
  28. package/dist/v2/generators.js.map +1 -0
  29. package/dist/v2/index.d.ts +13 -0
  30. package/dist/v2/index.d.ts.map +1 -0
  31. package/dist/v2/index.js +14 -0
  32. package/dist/v2/index.js.map +1 -0
  33. package/dist/v2/selfie.d.ts +78 -0
  34. package/dist/v2/selfie.d.ts.map +1 -0
  35. package/dist/v2/selfie.js +87 -0
  36. package/dist/v2/selfie.js.map +1 -0
  37. package/dist/v2/subtitle.d.ts +31 -0
  38. package/dist/v2/subtitle.d.ts.map +1 -0
  39. package/dist/v2/subtitle.js +53 -0
  40. package/dist/v2/subtitle.js.map +1 -0
  41. package/dist/video.d.ts +628 -6
  42. package/dist/video.d.ts.map +1 -1
  43. package/dist/video.js +164 -4
  44. package/dist/video.js.map +1 -1
  45. package/package.json +36 -16
  46. package/scripts/generate-openapi.ts +87 -38
  47. package/scripts/generate-v2-docs.ts +328 -0
  48. package/src/__tests__/character-pipeline.test.ts +356 -0
  49. package/src/__tests__/parity.test.ts +8 -0
  50. package/src/__tests__/text-to-video.test.ts +79 -0
  51. package/src/generators.ts +29 -2
  52. package/src/v2/character.ts +39 -0
  53. package/src/v2/generators.ts +186 -0
  54. package/src/v2/index.ts +15 -0
  55. package/src/v2/selfie.ts +103 -0
  56. package/src/v2/subtitle.ts +62 -0
  57. package/src/video.ts +259 -5
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
package/dist/video.js CHANGED
@@ -166,13 +166,38 @@ export const SubtitleSchema = z.object({
166
166
  video_url: z.string().url(),
167
167
  style: z.enum(SUBTITLE_STYLES).optional(),
168
168
  });
169
- export const ProductReviewSchema = z.object({
170
- product_url: z.string().url(),
169
+ export const SaasReviewSchema = z.preprocess(flattenGroupedParams, z.object({
170
+ script: z.string().min(50).max(3000).optional(),
171
+ prompt: z.string().min(1).max(1000).optional(),
172
+ product_url: z.string().url().optional(),
171
173
  angle: z.enum(REVIEW_ANGLES).optional(),
172
- tone: z.enum(TONES).optional(),
173
174
  actor_slug: z.string().min(1).max(100).optional(),
175
+ persona_slug: z.string().min(1).max(100).optional(),
176
+ face_photo_url: z.string().url().optional(),
177
+ voice: z.string().max(100).optional(),
174
178
  target_duration: z.number().refine((v) => DURATIONS.includes(v), { message: 'target_duration must be 5, 10, or 15' }).optional(),
175
- });
179
+ style: z.string().max(50).optional(),
180
+ tone: z.enum(TONES).optional(),
181
+ voice_speed: z.number().min(0.7).max(1.5).optional(),
182
+ music: z.enum(MUSIC_GENRES).optional(),
183
+ cta: z.string().max(100).optional(),
184
+ aspect_ratio: z.enum(ASPECT_RATIOS).optional(),
185
+ template: z.string().max(50).optional(),
186
+ composition_mode: z.literal('pip').optional(),
187
+ pip_options: PipOptionsSchema.optional(),
188
+ allow_broll: z.boolean().optional(),
189
+ broll_model: z.enum(BROLL_MODELS).optional(),
190
+ broll_images: z.array(z.string().url()).max(10).optional(),
191
+ dub_language: z.string().max(10).optional(),
192
+ webhook_url: z.string().url().optional(),
193
+ scenes: z.array(z.object({
194
+ type: z.enum(SCENE_TYPES).optional(),
195
+ }).passthrough()).max(30).optional(),
196
+ }).refine((data) => data.script !== undefined || data.prompt !== undefined || data.product_url !== undefined, { message: 'script, prompt, or product_url is required' }));
197
+ /**
198
+ * @deprecated Use SaasReviewSchema. Kept for API/SDK compatibility.
199
+ */
200
+ export const ProductReviewSchema = SaasReviewSchema;
176
201
  export const SHOW_YOUR_APP_WORDS_PER_SECOND = 3;
177
202
  export const SHOW_YOUR_APP_DURATIONS = [5, 10, 15];
178
203
  export const ShowYourAppSchema = z.object({
@@ -194,6 +219,52 @@ export const ShowYourAppSchema = z.object({
194
219
  });
195
220
  }
196
221
  });
222
+ // ── Laptop UGC ──────────────────────────────────────────────────────────────
223
+ export const LAPTOP_UGC_WORDS_PER_SECOND = 3;
224
+ export const LAPTOP_UGC_DURATIONS = [15, 20];
225
+ export const LAPTOP_UGC_MAX_RECORDING_BYTES = 10 * 1024 * 1024; // 10 MB
226
+ export const LAPTOP_UGC_MAX_RECORDING_SECONDS = 10;
227
+ export const LAPTOP_UGC_RECORDING_MIME_TYPES = ['video/mp4', 'video/quicktime'];
228
+ export const LAPTOP_UGC_MAX_IMAGE_BYTES = 5 * 1024 * 1024; // 5 MB
229
+ export const LAPTOP_UGC_IMAGE_MIME_TYPES = ['image/png', 'image/jpeg', 'image/webp'];
230
+ export const LaptopUgcSchema = z.object({
231
+ app_screen_recording_url: z.string().url().optional().describe('Public URL of a screen recording of your app (mp4 or mov). Max 10 MB, max 10 seconds. Provide this OR app_screen_image_url, not both.'),
232
+ app_screen_image_url: z.string().url().optional().describe('Public URL of a static screenshot of your app (png, jpeg, or webp). Max 5 MB. Provide this OR app_screen_recording_url, not both.'),
233
+ actor_slug: z.string().min(1).max(100).optional().describe('Actor slug from GET /v1/actors. Random actor if omitted.'),
234
+ script: z.string().min(5).max(3000).describe('Full voiceover script. Auto-split at sentence boundary into two halves for the two face shots.'),
235
+ duration: z.number().refine((v) => LAPTOP_UGC_DURATIONS.includes(v), { message: 'duration must be 15 or 20' }).optional().default(20),
236
+ subtitle_style: z.enum(['hormozi', 'none']).optional().default('hormozi'),
237
+ webhook_url: z.string().url().optional(),
238
+ }).superRefine((val, ctx) => {
239
+ // Exactly one of recording / image must be provided
240
+ const hasRecording = !!val.app_screen_recording_url;
241
+ const hasImage = !!val.app_screen_image_url;
242
+ if (hasRecording && hasImage) {
243
+ ctx.addIssue({
244
+ code: z.ZodIssueCode.custom,
245
+ path: ['app_screen_recording_url'],
246
+ message: 'Provide app_screen_recording_url OR app_screen_image_url, not both',
247
+ });
248
+ }
249
+ if (!hasRecording && !hasImage) {
250
+ ctx.addIssue({
251
+ code: z.ZodIssueCode.custom,
252
+ path: ['app_screen_recording_url'],
253
+ message: 'Either app_screen_recording_url or app_screen_image_url is required',
254
+ });
255
+ }
256
+ // Word-count cap
257
+ const duration = val.duration ?? 20;
258
+ const maxWords = duration * LAPTOP_UGC_WORDS_PER_SECOND;
259
+ const wordCount = val.script.trim().split(/\s+/).filter(Boolean).length;
260
+ if (wordCount > maxWords) {
261
+ ctx.addIssue({
262
+ code: z.ZodIssueCode.custom,
263
+ path: ['script'],
264
+ message: `Script has ${wordCount} words; max ${maxWords} for ${duration}s at ${LAPTOP_UGC_WORDS_PER_SECOND} words/sec`,
265
+ });
266
+ }
267
+ });
197
268
  export const PRODUCT_ACTING_WORDS_PER_SECOND = 3;
198
269
  export const PRODUCT_ACTING_DURATIONS = [5, 10, 15];
199
270
  export const PRODUCT_ACTING_TEMPLATES = [
@@ -252,4 +323,93 @@ export const ProductActingSchema = z.object({
252
323
  });
253
324
  }
254
325
  });
326
+ // ── Character Video ────────────────────────────────────────────────────────
327
+ //
328
+ // 3-step pipeline:
329
+ // Step 1: Character reference sheet (PNG)
330
+ // — POST /v1/character/sheet-generate
331
+ // — actor_slug returns portrait_url (free), description calls
332
+ // gpt-image-2 (~$0.04)
333
+ // Step 2: Storyboard sheet (PNG)
334
+ // — POST /v1/character/storyboard-generate
335
+ // — gpt-image-2 paints numbered panels using the character
336
+ // sheet as a reference so panels stay on-character (~$0.04)
337
+ // Step 3: Final video (this generator)
338
+ // — Seedance 2.0 multimodal: image_urls = [character, storyboard]
339
+ // + short action_prompt + duration/ratio settings
340
+ //
341
+ // All three URLs must be public HTTPS so Seedance can fetch them.
342
+ export const CHARACTER_VIDEO_DURATIONS = [5, 10];
343
+ export const CHARACTER_VIDEO_RATIOS = ['9:16', '16:9', '1:1'];
344
+ export const CharacterVideoSchema = z.object({
345
+ character_sheet_url: z.string().url().describe('Public HTTPS URL of the character reference sheet PNG. Generate one via POST /v1/character/sheet-generate or upload your own.'),
346
+ storyboard_url: z.string().url().describe('Public HTTPS URL of the storyboard panels PNG. Generate one via POST /v1/character/storyboard-generate or upload your own.'),
347
+ action_prompt: z.string().min(1).max(2000).optional().describe('Optional scene/action description sent to Seedance as the primary scene driver (e.g. "Marco the chef in his Brooklyn kitchen at golden hour, takes a bite of fresh bread"). When omitted, the api-v2 server backstops it from the same session\'s storyboard job (script or beats) — without a real scene description Seedance picks the location arbitrarily.'),
348
+ duration: z.number().refine((v) => CHARACTER_VIDEO_DURATIONS.includes(v), { message: 'duration must be 5 or 10' }).optional().default(10).describe('Video duration in seconds. Valid values: 5 or 10. Max 10s — Seedance i2v quality degrades past 10s with multimodal inputs.'),
349
+ aspect_ratio: z.enum(CHARACTER_VIDEO_RATIOS).optional().default('9:16').describe('Output aspect ratio. Default 9:16.'),
350
+ generate_audio: z.boolean().optional().default(true).describe('Whether Seedance synthesizes synchronized audio (ambient sounds, breath, etc.).'),
351
+ session_id: z.string().uuid().optional().describe('Optional UUID linking the three pipeline steps (sheet → storyboard → video) into one wizard session. Same value across calls makes inserts idempotent and lets api-v2 backstop action_prompt from the storyboard step.'),
352
+ webhook_url: z.string().url().optional().describe('HTTPS URL to receive a callback when the job completes or fails.'),
353
+ });
354
+ // ── Text-to-Video (pure prompt, no character / no storyboard) ──────────────
355
+ //
356
+ // Drives Seedance 2.0 text-to-video. The prompt IS the whole creative —
357
+ // style, subject, mood, composition all baked into one string. Used by
358
+ // the "Use prompts" batch-schedule mode and as a one-shot generator
359
+ // for Claude Code / MCP / CLI workflows where the agent already has a
360
+ // fully-formed video prompt.
361
+ export const TEXT_TO_VIDEO_DURATIONS = [5, 10, 15];
362
+ export const TEXT_TO_VIDEO_RATIOS = ['9:16', '16:9', '1:1'];
363
+ export const TextToVideoSchema = z.object({
364
+ prompt: z.string().min(20).max(1000).describe('The full video prompt. Style, subject, mood, composition, lighting, lens, motion — all in one string. Seedance reads this verbatim. Min 20 / max 1000 chars.'),
365
+ duration: z.number().refine((v) => TEXT_TO_VIDEO_DURATIONS.includes(v), { message: 'duration must be 5, 10, or 15' }).optional().default(10).describe('Video duration in seconds. Valid: 5, 10, or 15.'),
366
+ aspect_ratio: z.enum(TEXT_TO_VIDEO_RATIOS).optional().default('9:16').describe('Output aspect ratio. 9:16 portrait (TikTok / Reels / Shorts), 1:1 square (feed posts), 16:9 landscape (YouTube / X / LinkedIn). Default 9:16.'),
367
+ generate_audio: z.boolean().optional().default(true).describe('Whether Seedance synthesizes synchronized audio. No extra charge.'),
368
+ webhook_url: z.string().url().optional().describe('HTTPS URL to receive a callback when the job completes or fails.'),
369
+ /** When set, on completion the webhook-provider fans the rendered MP4
370
+ * out to these Postiz integrations (X, LinkedIn, etc.). Use the IDs
371
+ * returned from GET /v1/integrations/postiz/accounts. */
372
+ postiz_integration_ids: z.array(z.string()).optional().describe('Postiz integration IDs to auto-publish to once the video is rendered. Get them from GET /v1/integrations/postiz/accounts.'),
373
+ /** How to compose the social caption. 'static' = use `caption` verbatim. 'ai' = Claude writes one using `caption_guidance` as bias. */
374
+ caption_mode: z.enum(['ai', 'static']).optional().default('static').describe("Caption mode for auto-publish. 'static' (default) uses the literal `caption` string. 'ai' has Claude Opus generate one each time, biased by `caption_guidance`."),
375
+ caption: z.string().min(1).max(2000).optional().describe('Literal caption text for the social post. Only used when caption_mode is omitted or "static".'),
376
+ caption_guidance: z.string().min(1).max(1000).optional().describe('Tone / hashtag / length hints for the AI caption writer. Only used when caption_mode is "ai".'),
377
+ });
378
+ // ── Step 1 of 3: Character Sheet generation ─────────────────────────────────
379
+ //
380
+ // POST /v1/character/sheet-generate. Async — returns 202 + job_id.
381
+ // Pricing: 12 credits ($0.12) for actor/reference (1 gpt-image-2 call),
382
+ // 20 credits ($0.20) for description-only (paint portrait + sheet).
383
+ export const CharacterSheetSchema = z.object({
384
+ description: z.string().min(3).max(400).optional().describe('Free-text description of the character (e.g. "Marco, a 35yo Italian chef with curly black hair, white uniform"). When provided alongside a reference image, it adds context. When provided alone (no actor_slug, no reference_image_url), the worker first paints a portrait via gpt-image-2 text-to-image, then turns it into the sheet.'),
385
+ actor_slug: z.string().min(1).optional().describe('Slug of an actor from the agent-media library. The actor\'s portrait is used as the reference image. List actors via GET /v1/actors. Mutually exclusive with reference_image_url.'),
386
+ reference_image_url: z.string().url().optional().describe('Public HTTPS URL of a portrait/reference image (PNG/JPEG/WebP, <5MB recommended). Mutually exclusive with actor_slug.'),
387
+ session_id: z.string().uuid().optional().describe('Optional UUID linking the three pipeline steps. Same value across calls makes inserts idempotent.'),
388
+ }).refine((v) => Boolean(v.description) || Boolean(v.actor_slug) || Boolean(v.reference_image_url), { message: 'Provide at least one of: description, actor_slug, or reference_image_url' }).refine((v) => !(v.actor_slug && v.reference_image_url), { message: 'actor_slug and reference_image_url are mutually exclusive' });
389
+ // ── Step 2 of 3: Storyboard generation ──────────────────────────────────────
390
+ //
391
+ // POST /v1/character/storyboard-generate. Async — returns 202 + job_id.
392
+ // Pricing: 12 credits ($0.12).
393
+ // Provide EITHER `beats` (3-10 short strings, gpt-image-2 paints them as
394
+ // numbered panels) OR `script` (free-text up to 1500 chars; gpt-image-2
395
+ // splits it into 4-6 panels itself).
396
+ export const STORYBOARD_RATIOS = ['9:16', '16:9', '1:1'];
397
+ export const CharacterStoryboardSchema = z.object({
398
+ character_sheet_url: z.string().url().describe('Public HTTPS URL of the character sheet PNG (from /v1/character/sheet-generate). Used as the visual reference so the character stays on-model across panels.'),
399
+ beats: z.array(z.string().min(3).max(200)).min(3).max(10).optional().describe('Ordered list of 3-10 short beat descriptions, one per panel (e.g. ["Marco walks into kitchen", "pulls bread from oven", "takes a bite", "thumbs up"]). Mutually exclusive with `script`.'),
400
+ script: z.string().min(10).max(1500).optional().describe('Free-text script (10-1500 chars). gpt-image-2 splits it into 4-6 sequential panels itself. Mutually exclusive with `beats`.'),
401
+ ratio: z.enum(STORYBOARD_RATIOS).optional().default('9:16').describe('Storyboard sheet aspect ratio. Default 9:16.'),
402
+ session_id: z.string().uuid().optional().describe('Optional UUID linking the three pipeline steps.'),
403
+ }).refine((v) => Boolean(v.beats) !== Boolean(v.script), { message: 'Provide exactly one of: beats or script' });
404
+ // ── Helper: AI-suggested beats ─────────────────────────────────────────────
405
+ //
406
+ // POST /v1/character/storyboard-suggest. Sync — returns immediately.
407
+ // No credits. Returns 3 distinct beat-sequence options for the wizard.
408
+ export const StoryboardSuggestSchema = z.object({
409
+ actor_slug: z.string().min(1).optional().describe('Library actor whose persona drives the suggestions. Mutually exclusive with character_description.'),
410
+ character_description: z.string().min(1).max(200).optional().describe('1-200 char description of the character. Mutually exclusive with actor_slug.'),
411
+ vibe: z.string().min(1).max(200).optional().describe('Optional vibe note that biases all 3 options (e.g. "wholesome", "chaotic", "cinematic").'),
412
+ duration: z.number().refine((v) => v === 5 || v === 10, { message: 'duration must be 5 or 10' }).optional().default(10),
413
+ n_panels: z.number().int().min(4).max(10).optional().default(6).describe('Panels per option (the storyboard sheet will be an n_panels-panel grid).'),
414
+ }).refine((v) => Boolean(v.actor_slug) !== Boolean(v.character_description), { message: 'Provide exactly one of: actor_slug or character_description' });
255
415
  //# sourceMappingURL=video.js.map
package/dist/video.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,38 +1,48 @@
1
1
  {
2
2
  "name": "@agentmedia/schema",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "description": "Type-safe schema definitions for AI UGC video generation — enums, Zod validation, and generator registry. Single source of truth for the agent-media platform.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
7
7
  "homepage": "https://agent-media.ai/docs/api-reference",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "git+https://github.com/yuvalsuede/agent-media.git",
10
+ "url": "git+https://github.com/gitroomhq/agent-media.git",
11
11
  "directory": "packages/schema"
12
12
  },
13
13
  "keywords": [
14
- "ugc", "video-generation", "ai", "schema", "zod", "validation",
15
- "typescript", "sdk", "developer-tools", "text-to-video", "talking-head",
16
- "product-video", "product-ugc", "openapi", "mcp", "agent-media"
14
+ "ugc",
15
+ "video-generation",
16
+ "ai",
17
+ "schema",
18
+ "zod",
19
+ "validation",
20
+ "typescript",
21
+ "sdk",
22
+ "developer-tools",
23
+ "text-to-video",
24
+ "talking-head",
25
+ "product-video",
26
+ "product-ugc",
27
+ "openapi",
28
+ "mcp",
29
+ "agent-media"
17
30
  ],
18
- "publishConfig": { "access": "public" },
31
+ "publishConfig": {
32
+ "access": "public"
33
+ },
19
34
  "main": "./dist/index.js",
20
35
  "types": "./dist/index.d.ts",
21
36
  "exports": {
22
37
  ".": {
23
38
  "types": "./dist/index.d.ts",
24
39
  "import": "./dist/index.js"
40
+ },
41
+ "./v2": {
42
+ "types": "./dist/v2/index.d.ts",
43
+ "import": "./dist/v2/index.js"
25
44
  }
26
45
  },
27
- "scripts": {
28
- "build": "tsc",
29
- "typecheck": "tsc --noEmit",
30
- "test": "vitest run",
31
- "generate:edge-schema": "tsx scripts/generate-edge-schema.ts",
32
- "generate:openapi": "tsx scripts/generate-openapi.ts",
33
- "check:spec": "tsx scripts/check-spec-freshness.ts",
34
- "check:sdk-types": "npx openapi-typescript ../../generated/openapi.json -o ../../generated/api-types.d.ts && echo '✓ SDK types generated'"
35
- },
36
46
  "dependencies": {
37
47
  "zod": "^3.23.0",
38
48
  "zod-to-json-schema": "^3.25.2"
@@ -42,5 +52,15 @@
42
52
  "tsx": "^4.19.0",
43
53
  "typescript": "^5.7.3",
44
54
  "vitest": "^3.1.0"
55
+ },
56
+ "scripts": {
57
+ "build": "tsc",
58
+ "typecheck": "tsc --noEmit",
59
+ "test": "vitest run",
60
+ "generate:edge-schema": "tsx scripts/generate-edge-schema.ts",
61
+ "generate:openapi": "tsx scripts/generate-openapi.ts",
62
+ "gen:v2-docs": "tsx scripts/generate-v2-docs.ts",
63
+ "check:spec": "tsx scripts/check-spec-freshness.ts",
64
+ "check:sdk-types": "npx openapi-typescript ../../generated/openapi.json -o ../../generated/api-types.d.ts && echo '✓ SDK types generated'"
45
65
  }
46
- }
66
+ }
@@ -21,7 +21,7 @@ const outputPath = resolve(outputDir, 'openapi.json');
21
21
  const FIELD_DESCRIPTIONS: Record<string, string> = {
22
22
  script: 'Narration script for the video. Must be 50-3000 characters. Either script or prompt is required.',
23
23
  prompt: 'AI generates a script from this description. 1-1000 characters. Either script or prompt is required.',
24
- product_url: 'Product URL for context during AI script generation.',
24
+ product_url: 'SaaS product URL for context during AI script generation.',
25
25
  actor_slug: 'AI actor slug for talking head. Run GET /v1/actors to browse. Example: "sofia", "marcus".',
26
26
  persona_slug: 'Custom persona slug (cloned voice + face). Mutually exclusive with actor_slug.',
27
27
  face_photo_url: 'Direct URL to a face photo. Mutually exclusive with actor_slug.',
@@ -33,7 +33,7 @@ const FIELD_DESCRIPTIONS: Record<string, string> = {
33
33
  music: 'Background music genre.',
34
34
  cta: 'End screen call-to-action text. Max 100 characters. Example: "Follow for more".',
35
35
  aspect_ratio: 'Video aspect ratio.',
36
- template: 'Script structure template. Options: monologue, testimonial, product-review, problem-solution, saas-review, before-after, listicle, product-demo.',
36
+ template: 'Script structure template. Options: monologue, testimonial, problem-solution, saas-review, before-after, listicle, product-demo.',
37
37
  composition_mode: 'Set to "pip" for picture-in-picture overlay mode.',
38
38
  allow_broll: 'Enable AI-generated B-roll cutaway scenes mixed with talking head.',
39
39
  broll_model: 'Deprecated. Backend auto-selects the best model. Accepted but ignored.',
@@ -60,7 +60,7 @@ const FIELD_DESCRIPTIONS: Record<string, string> = {
60
60
 
61
61
  const paths: Record<string, unknown> = {};
62
62
 
63
- for (const [id, gen] of Object.entries(GENERATORS)) {
63
+ for (const [id, gen] of Object.entries(GENERATORS).filter(([, gen]) => !(gen as { legacy?: boolean }).legacy)) {
64
64
  const jsonSchema = zodToJsonSchema(gen.inputSchema, {
65
65
  name: `${id}_input`,
66
66
  $refStrategy: 'none',
@@ -106,7 +106,7 @@ for (const [id, gen] of Object.entries(GENERATORS)) {
106
106
  } : id === 'subtitle' ? {
107
107
  video_url: 'https://example.com/video.mp4',
108
108
  style: 'hormozi',
109
- } : id === 'product_review' ? {
109
+ } : id === 'saas_review' ? {
110
110
  product_url: 'https://example.com/product',
111
111
  angle: 'honest',
112
112
  actor_slug: 'marcus',
@@ -132,7 +132,7 @@ for (const [id, gen] of Object.entries(GENERATORS)) {
132
132
  {
133
133
  lang: 'curl',
134
134
  label: 'cURL',
135
- source: `curl -X POST https://api-v2-production-2f24.up.railway.app/v1/generate/ugc_video \\
135
+ source: `curl -X POST https://api.agent-media.ai/v1/generate/ugc_video \\
136
136
  -H "Authorization: Bearer ma_YOUR_KEY" \\
137
137
  -H "Content-Type: application/json" \\
138
138
  -d '{
@@ -220,23 +220,47 @@ console.log(video.video_url);`,
220
220
  paths['/v1/actors'] = {
221
221
  get: {
222
222
  operationId: 'listActors',
223
- summary: 'List available AI actors for talking head videos',
224
- description: 'Returns all available actors with their slugs, names, portrait URLs, and demographic info. Use the slug in the actor_slug field when generating videos.',
223
+ summary: 'List actors with filters, or look up a single actor by slug',
224
+ description:
225
+ 'Public endpoint — no API key required. Lists active actors, supports filters (gender, age_range, actor_type, preset, search), and returns a single actor when ?slug=… is provided (with similar-slug suggestions on 404). Rate limited to 60 requests/minute per IP.',
225
226
  tags: ['actors'],
226
- security: [{ bearerAuth: [] }],
227
227
  parameters: [
228
- { name: 'limit', in: 'query', required: false, schema: { type: 'integer', minimum: 1, maximum: 200, default: 50 }, description: 'Max actors to return (default 50, max 200)' },
229
- { name: 'offset', in: 'query', required: false, schema: { type: 'integer', minimum: 0, default: 0 }, description: 'Number of actors to skip for pagination' },
228
+ { name: 'gender', in: 'query', required: false, schema: { type: 'string', enum: ['female', 'male'] }, description: 'Filter by gender' },
229
+ { name: 'age_range', in: 'query', required: false, schema: { type: 'string', enum: ['18-25', '26-35', '36-50', '51+'] }, description: 'Filter by age range' },
230
+ { name: 'actor_type', in: 'query', required: false, schema: { type: 'string', enum: ['Young Adult', 'Professional', 'Mom', 'Elder', 'Casual'] }, description: 'Filter by persona type' },
231
+ { name: 'preset', in: 'query', required: false, schema: { type: 'string' }, description: 'Filter by preset tag (e.g. show_your_app)' },
232
+ { name: 'search', in: 'query', required: false, schema: { type: 'string' }, description: 'Case-insensitive substring on name' },
233
+ { name: 'slug', in: 'query', required: false, schema: { type: 'string' }, description: 'Exact slug. Returns single actor or 404 with similar-slug suggestions. Other filters and pagination are ignored.' },
234
+ { name: 'limit', in: 'query', required: false, schema: { type: 'integer', minimum: 1, maximum: 500, default: 500 }, description: 'Page size (ignored when slug is set). Default 500 — large enough to return the full active library in one call.' },
235
+ { name: 'offset', in: 'query', required: false, schema: { type: 'integer', minimum: 0, default: 0 }, description: 'Page offset (ignored when slug is set)' },
230
236
  ],
231
237
  responses: {
232
238
  '200': {
233
- description: 'List of available actors',
239
+ description: 'Actor list (when slug is omitted) or single actor (when slug is given).',
234
240
  content: {
235
241
  'application/json': {
236
- schema: { $ref: '#/components/schemas/ActorList' },
242
+ schema: { oneOf: [{ $ref: '#/components/schemas/ActorList' }, { $ref: '#/components/schemas/ActorSingle' }] },
237
243
  example: {
238
244
  actors: [
239
- { id: '06fbedfb-853c-43e0-8065-61f7ff953a86', slug: 'sofia', name: 'Sofia', portrait_url: 'https://example.com/sofia.png', age: 32, gender: 'female', nationality: 'Latina' },
245
+ {
246
+ id: '66ac63f6-1be0-4c70-9914-c8ed90208be0',
247
+ slug: 'aaliyah',
248
+ name: 'Aaliyah',
249
+ gender: 'female',
250
+ age: 28,
251
+ age_range: '26-35',
252
+ nationality: 'African American',
253
+ actor_type: 'Professional',
254
+ style: 'Confident, poised, thoughtful presence',
255
+ portrait_url: 'https://example.com/aaliyah.png',
256
+ green_screen_url: 'https://example.com/aaliyah-gs.png',
257
+ voice_id: 'cgSgspJ2msm6clMCkdW9',
258
+ voice_gender: 'female',
259
+ lip_sync_engine: 'aurora',
260
+ preset: null,
261
+ presets: ['show_your_app'],
262
+ status: 'active',
263
+ },
240
264
  ],
241
265
  total: 200,
242
266
  limit: 50,
@@ -245,8 +269,13 @@ paths['/v1/actors'] = {
245
269
  },
246
270
  },
247
271
  },
248
- '401': {
249
- description: 'Unauthorized',
272
+ '404': {
273
+ description: 'Slug lookup miss. Includes a similar-slug suggestion list.',
274
+ content: { 'application/json': { schema: { $ref: '#/components/schemas/Error' } } },
275
+ },
276
+ '429': {
277
+ description: 'Rate limited',
278
+ headers: { 'Retry-After': { schema: { type: 'integer' } } },
250
279
  content: { 'application/json': { schema: { $ref: '#/components/schemas/Error' } } },
251
280
  },
252
281
  },
@@ -279,7 +308,7 @@ paths['/v1/videos/{jobId}'] = {
279
308
  job_id: '9ba7ff45-b161-4aba-b14c-fd87d7e19a77',
280
309
  status: 'completed',
281
310
  progress: {},
282
- video_url: 'https://pub-16e2ed8f6be84691845e91436920ce0a.r2.dev/generation-outputs/.../ugc-final.mp4',
311
+ video_url: 'https://media.agent-media.ai/generation-outputs/.../ugc-final.mp4',
283
312
  error_message: null,
284
313
  created_at: '2026-04-11T10:00:00Z',
285
314
  updated_at: '2026-04-11T10:03:00Z',
@@ -302,7 +331,7 @@ const spec = {
302
331
  info: {
303
332
  title: 'agent-media API',
304
333
  version: '1.0.0',
305
- description: `AI UGC video production API. Generate talking head videos with lip-synced AI actors, product reviews, and styled subtitles.
334
+ description: `AI UGC video production API. Generate talking head videos with lip-synced AI actors, SaaS reviews, and styled subtitles.
306
335
 
307
336
  ## Authentication
308
337
  All endpoints require a Bearer token. Use either:
@@ -320,7 +349,7 @@ Video generation is async. POST to /v1/generate/* returns a job_id immediately.
320
349
  termsOfService: 'https://agent-media.ai/terms',
321
350
  },
322
351
  servers: [
323
- { url: 'https://api-v2-production-2f24.up.railway.app', description: 'Production' },
352
+ { url: 'https://api.agent-media.ai', description: 'Production' },
324
353
  ],
325
354
  paths,
326
355
  components: {
@@ -390,31 +419,51 @@ Video generation is async. POST to /v1/generate/* returns a job_id immediately.
390
419
  },
391
420
  required: ['job_id', 'status'],
392
421
  },
422
+ Actor: {
423
+ type: 'object',
424
+ description: 'A single AI actor record from the actor library.',
425
+ properties: {
426
+ id: { type: 'string', format: 'uuid' },
427
+ slug: { type: 'string', description: 'Use this in actor_slug when generating videos.' },
428
+ name: { type: 'string' },
429
+ gender: { type: 'string', enum: ['female', 'male'] },
430
+ age: { type: 'integer' },
431
+ age_range: { type: 'string', enum: ['18-25', '26-35', '36-50', '51+'] },
432
+ nationality: { type: 'string' },
433
+ actor_type: { type: 'string', enum: ['Young Adult', 'Professional', 'Mom', 'Elder', 'Casual'] },
434
+ style: { type: 'string', description: 'On-camera style descriptor.' },
435
+ portrait_url: { type: 'string', format: 'uri' },
436
+ green_screen_url: { type: 'string', format: 'uri', nullable: true },
437
+ voice_id: { type: 'string', description: 'ElevenLabs voice id used by default for this actor.' },
438
+ voice_gender: { type: 'string' },
439
+ lip_sync_engine: { type: 'string' },
440
+ preset: { type: 'string', nullable: true },
441
+ presets: { type: 'array', items: { type: 'string' } },
442
+ bio_occupation: { type: 'string' },
443
+ bio_story: { type: 'string' },
444
+ bio_hobbies: { type: 'array', items: { type: 'string' } },
445
+ status: { type: 'string', enum: ['active'] },
446
+ created_at: { type: 'string', format: 'date-time' },
447
+ updated_at: { type: 'string', format: 'date-time' },
448
+ },
449
+ required: ['id', 'slug', 'name', 'portrait_url', 'gender'],
450
+ },
393
451
  ActorList: {
394
452
  type: 'object',
395
- description: 'Paginated list of available actors',
453
+ description: 'Paginated list of active actors. Returned when slug is omitted.',
396
454
  properties: {
397
- actors: {
398
- type: 'array',
399
- items: {
400
- type: 'object',
401
- properties: {
402
- id: { type: 'string', format: 'uuid' },
403
- slug: { type: 'string', description: 'Use this in actor_slug when generating videos.' },
404
- name: { type: 'string' },
405
- portrait_url: { type: 'string', format: 'uri' },
406
- age: { type: 'integer' },
407
- gender: { type: 'string' },
408
- nationality: { type: 'string' },
409
- },
410
- required: ['id', 'slug', 'name'],
411
- },
412
- },
413
- total: { type: 'integer', description: 'Total number of actors available.' },
455
+ actors: { type: 'array', items: { $ref: '#/components/schemas/Actor' } },
456
+ total: { type: 'integer', description: 'Total matching actors.' },
414
457
  limit: { type: 'integer' },
415
458
  offset: { type: 'integer' },
416
459
  },
417
- required: ['actors', 'total'],
460
+ required: ['actors', 'total', 'limit', 'offset'],
461
+ },
462
+ ActorSingle: {
463
+ type: 'object',
464
+ description: 'Single-actor response shape. Returned when slug is provided.',
465
+ properties: { actor: { $ref: '#/components/schemas/Actor' } },
466
+ required: ['actor'],
418
467
  },
419
468
  },
420
469
  },
@@ -424,4 +473,4 @@ mkdirSync(outputDir, { recursive: true });
424
473
  writeFileSync(outputPath, JSON.stringify(spec, null, 2), 'utf-8');
425
474
  console.log(`Generated: ${outputPath}`);
426
475
  console.log(`Endpoints: ${Object.keys(paths).length}`);
427
- console.log(`Generators: ${Object.keys(GENERATORS).length}`);
476
+ console.log(`Generators: ${Object.values(GENERATORS).filter((gen) => !(gen as { legacy?: boolean }).legacy).length}`);