@pixeldojo/mcp 0.23.0 → 0.24.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.
- package/README.md +1 -1
- package/dist/cli.cjs +57 -5
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +57 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +57 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +57 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1311,9 +1311,12 @@ var init_caption = __esm({
|
|
|
1311
1311
|
}
|
|
1312
1312
|
});
|
|
1313
1313
|
async function run7(input, ctx) {
|
|
1314
|
-
const { hook, callout, review, offer, end_card: card } = input;
|
|
1315
|
-
if (!hook && !callout && !review && !input.progress_bar && !offer && !card) {
|
|
1316
|
-
return {
|
|
1314
|
+
const { hook, callout, review, countdown, price_tag: price, offer, end_card: card } = input;
|
|
1315
|
+
if (!hook && !callout && !review && !input.progress_bar && !countdown && !price && !offer && !card) {
|
|
1316
|
+
return {
|
|
1317
|
+
kind: "text",
|
|
1318
|
+
text: "pixeldojo_overlay needs at least one of hook, callout, review, progress_bar, countdown, price_tag, offer or end_card."
|
|
1319
|
+
};
|
|
1317
1320
|
}
|
|
1318
1321
|
const submitted = await ctx.client.run(MODEL2, {
|
|
1319
1322
|
prompt: "",
|
|
@@ -1334,6 +1337,19 @@ async function run7(input, ctx) {
|
|
|
1334
1337
|
review_duration: review.duration_sec
|
|
1335
1338
|
} : {},
|
|
1336
1339
|
...input.progress_bar ? { progress_bar: true } : {},
|
|
1340
|
+
...countdown ? {
|
|
1341
|
+
countdown_from: countdown.from,
|
|
1342
|
+
countdown_label: countdown.label,
|
|
1343
|
+
countdown_start: countdown.start_sec,
|
|
1344
|
+
countdown_duration: countdown.duration_sec
|
|
1345
|
+
} : {},
|
|
1346
|
+
...price ? {
|
|
1347
|
+
price_now: price.now,
|
|
1348
|
+
price_was: price.was,
|
|
1349
|
+
price_label: price.label,
|
|
1350
|
+
price_start: price.start_sec,
|
|
1351
|
+
price_duration: price.duration_sec
|
|
1352
|
+
} : {},
|
|
1337
1353
|
...offer ? {
|
|
1338
1354
|
offer_text: offer.text,
|
|
1339
1355
|
offer_subtext: offer.subtext,
|
|
@@ -1384,6 +1400,19 @@ var init_overlay = __esm({
|
|
|
1384
1400
|
duration_sec: zod.z.number().min(1).max(10).optional()
|
|
1385
1401
|
}).optional(),
|
|
1386
1402
|
progress_bar: zod.z.boolean().optional(),
|
|
1403
|
+
countdown: zod.z.object({
|
|
1404
|
+
from: zod.z.string(),
|
|
1405
|
+
label: zod.z.string().max(16).optional(),
|
|
1406
|
+
start_sec: zod.z.number().min(0).optional(),
|
|
1407
|
+
duration_sec: zod.z.number().min(1).max(10).optional()
|
|
1408
|
+
}).optional(),
|
|
1409
|
+
price_tag: zod.z.object({
|
|
1410
|
+
now: zod.z.string().max(12),
|
|
1411
|
+
was: zod.z.string().max(12).optional(),
|
|
1412
|
+
label: zod.z.string().max(16).optional(),
|
|
1413
|
+
start_sec: zod.z.number().min(0).optional(),
|
|
1414
|
+
duration_sec: zod.z.number().min(1).max(10).optional()
|
|
1415
|
+
}).optional(),
|
|
1387
1416
|
offer: zod.z.object({
|
|
1388
1417
|
text: zod.z.string().max(24),
|
|
1389
1418
|
subtext: zod.z.string().max(40).optional(),
|
|
@@ -1438,6 +1467,29 @@ var init_overlay = __esm({
|
|
|
1438
1467
|
}
|
|
1439
1468
|
},
|
|
1440
1469
|
progress_bar: { type: "boolean", description: "A thin bar in the brand color across the top that fills as the video plays." },
|
|
1470
|
+
countdown: {
|
|
1471
|
+
type: "object",
|
|
1472
|
+
description: "Urgency timer under the offer badge; the digits tick down each second.",
|
|
1473
|
+
required: ["from"],
|
|
1474
|
+
properties: {
|
|
1475
|
+
from: { type: "string", description: 'Start time, "23:59:59" or "04:59".' },
|
|
1476
|
+
label: { type: "string", maxLength: 16, description: 'Words above the timer. Default "Ends in".' },
|
|
1477
|
+
start_sec: { type: "number", description: "Default just after the hook." },
|
|
1478
|
+
duration_sec: { type: "number", minimum: 1, maximum: 10, description: "Default 4." }
|
|
1479
|
+
}
|
|
1480
|
+
},
|
|
1481
|
+
price_tag: {
|
|
1482
|
+
type: "object",
|
|
1483
|
+
description: "Tilted sticker on the left: new price big, old price struck through.",
|
|
1484
|
+
required: ["now"],
|
|
1485
|
+
properties: {
|
|
1486
|
+
now: { type: "string", maxLength: 12, description: 'e.g. "$49".' },
|
|
1487
|
+
was: { type: "string", maxLength: 12, description: 'Old price, struck through, e.g. "$79".' },
|
|
1488
|
+
label: { type: "string", maxLength: 16, description: 'e.g. "Today only".' },
|
|
1489
|
+
start_sec: { type: "number", description: "Default just after the hook." },
|
|
1490
|
+
duration_sec: { type: "number", minimum: 1, maximum: 10, description: "Default 4." }
|
|
1491
|
+
}
|
|
1492
|
+
},
|
|
1441
1493
|
offer: {
|
|
1442
1494
|
type: "object",
|
|
1443
1495
|
description: "Offer callout: a badge that pops in on cue (after the hook when there is one).",
|
|
@@ -1466,7 +1518,7 @@ var init_overlay = __esm({
|
|
|
1466
1518
|
};
|
|
1467
1519
|
overlaySkill = {
|
|
1468
1520
|
name: "pixeldojo_overlay",
|
|
1469
|
-
description: 'Add short-form ad text layouts to a finished video, exact text in the brand color, clear of the TikTok/Reels/Shorts UI: hook (title over the first seconds), callout (lower-third label), review (stars, quote, name), progress_bar, offer ("50% OFF" badge) and end_card (logo, headline, button, web address over the held last frame). Pass video_url plus any of them; one call does all. 2 credits.',
|
|
1521
|
+
description: 'Add short-form ad text layouts to a finished video, exact text in the brand color, clear of the TikTok/Reels/Shorts UI: hook (title over the first seconds), callout (lower-third label), review (stars, quote, name), progress_bar, countdown (ticking timer), price_tag (new price, old one struck through), offer ("50% OFF" badge) and end_card (logo, headline, button, web address over the held last frame). Pass video_url plus any of them; one call does all. 2 credits.',
|
|
1470
1522
|
inputZod: InputSchema7,
|
|
1471
1523
|
inputJsonSchema: InputJsonSchema7,
|
|
1472
1524
|
allowedModels: [MODEL2],
|
|
@@ -3955,7 +4007,7 @@ function makeRedactedLogger(target = console) {
|
|
|
3955
4007
|
}
|
|
3956
4008
|
|
|
3957
4009
|
// src/server.ts
|
|
3958
|
-
var PACKAGE_VERSION = "0.
|
|
4010
|
+
var PACKAGE_VERSION = "0.24.0" ;
|
|
3959
4011
|
var SERVER_INSTRUCTIONS = "Pixel Dojo generates images, video, audio and short films from one catalog of AI models, billed in credits from the connected Pixel Dojo account. A job that runs past the 30-second wait returns a jobId to check later; check it rather than submitting again, since every new submission is charged. Generated asset URLs are deleted one hour after they are created: pixeldojo_save keeps one in the user's My Media permanently (after a safety check), and finished films stay in the account library. In any prompt, @Name uses a character, product, outfit, location, prop or style the user saved in Character Studio: its photos are attached automatically. pixeldojo_library source=characters lists them, and pixeldojo_save_character saves a new one from 3 to 5 photos.";
|
|
3960
4012
|
function buildServer(options) {
|
|
3961
4013
|
if (!options.apiKey) {
|