sapiens-mcp 1.66.4 → 1.67.1

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/registry.js CHANGED
@@ -56,7 +56,7 @@ export const TOOLS = {
56
56
  handler: pipeline,
57
57
  },
58
58
  sapiens_image: {
59
- description: "Operações de imagem via Sapiens (Gemini, Azure gpt-image-2, Grok, Seedream/ByteDance, Veo). Sub-actions: 'generate' (gera imagem completa imediato — prompt+model+aspectRatio+size; suporta mode=edit/variation e MULTI-REFERÊNCIA: combine até 4 imagens como referência numa geração só, igual ao modal 'Selecionar Referência' do web — via referenceImageUrls (sua galeria + Acervo + personagens públicos de sapiens_character) e/ou sourceImageIds (ids da sua galeria); refs valem pros modelos robustos nano-banana-2/gpt-image-2-*/grok-2-image*/seedream-*), 'request_generation' (cria APENAS row pendente em generatedImages + debita créditos — pra modelos sapiens-video-* ANTES de sapiens_shorts/sapiens_video; whitelist, rate limit 3/min), 'compose' (combina persona+screen via Gemini pra app-demo Shorts; 25 sinapses, rate limit 10/min). generate=image one-shot, request_generation=criar row video, compose=montar start frame app-demo. TEMPLATE: passe templateSlug numa generate pra usar um super-prompt travado da casa — o `prompt` vira só a CENA (quem + pose + objeto-conceito) e o template embrulha estilo+fundo+enquadramento+ref de traço. 'retrato-sapiens-v1' = retrato editorial cartoon de um personagem no grid verde Sapiens (mesma 'mão' dos artigos); sem ref própria, injeta a Helen como âncora de traço (passar referenceImageUrls troca quem aparece). Mutuamente exclusivo com brandSlug. Sub-action 'models' (sem custo, sem login): lista o catálogo vivo (modelos ativos + preço cobrado em 1K com override admin + resolutionAdders, o adder por resolução já clampado ao teto de cada motor + maxResolution + se aceita referência) pra descobrir modelo/preço em vez de chutar. O preço de uma geração é priceSinapses + resolutionAdders[size], então 2K/4K custam MAIS que o número base: nunca cite o base como se fosse o total quando o size não for 1K. NOTA: generate é SÍNCRONA e cobra ao concluir; modelo pesado (Pro, gpt-image-2-high, Grok quality, 2K/4K) cai na REGRA DO TIMEOUT (cheque sapiens_gallery action=list antes de repetir, evita cobrança dupla).",
59
+ description: "Operações de imagem via Sapiens (Gemini, GPT Image 2 e 2.5, Grok, Seedream/ByteDance, Veo). Sub-actions: 'generate' (gera imagem completa imediato — prompt+model+aspectRatio+size; suporta mode=edit/variation e MULTI-REFERÊNCIA: combine até 4 imagens como referência numa geração só, igual ao modal 'Selecionar Referência' do web — via referenceImageUrls (sua galeria + Acervo + personagens públicos de sapiens_character) e/ou sourceImageIds (ids da sua galeria); refs valem pros modelos robustos nano-banana-2/gpt-image-2-*/grok-2-image*/seedream-*), 'request_generation' (cria APENAS row pendente em generatedImages + debita créditos — pra modelos sapiens-video-* ANTES de sapiens_shorts/sapiens_video; whitelist, rate limit 3/min), 'compose' (combina persona+screen via Gemini pra app-demo Shorts; 25 sinapses, rate limit 10/min). generate=image one-shot, request_generation=criar row video, compose=montar start frame app-demo. TEMPLATE: passe templateSlug numa generate pra usar um super-prompt travado da casa — o `prompt` vira só a CENA (quem + pose + objeto-conceito) e o template embrulha estilo+fundo+enquadramento+ref de traço. 'retrato-sapiens-v1' = retrato editorial cartoon de um personagem no grid verde Sapiens (mesma 'mão' dos artigos); sem ref própria, injeta a Helen como âncora de traço (passar referenceImageUrls troca quem aparece). Mutuamente exclusivo com brandSlug. Sub-action 'models' (sem custo, sem login): lista o catálogo vivo (modelos ativos + preço cobrado em 1K com override admin + resolutionAdders, o adder por resolução já clampado ao teto de cada motor + maxResolution + se aceita referência) pra descobrir modelo/preço em vez de chutar. O preço de uma geração é priceSinapses + resolutionAdders[size], então 2K/4K custam MAIS que o número base: nunca cite o base como se fosse o total quando o size não for 1K. NOTA: generate é SÍNCRONA e cobra ao concluir; modelo pesado (Pro, gpt-image-2-high, Grok quality, 2K/4K) cai na REGRA DO TIMEOUT (cheque sapiens_gallery action=list antes de repetir, evita cobrança dupla).",
60
60
  schema: imageSchema,
61
61
  handler: image,
62
62
  },
package/dist/skills.js CHANGED
@@ -315,7 +315,9 @@ Proibidos no prompt: "tarot card illustration", "intimate scale", "card-style po
315
315
  A lista de action=models é longa e ordenada por PREÇO, que não é a pergunta de quem vai gerar. Três campos do payload resolvem isso:
316
316
 
317
317
  - bestFor: pra que o motor serve, num vocabulário fechado (foto, anime, texto pra palavra legível na arte, personagem pra segurar a mesma pessoa, adulto). FILTRE por aqui antes de comparar preço.
318
- - family + variant: motores com a MESMA family são o mesmo motor em versão diferente (Krea 2 tem Realism, Livre e Base; Gemini tem 3 Pro e 3.1 Flash). O retorno traz um índice families já montado.
318
+ - family + variant: motores com a MESMA family são o mesmo motor em versão diferente (Krea 2 tem Realism, Livre e Base; Gemini tem 3 Pro e 3.1 Flash; GPT Image tem 2 Low, 2 High, 2.5 Flare e 2.5 Sunburst). O retorno traz um índice families já montado.
319
+
320
+ Texto legível na arte (placa, rótulo, pôster com acento): a família GPT Image é a de referência. Dentro dela, o 2.5 acerta letra pequena e acento cobrando menos que o 2 High; o Flare é o rápido, o Sunburst segura composição densa e edição em várias voltas. O preço vivo de cada um sai em action=models.
319
321
 
320
322
  O caminho: filtre por bestFor, escolha a família, e só então compare as variantes dela entre si. Trocar de família porque uma variante é mais barata costuma trocar o resultado inteiro; trocar de variante dentro da família troca preço e acabamento, não o motor.
321
323
 
@@ -326,7 +328,7 @@ Combine até 4 imagens como referência numa geração só:
326
328
  - \`referenceImageUrls\`: sua galeria, o Acervo, personagens públicos (descubra em \`sapiens_character\`).
327
329
  - \`sourceImageIds\`: ids da sua galeria.
328
330
 
329
- Refs valem pros modelos robustos (nano-banana-2, gpt-image-2-*, grok-2-image*). Use \`sapiens_reference\` pra achar a URL certa em vez de adivinhar.
331
+ Refs valem pros modelos robustos (nano-banana-2, gpt-image-2-low/high, gpt-image-2-5-flare/sunburst, grok-2-image*). Use \`sapiens_reference\` pra achar a URL certa em vez de adivinhar.
330
332
 
331
333
  ## Templates travados
332
334
 
@@ -15,6 +15,9 @@ const MODELS = [
15
15
  "nano-banana-2", // gemini-3.1-flash-image-preview (V2, Flash 3.1) · COM refs · adder até 4K · DEFAULT
16
16
  "gpt-image-2-low", // Azure gpt-image-2 quality=low
17
17
  "gpt-image-2-high", // Azure gpt-image-2 quality=high · o motor de texto legível
18
+ "gpt-image-2-5-flare", // GPT Image 2.5 Flare quality=high · o 2.5 de volume, mais rápido · COM refs
19
+ "gpt-image-2-5-sunburst", // GPT Image 2.5 Sunburst quality=high · o 2.5 de precisão e edição em várias voltas · COM refs
20
+ "mai-image-2-6", // MAI Image 2.6 (Microsoft), no mesmo recurso Foundry do gpt-image-2 · foto rápida · cobra por ÁREA, então o adder de resolução é real · teto 2K (1536²) · SEM refs
18
21
  "muse-image", // Meta Muse Image · barato na edição por referência (10 refs no catálogo, 5 pelo MCP) · sem escada de resolução · moderação apertada, não é +18
19
22
  // ByteDance via ModelArk direto. Corp/censurado, 2K nativo, COM refs (até 4).
20
23
  // (O "nova-canvas" ficava aqui e saiu: a AWS matou o modelo. Pedido antigo
@@ -75,7 +78,7 @@ export const imageSchema = z.object({
75
78
  model: z
76
79
  .enum(MODELS)
77
80
  .optional()
78
- .describe("Default 'nano-banana-2' (Flash 3.1 com refs). 'nano-banana-max' (Pro 3) = qualidade alta. 'gpt-image-2-low/high' = Azure. 'muse-image' (Muse Image, da Meta) = barato na edição por referência e bom pra segurar personagem (10 refs no catálogo; pelo MCP vale o teto de 5 do campo referenceImageUrls); sem escada de resolução (o motor decide o tamanho e cobra o mesmo) e moderação apertada, NÃO serve pra +18. 'seedream-4-5'/'seedream-5-0'/'seedream-5-0-pro' = ByteDance 2K nativo, cinematográfico, aceita até 4 referências (o 5.0 é a geração nova, entende prompt complexo melhor; o 5.0-pro é o topo da linha). 'grok-2-image'/'grok-2-image-quality' = xAI Grok Imagine da geração anterior (moderação frouxa +18, aceita refs e aspect; quality é mais fiel pra character lock); 'grok-imagine-2' = Grok Imagine Image 2.0, a geração nova de ago/2026, que é a melhor da linha integrando desenho e foto na mesma peça. DEGEN (uncensored, gate +18): 'wavespeed-chroma' (fotorrealista rápido), 'wavespeed-flux2' (Flux.2 Klein), 'wavespeed-klein-plus' (o MESMO Klein 9B com uma LoRA de ANATOMIA por cima, e é o caminho de nudez explícita com personagem travada: o Klein base desenha aréola e mamilo mas devolve a virilha lisa, e os motores que desenham a anatomia ignoram a referência. Aqui a identidade continua vindo da ref e a LoRA só preenche o que faltava; Ousadia regulável), 'wavespeed-flux-nsfw' (flux+LoRA NSFW, Ousadia regulável via loraIntensity), 'wavespeed-klein-anime' (Flux.2 Klein + LoRA anime, inteligente+controlável), 'wavespeed-klein-anime-plus' (Klein anime +18, Ousadia regulável), 'wavespeed-klein-celular' (o MESMO Klein 9B com a LoRA Phone Photography por cima: foto de celular, candid, luz de janela; no edit com a referência da personagem o rosto fica quase idêntico, e é a receita de conteúdo de perfil de criadora pra personagem FOTOGRÁFICA. Em personagem cel-shaded o edit troca o traço, então não use com a Aria. Comece o prompt com 'This is a candid photograph taken with a smartphone of' e enumere 'same face, same hair' antes da cena; sem Ousadia), 'wavespeed-krea2' (Krea 2 Livre: a MESMA base 12B das fal-krea2-*, hospedada na WaveSpeed, SEM o classificador de entrada da fal: é o caminho quando a fal devolve 422 num prompt que não tem palavra de nudez; aceita referência img2img de verdade, Ousadia regulável e 2K), 'wavespeed-krea2-base' (Krea 2 Base: a mesma base 12B da Livre SEM LoRA nenhuma, nem realismo nem NSFW; é o motor como ele é, com img2img e 2K, pra quem quer ver a base crua ou temperar com o próprio prompt; sem Ousadia, que é a LoRA que ele não carrega) = WaveSpeed rápido; 'civitai-wai-illustrious'/'civitai-nova-anime-xl' (anime), 'civitai-pony-v6' (Pony V6 XL, base nº1) = Civitai sdcpp rápido. 'civitai-anima' (Anima: 2B da CircleStone com a Comfy Org, base própria e não SDXL; entrega anime de PRODUÇÃO, linha fechada e sombra chapada, em vez do registro de ilustração dos Illustrious. O encoder é um LLM, então escreva a cena em FRASE e não em tag booru, e não cole score_9/masterpiece aqui). 'fal-krea2-realism-v2' (na tela chama Krea 2 Realism: Krea-2 Turbo 12B + LoRA de realismo, fal.ai, ~4s, pele crua e contraluz que não lava; o sufixo -v2 do id é o nome do arquivo de LoRA, não geração nova do motor) = aceita até 3 referências de ESTILO (paleta/luz/textura de uma série), não character lock; com referência a LoRA não vai junto."),
81
+ .describe("Default 'nano-banana-2' (Flash 3.1 com refs). 'nano-banana-max' (Pro 3) = qualidade alta. 'gpt-image-2-low/high' = GPT Image 2 nos tiers low e high. 'gpt-image-2-5-flare'/'gpt-image-2-5-sunburst' = GPT Image 2.5, a geração de set/2026, os dois em quality high e com referência: o Flare é o rápido, pra volume; o Sunburst é o de precisão, pra composição complexa e edição em várias voltas. 'mai-image-2-6' (MAI Image 2.6, da Microsoft) = foto rápida no mesmo recurso do gpt-image-2, e o único da casa que cobra por ÁREA: o adder de resolução aqui é real, o teto é 2K (1536², porque acima disso o provider recusa por total de pixels) e ele não aceita referência. 'muse-image' (Muse Image, da Meta) = barato na edição por referência e bom pra segurar personagem (10 refs no catálogo; pelo MCP vale o teto de 5 do campo referenceImageUrls); sem escada de resolução (o motor decide o tamanho e cobra o mesmo) e moderação apertada, NÃO serve pra +18. 'seedream-4-5'/'seedream-5-0'/'seedream-5-0-pro' = ByteDance 2K nativo, cinematográfico, aceita até 4 referências (o 5.0 é a geração nova, entende prompt complexo melhor; o 5.0-pro é o topo da linha). 'grok-2-image'/'grok-2-image-quality' = xAI Grok Imagine da geração anterior (moderação frouxa +18, aceita refs e aspect; quality é mais fiel pra character lock); 'grok-imagine-2' = Grok Imagine Image 2.0, a geração nova de ago/2026, que é a melhor da linha integrando desenho e foto na mesma peça. DEGEN (uncensored, gate +18): 'wavespeed-chroma' (fotorrealista rápido), 'wavespeed-flux2' (Flux.2 Klein), 'wavespeed-klein-plus' (o MESMO Klein 9B com uma LoRA de ANATOMIA por cima, e é o caminho de nudez explícita com personagem travada: o Klein base desenha aréola e mamilo mas devolve a virilha lisa, e os motores que desenham a anatomia ignoram a referência. Aqui a identidade continua vindo da ref e a LoRA só preenche o que faltava; Ousadia regulável), 'wavespeed-flux-nsfw' (flux+LoRA NSFW, Ousadia regulável via loraIntensity), 'wavespeed-klein-anime' (Flux.2 Klein + LoRA anime, inteligente+controlável), 'wavespeed-klein-anime-plus' (Klein anime +18, Ousadia regulável), 'wavespeed-klein-celular' (o MESMO Klein 9B com a LoRA Phone Photography por cima: foto de celular, candid, luz de janela; no edit com a referência da personagem o rosto fica quase idêntico, e é a receita de conteúdo de perfil de criadora pra personagem FOTOGRÁFICA. Em personagem cel-shaded o edit troca o traço, então não use com a Aria. Comece o prompt com 'This is a candid photograph taken with a smartphone of' e enumere 'same face, same hair' antes da cena; sem Ousadia), 'wavespeed-krea2' (Krea 2 Livre: a MESMA base 12B das fal-krea2-*, hospedada na WaveSpeed, SEM o classificador de entrada da fal: é o caminho quando a fal devolve 422 num prompt que não tem palavra de nudez; aceita referência img2img de verdade, Ousadia regulável e 2K), 'wavespeed-krea2-base' (Krea 2 Base: a mesma base 12B da Livre SEM LoRA nenhuma, nem realismo nem NSFW; é o motor como ele é, com img2img e 2K, pra quem quer ver a base crua ou temperar com o próprio prompt; sem Ousadia, que é a LoRA que ele não carrega) = WaveSpeed rápido; 'civitai-wai-illustrious'/'civitai-nova-anime-xl' (anime), 'civitai-pony-v6' (Pony V6 XL, base nº1) = Civitai sdcpp rápido. 'civitai-anima' (Anima: 2B da CircleStone com a Comfy Org, base própria e não SDXL; entrega anime de PRODUÇÃO, linha fechada e sombra chapada, em vez do registro de ilustração dos Illustrious. O encoder é um LLM, então escreva a cena em FRASE e não em tag booru, e não cole score_9/masterpiece aqui). 'fal-krea2-realism-v2' (na tela chama Krea 2 Realism: Krea-2 Turbo 12B + LoRA de realismo, fal.ai, ~4s, pele crua e contraluz que não lava; o sufixo -v2 do id é o nome do arquivo de LoRA, não geração nova do motor) = aceita até 3 referências de ESTILO (paleta/luz/textura de uma série), não character lock; com referência a LoRA não vai junto."),
79
82
  aspectRatio: z
80
83
  .enum(["1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3"])
81
84
  .optional()
package/package.json CHANGED
@@ -1,62 +1,62 @@
1
- {
2
- "name": "sapiens-mcp",
3
- "version": "1.66.4",
4
- "mcpName": "com.sapiensinteticos/sapiens",
5
- "description": "MCP server pra operar o Sapiens Sintéticos (sapiensinteticos.com) pelo Claude Code: gerar imagem, escrever artigo, voz, música e mais, na sua conta. Login pelo código de sapiensinteticos.com/conectar-claude.",
6
- "type": "module",
7
- "bin": {
8
- "sapiens-mcp": "./dist/index.js"
9
- },
10
- "exports": {
11
- "./remote": "./dist/remote.js",
12
- "./registry": "./dist/registry.js",
13
- "./resume": "./dist/resume/template.js"
14
- },
15
- "files": [
16
- "dist",
17
- "README.md"
18
- ],
19
- "engines": {
20
- "node": ">=18"
21
- },
22
- "homepage": "https://www.sapiensinteticos.com/conectar-claude",
23
- "keywords": [
24
- "mcp",
25
- "model-context-protocol",
26
- "sapiens",
27
- "claude",
28
- "claude-code",
29
- "ai",
30
- "image-generation"
31
- ],
32
- "license": "MIT",
33
- "author": "BorderLess (Sapiens Sintéticos), sapiensinteticos.com",
34
- "scripts": {
35
- "build": "tsc",
36
- "dev": "tsx src/index.ts",
37
- "start": "node dist/index.js",
38
- "pretest": "npm run build",
39
- "test": "node --test --test-force-exit test/unit.test.mjs test/server.test.mjs test/remote.test.mjs test/remote-protect.test.mjs",
40
- "prepublishOnly": "npm run build"
41
- },
42
- "repository": {
43
- "type": "git",
44
- "url": "git+https://github.com/inhabitants/sapiensinteticos.git",
45
- "directory": "tools/mcp-sapiens"
46
- },
47
- "bugs": {
48
- "url": "https://github.com/inhabitants/sapiensinteticos/issues"
49
- },
50
- "dependencies": {
51
- "@modelcontextprotocol/sdk": "^1.0.4",
52
- "convex": "^1.41.0",
53
- "mcp-handler": "^1.1.0",
54
- "zod": "^3.23.8",
55
- "zod-to-json-schema": "^3.23.5"
56
- },
57
- "devDependencies": {
58
- "@types/node": "^22.10.0",
59
- "tsx": "^4.19.2",
60
- "typescript": "^5.7.2"
61
- }
62
- }
1
+ {
2
+ "name": "sapiens-mcp",
3
+ "version": "1.67.1",
4
+ "mcpName": "com.sapiensinteticos/sapiens",
5
+ "description": "MCP server pra operar o Sapiens Sintéticos (sapiensinteticos.com) pelo Claude Code: gerar imagem, escrever artigo, voz, música e mais, na sua conta. Login pelo código de sapiensinteticos.com/conectar-claude.",
6
+ "type": "module",
7
+ "bin": {
8
+ "sapiens-mcp": "./dist/index.js"
9
+ },
10
+ "exports": {
11
+ "./remote": "./dist/remote.js",
12
+ "./registry": "./dist/registry.js",
13
+ "./resume": "./dist/resume/template.js"
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md"
18
+ ],
19
+ "engines": {
20
+ "node": ">=18"
21
+ },
22
+ "homepage": "https://www.sapiensinteticos.com/conectar-claude",
23
+ "keywords": [
24
+ "mcp",
25
+ "model-context-protocol",
26
+ "sapiens",
27
+ "claude",
28
+ "claude-code",
29
+ "ai",
30
+ "image-generation"
31
+ ],
32
+ "license": "MIT",
33
+ "author": "BorderLess (Sapiens Sintéticos), sapiensinteticos.com",
34
+ "scripts": {
35
+ "build": "tsc",
36
+ "dev": "tsx src/index.ts",
37
+ "start": "node dist/index.js",
38
+ "pretest": "npm run build",
39
+ "test": "node --test --test-force-exit test/unit.test.mjs test/server.test.mjs test/remote.test.mjs test/remote-protect.test.mjs",
40
+ "prepublishOnly": "npm run build"
41
+ },
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "git+https://github.com/inhabitants/sapiensinteticos.git",
45
+ "directory": "tools/mcp-sapiens"
46
+ },
47
+ "bugs": {
48
+ "url": "https://github.com/inhabitants/sapiensinteticos/issues"
49
+ },
50
+ "dependencies": {
51
+ "@modelcontextprotocol/sdk": "^1.0.4",
52
+ "convex": "^1.41.0",
53
+ "mcp-handler": "^1.1.0",
54
+ "zod": "^3.23.8",
55
+ "zod-to-json-schema": "^3.23.5"
56
+ },
57
+ "devDependencies": {
58
+ "@types/node": "^22.10.0",
59
+ "tsx": "^4.19.2",
60
+ "typescript": "^5.7.2"
61
+ }
62
+ }