sapiens-mcp 1.64.0 → 1.64.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/skills.js CHANGED
@@ -51,6 +51,8 @@ Não despeje a lista inteira de tools. O start guia.
51
51
 
52
52
  ## As quatro armadilhas
53
53
 
54
+ **0. Vídeo longo volta \`pending\`, e isso é sucesso.** Um \`sapiens_video action=create\` que demora mais que a espera síncrona responde \`{success: true, pending: true}\` SEM url: o pedido foi aceito, já cobrou, e o servidor termina sozinho. NÃO gere de novo (cobraria duas vezes): acompanhe com \`action=status\` no imageId, ou olhe a galeria depois.
55
+
54
56
  **1. Timeout que já cobrou.** Toda geração SÍNCRONA (imagem pesada, artigo, mega-gráfico, carrossel) pode estourar o teto de ~120s do cliente e voltar 'Timeout' MESMO tendo gerado e debitado. Nunca repita às cegas. Confira antes onde o resultado teria caído:
55
57
 
56
58
  | O que gerou | Onde conferir |
@@ -232,7 +234,7 @@ Duração é o que pesa aqui, não o modelo: um take de 30s em 720p passa de 40
232
234
 
233
235
  ## Os outros modelos
234
236
 
235
- - \`sapiens-video-h3\`: MiniMax H3, o mais barato por pixel da casa, com som nativo, texto ou imagem. A duração depende da resolução: \`2k\` vai até 10s, \`768p\` vai até 15s (o motor de 2K é lento demais pra 15s e o take se perderia no meio). Aceita até 9 imagens e 3 vídeos de referência, e é o caminho de take LONGO com personagem travada. Referência e frame inicial não vão juntos: escolha um. Sem \`resolution\` cai no 2k, que custa 40% mais por segundo.
237
+ - \`sapiens-video-h3\`: MiniMax H3, o mais barato por pixel da casa, com som nativo, texto ou imagem. 5 a 15s em \`2k\` ou \`768p\` (o 2K longo demora uns 9 minutos: volta \`pending\` e termina sozinho). Aceita até 9 imagens e 3 vídeos de referência, e é o caminho de take LONGO com personagem travada. Referência e frame inicial não vão juntos: escolha um. Sem \`resolution\` cai no 2k, que custa 40% mais por segundo.
236
238
  - \`sapiens-video-h3-spicy\` e \`sapiens-video-seedance-spicy\`: os mesmos motores SEM freio de conteúdo. Os dois partem de uma IMAGEM sua (não fazem texto puro), e é isso que trava a identidade: quem aparece já veio pronto na imagem, o motor só dá movimento. O H3 Spicy é o mais barato e o mais rápido da casa (250 Sinapses o segundo em 480p, 3 a 15s); o Seedance Spicy tem o peso do 2.0 e para em 10s nos tiers acima de 480p.
237
239
  - \`sapiens-video-kling\`: Kling 3.0 Pro, anima imagem, 3 a 15s, som opcional.
238
240
  - \`sapiens-video-wan\`: WAN 2.5, imagem que fala ou canta, com lip-sync, 5 ou 10s.
@@ -45,7 +45,7 @@ export const referenceSchema = z.object({
45
45
  "'videos' (seus vídeos), 'stock_video' (Banco de Vídeo da casa: clipes/B-roll prontos, aceita term/orientation/loopOnly), " +
46
46
  "'acervo' (stock + comunidade públicos de IMAGEM), 'characters' (personagens), " +
47
47
  "'depth_map' (guias de movimento: os SEUS com shadowSource='mine', ou o banco curado da casa por default), " +
48
- "'pose_map' (seu banco privado de POSE: mapa de profundidade de corpo num quadro parado, aceita term/orientation)."),
48
+ "'pose_map' (seu banco privado de POSE: mapa de profundidade de corpo num quadro parado, aceita term/orientation/people/hasObject/objeto)."),
49
49
  handle: z
50
50
  .string()
51
51
  .optional()
@@ -88,6 +88,18 @@ export const referenceSchema = z.object({
88
88
  .boolean()
89
89
  .optional()
90
90
  .describe("Só bucket 'stock_video': só clipes loopFriendly (loop limpo, bom pra fundo)."),
91
+ people: z
92
+ .enum(["solo", "dupla", "grupo"])
93
+ .optional()
94
+ .describe("Só bucket 'pose_map': quantas figuras no quadro. 'solo' (uma pessoa), 'dupla' (duas), 'grupo' (três ou mais)."),
95
+ hasObject: z
96
+ .boolean()
97
+ .optional()
98
+ .describe("Só bucket 'pose_map': true = só poses que seguram/usam algo (corda, espada, arco, bastão); false = só corpo limpo, sem adereço. Omitir = as duas."),
99
+ objeto: z
100
+ .string()
101
+ .optional()
102
+ .describe("Só bucket 'pose_map': um objeto específico ('corda', 'espada', 'arco', 'cama')."),
91
103
  mode: z
92
104
  .enum(["mine", "public"])
93
105
  .optional()
@@ -131,6 +143,9 @@ export async function reference(args) {
131
143
  loopOnly: args.loopOnly,
132
144
  mode: args.mode,
133
145
  shadowSource: args.shadowSource,
146
+ people: args.people,
147
+ hasObject: args.hasObject,
148
+ objeto: args.objeto,
134
149
  });
135
150
  let note;
136
151
  if (args.bucket === "videos") {
@@ -147,7 +162,7 @@ export async function reference(args) {
147
162
  }
148
163
  else if (args.bucket === "pose_map") {
149
164
  note =
150
- "Poses do SEU banco privado (mapa de profundidade de corpo). Use a `url` em sapiens_image referenceImageUrls pra guiar a POSE da figura, do mesmo jeito que o depth_map guia o movimento no vídeo. `thumbnailUrl` é só preview da grade. É material privado seu: a peça gerada a partir dele é geração normal e publica normal, mas a pose em si não é acervo público da casa.";
165
+ "Poses do SEU banco privado (mapa de profundidade de corpo). Use a `url` em sapiens_image referenceImageUrls pra guiar a POSE da figura, do mesmo jeito que o depth_map guia o movimento no vídeo. Cada item diz `people` (solo/dupla/grupo) e `objeto` (null = corpo limpo); pra recortar, mande people/hasObject/objeto em vez de tentar pela busca escrita. `thumbnailUrl` é só preview da grade. É material privado seu: a peça gerada a partir dele é geração normal e publica normal, mas a pose em si não é acervo público da casa.";
151
166
  }
152
167
  else if (args.bucket === "acervo" || args.bucket === "characters") {
153
168
  note =
@@ -11,6 +11,12 @@ import { httpUrl } from "../schema.js";
11
11
  * Com `templateSlug`, a RECEITA da casa embrulha a cena (estilo, arco,
12
12
  * áudio, look) e escolhe o motor: `prompt` vira só a cena e `brief`
13
13
  * preenche os campos do formato.
14
+ * TAKE LONGO VOLTA `pending: true` SEM `url`, e isso é SUCESSO, não
15
+ * falha: o pedido foi aceito, cobrado, e o servidor continua
16
+ * renderizando sozinho (o take de 30s do Seedance 2.5 leva mais que
17
+ * qualquer resposta síncrona aguenta). Nesse caso NÃO gere de novo,
18
+ * que cobraria duas vezes: acompanhe com `action=status` no imageId
19
+ * que veio junto, ou olhe a galeria depois.
14
20
  * - models: catálogo vivo dos motores ativos com a FAIXA de preço (o que uma
15
21
  * chamada sem config debita + o canto mais barato e o mais caro).
16
22
  * Sem custo, sem login.
@@ -79,11 +85,10 @@ import { httpUrl } from "../schema.js";
79
85
  * É o 1080p mais barato da casa depois do Seedance 1.0 Fast.
80
86
  * - sapiens-video-h3 MiniMax H3 — ÁUDIO nativo, frame final (role 'end'), t2v/i2v. O
81
87
  * menor custo por pixel da prateleira. Áudio vem sempre e já está
82
- * no preço (não tem toggle). A DURAÇÃO DEPENDE DA RESOLUÇÃO: em
83
- * '2k' (2560x1440) vai até 10s, em '768p' vai até 15s. Não é
84
- * escolha de catálogo, é o poll do backend: 2K de 15s leva mais
85
- * que os 8min e o kill não devolve Sinapse. Sem `resolution` cai
86
- * no 2k, que custa 40% mais por segundo.
88
+ * no preço (não tem toggle). 5 a 15s em '2k' (2560x1440) ou
89
+ * '768p'. Sem `resolution` cai no 2k, que custa 40% mais por
90
+ * segundo. O 2K de 15s demora ~9min: volta `pending` e termina
91
+ * sozinho no servidor, não gere de novo.
87
92
  * ACEITA referência desde set/2026: até 9 imagens (role 'ref') e 3
88
93
  * vídeos (role 'refvideo', somando 15s), que é o caminho de take
89
94
  * longo com personagem travada. Referência e frame inicial são
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sapiens-mcp",
3
- "version": "1.64.0",
3
+ "version": "1.64.1",
4
4
  "mcpName": "com.sapiensinteticos/sapiens",
5
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
6
  "type": "module",