beplus-mcp 0.17.0 → 0.17.2

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 (2) hide show
  1. package/dist/index.js +29 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -494,6 +494,7 @@ var IMAGE_MODELS = [
494
494
  var SEEDREAM_LITE_SIZES = ["2K", "3K", "4K"];
495
495
  var SEEDREAM_PRO_SIZES = ["1K", "2K"];
496
496
  var VIDEO_MODELS = [
497
+ "bytedance/seedance-2.5",
497
498
  "bytedance/seedance-2.0",
498
499
  "bytedance/seedance-2.0-fast",
499
500
  "bytedance/seedance-2.0-mini",
@@ -821,11 +822,13 @@ ${BUDGET_BLOCKED_GUIDANCE}`);
821
822
  // Sem teto local — ver nota em generate_image. O Seedance não publica
822
823
  // limite; o Kling publica 2500 e o backend recusa dizendo quanto cortar.
823
824
  prompt: z.string().min(1).describe("Descri\xE7\xE3o do v\xEDdeo desejado."),
824
- model: z.enum(VIDEO_MODELS).default(DEFAULTS.videoModel).describe("seedance-2.0-fast = barato/r\xE1pido; seedance-2.0 = melhor; kling-v3-video = alternativa."),
825
+ model: z.enum(VIDEO_MODELS).default(DEFAULTS.videoModel).describe(
826
+ "seedance-2.0-fast = barato/r\xE1pido; seedance-2.5 = at\xE9 30s num take e 50 refs (m\xE1x 720p); seedance-2.0 = \xFAnico com 1080p/4K; kling-v3-video = alternativa."
827
+ ),
825
828
  aspect_ratio: z.enum(ASPECT_RATIOS).optional().describe("Propor\xE7\xE3o. Padr\xE3o 16:9."),
826
- resolution: z.enum(VIDEO_RESOLUTIONS).optional().describe("480p/720p/1080p/4K (1080p/4K S\xD3 no seedance-2.0 standard; fast e mini aceitam apenas 480p/720p). Padr\xE3o 720p."),
829
+ resolution: z.enum(VIDEO_RESOLUTIONS).optional().describe("480p/720p/1080p/4K (1080p/4K S\xD3 no seedance-2.0 standard; 2.5, fast e mini aceitam apenas 480p/720p). Padr\xE3o 720p."),
827
830
  duration: z.number().int().min(3).max(60).optional().describe(
828
- "Dura\xE7\xE3o em segundos. Seedance 2.0/2.0-fast: 4\u201315 (granular). Kling: 5 ou 10. O backend valida por modelo \u2014 consulte list_models p/ os valores aceitos. Padr\xE3o 5."
831
+ "Dura\xE7\xE3o em segundos. Seedance 2.5: 4\u201330 (granular). Seedance 2.0/2.0-fast: 4\u201315. Kling: 5 ou 10. O backend valida por modelo \u2014 consulte list_models p/ os valores aceitos. Padr\xE3o 5."
829
832
  ),
830
833
  negative_prompt: z.string().max(2500).optional().describe("O que evitar no v\xEDdeo (Kling)."),
831
834
  mode: z.enum(["standard", "pro"]).optional().describe("Qualidade de gera\xE7\xE3o (Kling): standard ou pro."),
@@ -845,11 +848,19 @@ ${BUDGET_BLOCKED_GUIDANCE}`);
845
848
  },
846
849
  async (args) => {
847
850
  try {
848
- if ((args.model === "bytedance/seedance-2.0-mini" || args.model === "bytedance/seedance-2.0-fast") && args.resolution && args.resolution !== "480p" && args.resolution !== "720p") {
851
+ if ((args.model === "bytedance/seedance-2.0-mini" || args.model === "bytedance/seedance-2.0-fast" || args.model === "bytedance/seedance-2.5") && args.resolution && args.resolution !== "480p" && args.resolution !== "720p") {
849
852
  return errorResult(
850
853
  `${args.model} s\xF3 suporta 480p ou 720p (voc\xEA pediu ${args.resolution}). Use seedance-2.0 (standard) para 1080p/4K.`
851
854
  );
852
855
  }
856
+ if (args.duration != null && args.duration !== -1) {
857
+ const maxDuration = args.model === "bytedance/seedance-2.5" ? 30 : 15;
858
+ if (args.model.startsWith("bytedance/") && (args.duration < 4 || args.duration > maxDuration)) {
859
+ return errorResult(
860
+ `${args.model} aceita dura\xE7\xE3o de 4 a ${maxDuration}s (voc\xEA pediu ${args.duration}s).`
861
+ );
862
+ }
863
+ }
853
864
  const firstFrame = await resolveRef(cfg, args.first_frame_image ?? args.reference_image);
854
865
  const endImage = await resolveRef(cfg, args.last_frame_image);
855
866
  const referenceImages = await resolveRefs(cfg, args.reference_images);
@@ -1634,9 +1645,22 @@ ${calls.map(callLine).join("\n\n")}`);
1634
1645
  );
1635
1646
  }
1636
1647
 
1648
+ // src/version.ts
1649
+ import { createRequire } from "module";
1650
+ var require2 = createRequire(import.meta.url);
1651
+ function readVersion() {
1652
+ try {
1653
+ const pkg = require2("../package.json");
1654
+ return pkg.version ?? "0.0.0-unknown";
1655
+ } catch {
1656
+ return "0.0.0-unknown";
1657
+ }
1658
+ }
1659
+ var VERSION = readVersion();
1660
+
1637
1661
  // src/server.ts
1638
1662
  function buildServer(cfg) {
1639
- const server = new McpServer({ name: "beplus", version: "0.8.0" });
1663
+ const server = new McpServer({ name: "beplus", version: VERSION });
1640
1664
  const client = new BeplusClient(cfg);
1641
1665
  registerGenerationTools(server, client, cfg);
1642
1666
  registerAudioTools(server, client, cfg);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beplus-mcp",
3
- "version": "0.17.0",
3
+ "version": "0.17.2",
4
4
  "description": "Conector MCP da equipe BePlus — gere imagens/vídeos/áudio e consulte calls, projetos e clientes pela sua conta BePlus (diamantes, limites e histórico aplicados pela plataforma).",
5
5
  "type": "module",
6
6
  "bin": {