beplus-mcp 0.16.0 → 0.17.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/dist/index.js +21 -8
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -486,6 +486,7 @@ var IMAGE_MODELS = [
|
|
|
486
486
|
"google/nano-banana-2",
|
|
487
487
|
"google/nano-banana-pro",
|
|
488
488
|
"openai/gpt-image-2",
|
|
489
|
+
"openai/gpt-image-1",
|
|
489
490
|
"bytedance/seedream-5.0-lite",
|
|
490
491
|
"bytedance/seedream-5.0-pro",
|
|
491
492
|
"midjourney"
|
|
@@ -590,26 +591,28 @@ function registerGenerationTools(server, client, cfg) {
|
|
|
590
591
|
// que o modelo aceita (Seedream/nano-banana não têm limite publicado).
|
|
591
592
|
prompt: z.string().min(1).describe("Descri\xE7\xE3o da imagem desejada."),
|
|
592
593
|
model: z.enum(IMAGE_MODELS).default(DEFAULTS.imageModel).describe(
|
|
593
|
-
"nano-banana-2 = barato/r\xE1pido; nano-banana-pro = melhor qualidade; gpt-image-2 = OpenAI; seedream-5.0-lite = mais barato do cat\xE1logo, \xFAnico que chega a 4K, gera s\xE9ries e mant\xE9m o ESTILO da imagem de refer\xEAncia; seedream-5.0-pro = acabamento fotorrealista, s\xF3 at\xE9 2K \u2014 preserva o personagem da refer\xEAncia mas costuma reinterpretar o estilo (um vetor flat volta em 3D)."
|
|
594
|
+
"nano-banana-2 = barato/r\xE1pido; nano-banana-pro = melhor qualidade; gpt-image-2 = OpenAI; gpt-image-1 = OpenAI, \xDANICO que faz fundo transparente de verdade (PNG/WebP com alpha) \u2014 o gpt-image-2 N\xC3O faz, use este pra recorte/sticker; seedream-5.0-lite = mais barato do cat\xE1logo, \xFAnico que chega a 4K, gera s\xE9ries e mant\xE9m o ESTILO da imagem de refer\xEAncia; seedream-5.0-pro = acabamento fotorrealista, s\xF3 at\xE9 2K \u2014 preserva o personagem da refer\xEAncia mas costuma reinterpretar o estilo (um vetor flat volta em 3D)."
|
|
594
595
|
),
|
|
595
596
|
aspect_ratio: z.enum(ASPECT_RATIOS).optional().describe("Propor\xE7\xE3o (nano-banana). Padr\xE3o 1:1."),
|
|
596
597
|
resolution: z.enum(IMAGE_RESOLUTIONS).optional().describe("Resolu\xE7\xE3o (nano-banana): 1K/2K/4K. Padr\xE3o 1K."),
|
|
597
598
|
reference_images: z.array(z.string().min(1)).max(16).optional().describe(
|
|
598
|
-
"Imagens de refer\xEAncia (image-to-image): URL p\xFAblica OU caminho de arquivo local (o MCP faz upload pro R2 automaticamente). At\xE9 14 (nano-banana) / 16 (gpt-image-2)."
|
|
599
|
+
"Imagens de refer\xEAncia (image-to-image): URL p\xFAblica OU caminho de arquivo local (o MCP faz upload pro R2 automaticamente). At\xE9 14 (nano-banana) / 16 (gpt-image-1/2)."
|
|
599
600
|
),
|
|
600
601
|
google_search: z.boolean().optional().describe("nano-banana-2: aterra a imagem em busca web do Google (fatos atuais). Padr\xE3o false."),
|
|
601
602
|
image_search: z.boolean().optional().describe("nano-banana-2: usa busca de imagens do Google como refer\xEAncia visual. Padr\xE3o false."),
|
|
602
603
|
size: z.enum(["1024x1024", "1536x1024", "1024x1536", "auto", "1K", "2K", "3K", "4K"]).optional().describe(
|
|
603
|
-
"Tamanho. gpt-image-2: 1024x1024/1536x1024/1024x1536/auto. Seedream Lite: 2K/3K/4K (padr\xE3o 2K). Seedream Pro: 1K/2K apenas \u2014 o Pro N\xC3O faz 3K/4K."
|
|
604
|
+
"Tamanho. gpt-image-1/2: 1024x1024/1536x1024/1024x1536/auto. Seedream Lite: 2K/3K/4K (padr\xE3o 2K). Seedream Pro: 1K/2K apenas \u2014 o Pro N\xC3O faz 3K/4K."
|
|
604
605
|
),
|
|
605
606
|
batch_images: z.number().int().min(2).max(15).optional().describe(
|
|
606
607
|
"Seedream 5.0 LITE apenas: gera uma s\xE9rie de imagens relacionadas numa chamada (2-15). Cada imagem \xE9 cobrada. O Seedream Pro N\xC3O suporta \u2014 passar aqui devolve erro."
|
|
607
608
|
),
|
|
608
|
-
quality: z.enum(["low", "medium", "high", "auto"]).optional().describe("Qualidade (gpt-image-2)."),
|
|
609
|
-
background: z.enum(["opaque", "transparent", "auto"]).optional().describe(
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
609
|
+
quality: z.enum(["low", "medium", "high", "auto"]).optional().describe("Qualidade (gpt-image-1/2)."),
|
|
610
|
+
background: z.enum(["opaque", "transparent", "auto"]).optional().describe(
|
|
611
|
+
"Fundo (gpt-image-1/2). `transparent` S\xD3 funciona no gpt-image-1 e s\xF3 com output_format png/webp \u2014 o gpt-image-2 rejeita (limita\xE7\xE3o do modelo na OpenAI, n\xE3o d\xE1 pra contornar por prompt). Padr\xE3o opaque."
|
|
612
|
+
),
|
|
613
|
+
moderation: z.enum(["low", "auto"]).optional().describe("Modera\xE7\xE3o (gpt-image-1/2). Padr\xE3o low."),
|
|
614
|
+
output_format: z.enum(["png", "jpeg", "webp"]).optional().describe("Formato de sa\xEDda (gpt-image-1/2). Padr\xE3o png."),
|
|
615
|
+
output_compression: z.number().int().min(0).max(100).optional().describe("Compress\xE3o 0-100 (gpt-image-1/2, s\xF3 jpeg/webp). Padr\xE3o 90."),
|
|
613
616
|
seed: z.number().int().optional(),
|
|
614
617
|
// ── Midjourney (model="midjourney") — params completos ──
|
|
615
618
|
version: z.enum(["8.1", "7", "6.1", "6", "niji-7", "niji-6"]).optional().describe("Midjourney: vers\xE3o (padr\xE3o 8.1). --oref (character_reference) for\xE7a V7; --cref for\xE7a V6; anime = niji-7."),
|
|
@@ -660,6 +663,16 @@ function registerGenerationTools(server, client, cfg) {
|
|
|
660
663
|
} else if (args.batch_images) {
|
|
661
664
|
return errorResult("batch_images s\xF3 existe no bytedance/seedream-5.0-lite.");
|
|
662
665
|
}
|
|
666
|
+
if (args.background === "transparent") {
|
|
667
|
+
if (args.model !== "openai/gpt-image-1") {
|
|
668
|
+
return errorResult(
|
|
669
|
+
`${args.model} n\xE3o suporta fundo transparente. S\xF3 o openai/gpt-image-1 devolve PNG/WebP com canal alpha de verdade \u2014 troque o model.`
|
|
670
|
+
);
|
|
671
|
+
}
|
|
672
|
+
if (args.output_format === "jpeg") {
|
|
673
|
+
return errorResult("Fundo transparente exige output_format png ou webp \u2014 JPEG n\xE3o tem canal alpha.");
|
|
674
|
+
}
|
|
675
|
+
}
|
|
663
676
|
const reference_images = await resolveRefs(cfg, args.reference_images);
|
|
664
677
|
let style_reference;
|
|
665
678
|
if (isMidjourney && args.style_reference) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "beplus-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
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": {
|