mcp-server-autoshorts 2.1.0 → 2.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.
Files changed (55) hide show
  1. package/README.md +87 -16
  2. package/dist/catalog.d.ts +1 -1
  3. package/dist/catalog.d.ts.map +1 -1
  4. package/dist/catalog.js +1 -0
  5. package/dist/catalog.js.map +1 -1
  6. package/dist/client.d.ts +2 -97
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +2 -150
  9. package/dist/client.js.map +1 -1
  10. package/dist/constants.d.ts +8 -4
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +8 -3
  13. package/dist/constants.js.map +1 -1
  14. package/dist/index.js +15 -16
  15. package/dist/index.js.map +1 -1
  16. package/dist/prompts/generate-video.d.ts.map +1 -1
  17. package/dist/prompts/generate-video.js +8 -2
  18. package/dist/prompts/generate-video.js.map +1 -1
  19. package/dist/proxy.d.ts +75 -0
  20. package/dist/proxy.d.ts.map +1 -0
  21. package/dist/proxy.js +162 -0
  22. package/dist/proxy.js.map +1 -0
  23. package/package.json +4 -2
  24. package/dist/prompts/clone-viral.d.ts +0 -6
  25. package/dist/prompts/clone-viral.d.ts.map +0 -1
  26. package/dist/prompts/clone-viral.js +0 -33
  27. package/dist/prompts/clone-viral.js.map +0 -1
  28. package/dist/tool-helpers.d.ts +0 -21
  29. package/dist/tool-helpers.d.ts.map +0 -1
  30. package/dist/tool-helpers.js +0 -27
  31. package/dist/tool-helpers.js.map +0 -1
  32. package/dist/tools/billing.d.ts +0 -7
  33. package/dist/tools/billing.d.ts.map +0 -1
  34. package/dist/tools/billing.js +0 -8
  35. package/dist/tools/billing.js.map +0 -1
  36. package/dist/tools/credits.d.ts +0 -7
  37. package/dist/tools/credits.d.ts.map +0 -1
  38. package/dist/tools/credits.js +0 -8
  39. package/dist/tools/credits.js.map +0 -1
  40. package/dist/tools/keys.d.ts +0 -8
  41. package/dist/tools/keys.d.ts.map +0 -1
  42. package/dist/tools/keys.js +0 -9
  43. package/dist/tools/keys.js.map +0 -1
  44. package/dist/tools/niches.d.ts +0 -7
  45. package/dist/tools/niches.d.ts.map +0 -1
  46. package/dist/tools/niches.js +0 -8
  47. package/dist/tools/niches.js.map +0 -1
  48. package/dist/tools/usage.d.ts +0 -7
  49. package/dist/tools/usage.d.ts.map +0 -1
  50. package/dist/tools/usage.js +0 -8
  51. package/dist/tools/usage.js.map +0 -1
  52. package/dist/tools/videos.d.ts +0 -7
  53. package/dist/tools/videos.d.ts.map +0 -1
  54. package/dist/tools/videos.js +0 -75
  55. package/dist/tools/videos.js.map +0 -1
@@ -1,75 +0,0 @@
1
- /**
2
- * Video MCP tools: generate, get status, list videos
3
- */
4
- import { z } from 'zod';
5
- import { withErrorBoundary, jsonResult } from '../tool-helpers.js';
6
- import { API_VIDEO_COST_TEXT, CHAT_MESSAGE_MAX_CHARS, CHAT_VIDEO_LANGUAGES, CREDIT_COSTS, IMAGE_TO_VIDEO_COST_TEXT, IMAGE_TO_VIDEO_IDEMPOTENCY_HINT, OPERATOR_MODE_WARNING, POLL_HINT, VIDEO_QUALITIES, VIDEO_STATUSES, } from '../catalog.js';
7
- export function registerVideoTools(server, client) {
8
- server.tool('autoshort_get_capabilities', 'Discover the video workflows AutoShort currently supports before choosing a generation tool.', {}, withErrorBoundary(async () => jsonResult({
9
- workflows: [
10
- { id: 'topic', tool: 'autoshort_generate_video', inputs: ['topic'], output: '30-90s multi-scene video' },
11
- { id: 'chat', tool: 'autoshort_generate_chat_video', inputs: ['natural-language brief'], output: '8-90s configurable video' },
12
- { id: 'product-ad', tool: 'autoshort_generate_product_ad', inputs: ['public product URL'], output: '15-90s product ad with extracted product imagery' },
13
- { id: 'image-to-video', tool: 'autoshort_generate_image_to_video', inputs: ['local JPG, PNG, or WebP', 'motion prompt'], output: '5s animated clip' },
14
- ],
15
- controls: {
16
- aspectRatios: ['9:16', '1:1', '16:9'],
17
- modes: ['FFMPEG', 'VEO_3_1_OPERATOR'],
18
- languages: [...CHAT_VIDEO_LANGUAGES],
19
- },
20
- limitations: [
21
- 'MCP does not currently provide a free-form canvas or per-shot editing.',
22
- 'MCP does not currently accept multi-image, video, or audio reference bundles.',
23
- 'MCP does not provide commerce GMV, commission, or creator-market datasets.',
24
- ],
25
- })));
26
- server.tool('autoshort_generate_video', `Generate an AI video from a topic. Returns a video ID for status polling. ${API_VIDEO_COST_TEXT} ` +
27
- `The request is refused with 402 INSUFFICIENT_CREDITS (credits needed, available, top-up URL) when the balance is short. ${POLL_HINT}`, {
28
- topic: z.string().min(1).max(500).describe('Video topic or script idea'),
29
- niche: z.string().optional().describe('Video niche (e.g., MOTIVATIONAL, AI_FACTS, SCARY_STORIES); see autoshort_list_niches'),
30
- duration: z.number().optional().describe('Target duration in seconds: 30, 60, or 90'),
31
- artStyle: z.string().optional().describe('Art style (e.g., AUTOSHORTS, LEGO, COMIC_BOOK, DISNEY_TOON); see autoshort_list_niches'),
32
- quality: z
33
- .enum(VIDEO_QUALITIES)
34
- .optional()
35
- .describe("Output resolution. Omit to use the plan's resolution (FREE: HD_720, paid: FULL_HD_1080). Asking for more than the plan renders returns 403 QUALITY_NOT_IN_PLAN."),
36
- }, withErrorBoundary(async (params) => jsonResult(await client.generateVideo(params))));
37
- server.tool('autoshort_generate_chat_video', `Create a video from a natural-language creative brief. Use this for detailed direction, format, language, and duration controls. ` +
38
- `Costs ${CREDIT_COSTS.videoStandard} credits with the default voice (+${CREDIT_COSTS.elevenLabsVoice} if ElevenLabs narrates). ${POLL_HINT}`, {
39
- message: z.string().min(3).max(CHAT_MESSAGE_MAX_CHARS).describe('Creative brief describing the desired video'),
40
- videoProvider: z.enum(['FFMPEG', 'VEO_3_1_OPERATOR']).optional().describe('FFMPEG for fast multi-scene video; VEO_3_1_OPERATOR for cinematic quality when eligible'),
41
- artStyle: z.string().optional().describe('Art style returned by autoshort_list_niches'),
42
- aspectRatio: z.enum(['9:16', '1:1', '16:9']).optional(),
43
- language: z.enum(CHAT_VIDEO_LANGUAGES).optional().describe('Narration language. Omit to detect it from the brief.'),
44
- targetDuration: z.number().int().min(8).max(90).optional(),
45
- }, withErrorBoundary(async (params) => jsonResult(await client.generateChatVideo(params))));
46
- server.tool('autoshort_generate_product_ad', 'Create a product marketing video from a public product page. AutoShort extracts product details and images, writes the ad, and creates editable scenes.', {
47
- url: z.string().url().describe('Public product page URL'),
48
- language: z.string().optional().describe('Output language, or auto'),
49
- artStyle: z.string().optional().describe('Art style returned by autoshort_list_niches'),
50
- duration: z.number().int().min(15).max(90).optional(),
51
- }, withErrorBoundary(async (params) => jsonResult(await client.generateProductAd(params))));
52
- server.tool('autoshort_generate_image_to_video', 'Animate one local reference image into a 5-second video. The MCP server reads the file locally and uploads it to AutoShort. ' +
53
- `${IMAGE_TO_VIDEO_COST_TEXT} ${OPERATOR_MODE_WARNING} ${IMAGE_TO_VIDEO_IDEMPOTENCY_HINT}`, {
54
- imagePath: z.string().min(1).describe('Absolute path to a local JPG, PNG, or WebP file up to 10MB'),
55
- motionPrompt: z.string().min(3).max(1000).describe('Motion, camera, and scene direction'),
56
- idempotencyKey: z
57
- .string()
58
- .min(8)
59
- .max(200)
60
- .optional()
61
- .describe('Optional. Omit it and an identical image + motionPrompt is already deduplicated for ' +
62
- '24 hours, so a retry is free. Pass a distinct key only when you deliberately want a ' +
63
- 'SECOND, separately charged clip from identical inputs. The key never replaces the ' +
64
- 'image and prompt in the request identity, so reusing one key across different clips ' +
65
- 'still produces different clips.'),
66
- }, withErrorBoundary(async (params) => jsonResult(await client.generateImageToVideo(params))));
67
- server.tool('autoshort_get_video', 'Get video status and details by ID. Use after generating to check progress. ' +
68
- 'A PENDING video that cannot render returns blockedReason (e.g. INSUFFICIENT_CREDITS) with creditsNeeded, creditsAvailable and topUpUrl: stop polling and resolve it.', { id: z.string().describe('Video ID returned from generate') }, withErrorBoundary(async ({ id }) => jsonResult(await client.getVideo(id))));
69
- server.tool('autoshort_list_videos', 'List your videos with optional pagination and status filter.', {
70
- limit: z.number().int().min(1).max(100).default(20).optional().describe('Max results (1-100, default 20)'),
71
- offset: z.number().int().min(0).default(0).optional().describe('Pagination offset'),
72
- status: z.enum(VIDEO_STATUSES).optional().describe(`Filter by status: ${VIDEO_STATUSES.join(', ')}`),
73
- }, withErrorBoundary(async (params) => jsonResult(await client.listVideos(params))));
74
- }
75
- //# sourceMappingURL=videos.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"videos.js","sourceRoot":"","sources":["../../src/tools/videos.ts"],"names":[],"mappings":"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"}