@productmaker/mcp 11.5.6 → 11.6.3
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 +16 -3
- package/dist/http.js +6945 -6189
- package/dist/stdio.js +6959 -6203
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -138,7 +138,7 @@ separate release step.
|
|
|
138
138
|
| `list_tasks` | List recent tasks |
|
|
139
139
|
| `edit_task_draft` | Edit angle / pain point / persona before generation |
|
|
140
140
|
| `create_service_video` | **Hidden from the MCP since 9.0.0** (owner decision 2026-10-08, still on WhatsApp): use `create_animated_video` for a service video. |
|
|
141
|
-
| `create_brand` | Service journey, step 1. Brand analysis of a **service business or personal brand** from its Instagram (`@handle` works), Facebook, TikTok or website — never for dropshipping products. `action=start` without `confirmed` only prices it; with `confirmed=true` it starts (`businessNotes` = what the user told about prices, WhatsApp or area, sent as a text document). Poll `action=status` with `brandId` until `ready` (analysis summary) or `failed` (plain reason). `action=list` reuses an existing brand.
|
|
141
|
+
| `create_brand` | Service journey, step 1. Brand analysis of a **service business or personal brand** from its Instagram (`@handle` works), Facebook, TikTok or website — never for dropshipping products. `action=start` without `confirmed` only prices it; with `confirmed=true` it starts (`businessNotes` = what the user told about prices, WhatsApp or area, sent as a text document). Poll `action=status` with `brandId` until `ready` (analysis summary) or `failed` (plain reason). `action=list` reuses an existing brand. An exact complete-input retry keeps its canonical request key: pending outcomes pin it for up to 24 hours; a valid receipt retains it for 15 minutes from the first receipt. Changed URL, language or business notes are a different confirmed request. Recent URL matches are quote hints only. The bounded process cache does not survive restart. |
|
|
142
142
|
| `create_service_landing` | Service journey, step 2. Landing page of that brand: `action=prepare` (free) creates or resumes the brand's page and prices both paid steps; `action=build` with `confirmed=true` and the accepted `maxCredits` first reads the business data, then (called again) creates the page; `action=status` follows the step; `action=publish` publishes it at `/p/<slug>` and returns `publicUrl`, which feeds `create_animated_video`. The MCP handles revisions and idempotency keys itself, so a retry never pays twice. |
|
|
143
143
|
| `create_service_images` | Service journey, images. Ad images for a **service business** from its brand (`brandId` from `create_brand`), with no product photo — never for dropshipping products (`generate_image_creatives`). Without `confirmed` it only quotes (the web form's `image-creative` estimate with `subject: "service"`); with `confirmed=true` it sends `POST /v1/creatives/images` with `serviceBrief` (`instruction` or `delegateToAi`), `brandId`, `format` (4:5, 9:16, 1:1), `count` (1-3), `quality` and `language`. Follow the `taskId` with `get_task_status`. |
|
|
144
144
|
| `create_animated_video` | Prepare a service URL for free with `action=prepare` (default); poll `status` or `cancel` using `websiteCaptureId`. Show its ready preview, format, duration, language and price range, then request explicit confirmation before `action=generate` with that ID and `confirmed=true`. Generation reuses the capture and may mix motion graphics with AI clips (including people speaking, in the narrator's voice) and a voice-over, up to the duration-based clip cap. Optional `hookVariants` (1-3 versions of the opening for A/B) and `music` (false = no music bed, same price). The maximum price is charged at generation; unused AI clips, an unused voice-over, unused narrator lip syncs and undelivered hook versions are refunded at completion, and failure refunds everything. No uploaded files on MCP. Follow the returned `taskId` with `get_task_status` for progress and MP4. A blocked page requires another public URL; never request passwords. |
|
|
@@ -303,6 +303,17 @@ The `base64` field was removed. MCP JSON-RPC transports truncate large tool argu
|
|
|
303
303
|
|
|
304
304
|
## Version history
|
|
305
305
|
|
|
306
|
+
### 11.6.3 — Brand creation replay from complete input
|
|
307
|
+
|
|
308
|
+
`create_brand` sends the canonical owner-scoped Idempotency-Key for normalized
|
|
309
|
+
source, language and complete business notes, and validates the shared UUID
|
|
310
|
+
creation receipt. Pending outcomes retain the key for up to 24 hours; accepted
|
|
311
|
+
receipts retain it for 15 minutes from the first valid receipt, without extending
|
|
312
|
+
on replay. Replays use the same authenticated API identity and skip another
|
|
313
|
+
quote or confirmation. Recent URL matches are display hints only. The cache is
|
|
314
|
+
bounded to 500 entries and refuses new starts when full; it is process-local,
|
|
315
|
+
so restart or expiry can lose the pin. Backend replay remains durable per key.
|
|
316
|
+
|
|
306
317
|
### 11.5.4 — Limpieza protegida al recrear una landing de servicio
|
|
307
318
|
|
|
308
319
|
- La web usa el parámetro opcional `failedCreationOnly` en `DELETE /v1/service-pages/:id` para reemplazar una creación fallida sin borrar una landing generada ni una generación en curso.
|
|
@@ -346,12 +357,14 @@ junto a cada pieza. Los formatos y controles de generación existentes se conser
|
|
|
346
357
|
### 10.5.0 — Video animado: clips hablados con la voz del narrador y opción sin música
|
|
347
358
|
|
|
348
359
|
- `create_animated_video` acepta `music` opcional (booleano, por defecto `true`): `false` hace el video sin música de fondo (quedan la voz y los efectos), al mismo precio. Se valida con `MotionGraphicsRequestSchema`; con `true` no se envía (el valor por defecto de la API) y la clave de idempotencia no cambia; con `false` entra en la clave, porque es otro video. La confirmación lo dice y `animatedVideo` trae `music`.
|
|
349
|
-
-
|
|
360
|
+
- El director elige el perfil de Gemini para cada personaje y la narración; PixVerse sincroniza los clips hablados (como máximo 2 por video). El tope del rango suma esas sincronizaciones (`MOTION_GRAPHICS_LIPSYNC_MAX_PRICE_CENTS`) y lo que no se use se devuelve al terminar, como clips, voz y versiones; la descripción lo cuenta y sus números salen de `motionGraphicsPriceRangeCents`.
|
|
350
361
|
|
|
351
362
|
### 10.4.0 — Versiones del gancho y voz en off en el video animado
|
|
352
363
|
|
|
353
364
|
- `create_animated_video` acepta `hookVariants` opcional (1 a 3, por defecto 1): el mismo video con distintas aperturas para probar cuál funciona mejor. Se valida con `MotionGraphicsRequestSchema` de `@packages/types`; con 1 no se envía (el valor por defecto de la API) y la clave de idempotencia no cambia; con 2 o 3 entra en la clave, porque es otro pedido con otro precio.
|
|
354
|
-
-
|
|
365
|
+
- La captura ready devuelve `animatedVideoQuote` sin cobrar cuando `prepare` / `status` recibe `landingUrl` y `durationSec`: cotiza el perfil y la resolución elegidos antes de pedir confirmación.
|
|
366
|
+
- Calidad: `videoQuality` acepta `economy` / `pro` (alta por defecto); `videoResolution` acepta `480p` (por defecto), `720p` y `1080p` (solo pro). El director puede usar cero clips para un video 100% motion graphics y sigue la idea, acciones y diálogo de `notes`.
|
|
367
|
+
- Precio: la descripción muestra el rango de calidad alta a 480p por duración con una versión (el tope ya incluye la voz en off) y lo que suma cada versión extra (`MOTION_GRAPHICS_VARIANT_PRICE_CENTS`). Al terminar se devuelve lo que el video no usó: cada clip IA, la voz en off si no se usó y cada versión que no se entregó. La confirmación y `animatedVideo` traen `hookVariants` y el rango con esas versiones.
|
|
355
368
|
- `get_task_status` de un video animado lee `hookVariants` y `variantUrls` (las URLs firmadas de las versiones extra, gancho 2 y gancho 3; opcionales, un valor ilegible se descarta sin ocultar el estado) y lista el enlace de cada gancho.
|
|
356
369
|
|
|
357
370
|
### 10.3.0 — Clips IA en el video animado, con precio tope y devolución
|