sapiens-mcp 1.26.1 → 1.26.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.
package/dist/index.js CHANGED
@@ -198,7 +198,7 @@ Música (sapiens_musicator) é fluxo de 4 passos, EM ORDEM:
198
198
  4. get passe o trackId e fique polando o status até 'ready' (ou 'failed').
199
199
  Pular pro lyrics/render sem create, ou sem os campos, sempre falha.
200
200
 
201
- Vídeo (sapiens_video) action=create EXIGE 'model': sapiens-video-seedance | kling | wan | kling-motion | lite | fast | quality | omni. Sem model, falha de cara. O 'omni' (Gemini Omni) é SÓ text-to-video: texto vira clipe de 10s 720p com áudio nativo, ignora imagem/duração/resolução. Vídeo é o mais caro: confirme com o usuário antes. Vitrine dos demos (sem custo): sapiens_video action=demos lista seus demo films com slug; action=showcase (slug + showcase=true/false + showcaseTag + showcaseOrder) cura o mini-cinema da /conectar-claude.
201
+ Vídeo (sapiens_video) action=create EXIGE 'model': sapiens-video-seedance | kling | wan | kling-motion | lite | fast | quality | omni. Sem model, falha de cara. O 'omni' (Gemini Omni) é SÓ text-to-video: texto vira clipe de 10s 720p com áudio nativo, ignora imagem/duração/resolução. Vídeo é o mais caro: confirme com o usuário antes. Vitrine dos demos (sem custo): sapiens_video action=demos lista seus demo films com slug; action=showcase (slug + showcase=true/false + showcaseTag + showcaseOrder) cura o mini-cinema da /conectar-claude. FILMES DA CASA (Estúdio de Vídeo, tela /experimentos/films): são OUTRA coisa, três kinds na tabela videoSpecs: demo (UI clonada + câmera), aula-tour (telas reais + narração) e essay (fita-ensaio abstrata: partícula/tinta vira símbolo, com a logo explodindo no fim). Eles NÃO são gerados por este MCP: o user monta o spec na tela e um agente local (Claude Code, skill /film) produz o mp4 no repo da casa. Se o user pedir 'fita-ensaio' ou 'demo film' aqui, aponte pra tela e pro agente local.
202
202
 
203
203
  Imagem (sapiens_image) action=generate: prompt + model + aspectRatio. Referência via referenceImageUrls (galeria/Acervo/personagens) e/ou sourceImageIds. templateSlug aplica um super-prompt travado da casa.
204
204
 
@@ -220,7 +220,7 @@ Mídia no Fórum (PADRÃO, faça sempre assim): a peça vai EMBEDADA num card es
220
220
  Trilhas e Ritos de Fogo (sapiens_trilhas): 'list'/'get' pra navegar as trilhas; 'list_challenges' mostra os Ritos ativos + seu status; 'claim_mission' (missionId + proofText) envia a prova pra revisão do dono — o crédito em Sinapses sai na aprovação dele, não na hora. Não prometa Sinapse na hora do claim.
221
221
 
222
222
  Voz da casa: 1ª pessoa, direto, anti-corporate, sem travessão. Pra bom entendedor, meia palavra basta.`;
223
- const server = new Server({ name: "mcp-sapiens", version: "1.26.1" }, { capabilities: { tools: {} }, instructions: SAPIENS_INSTRUCTIONS });
223
+ const server = new Server({ name: "mcp-sapiens", version: "1.26.2" }, { capabilities: { tools: {} }, instructions: SAPIENS_INSTRUCTIONS });
224
224
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
225
225
  tools: Object.entries(TOOLS).map(([name, t]) => ({
226
226
  name,
@@ -253,4 +253,4 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
253
253
  });
254
254
  const transport = new StdioServerTransport();
255
255
  await server.connect(transport);
256
- console.error("mcp-sapiens v1.26.1 rodando via stdio (27 tools)");
256
+ console.error("mcp-sapiens v1.26.2 rodando via stdio (27 tools)");
@@ -17,7 +17,7 @@ export const studiosSchema = z.object({
17
17
  .enum(["list", "get", "publishable_url", "mine", "emancipar", "module"])
18
18
  .describe("mine = o SEU studio ('Meu Studio', singular): nível, marca, operador e ferramentas, pra você gerar com useStudio. list/get = catálogo de estúdios da casa. publishable_url = URL de artigo. " +
19
19
  "emancipar = INICIA a Emancipação (Nível 3 do Studio): puxa o blueprint-mestre pra VOCÊ (Claude) construir a casa PRÓPRIA do membro, na infra DELE (Vercel + Convex + domínio dele), FORA do Sapiens. Devolve a identidade do studio dele já hidratada + o índice de módulos + o guia da Fundação. " +
20
- "module = puxa o guia de UM módulo de infra pra continuar a construção (ex: fundacao, sapiens-connect, telegram, email, auth)."),
20
+ "module = puxa o guia de UM módulo de infra pra continuar a construção (ex: fundacao, sapiens-connect, midia, telegram, email, auth)."),
21
21
  studio: z
22
22
  .string()
23
23
  .optional()
@@ -25,7 +25,7 @@ export const studiosSchema = z.object({
25
25
  module: z
26
26
  .string()
27
27
  .optional()
28
- .describe("Pra action=module: slug do módulo de infra da emancipação. Prontos (com guia): fundacao, sapiens-connect, telegram, email, auth. Chegando (no índice, sem guia ainda): pagamentos, analytics."),
28
+ .describe("Pra action=module: slug do módulo de infra da emancipação. Prontos (com guia): fundacao, sapiens-connect, midia, telegram, email, auth. Chegando (no índice, sem guia ainda): pagamentos, analytics."),
29
29
  publishableId: z
30
30
  .string()
31
31
  .optional()
@@ -20,6 +20,8 @@ import { convexAction, convexQuery, convexMutation, getSessionToken } from "../c
20
20
  * - sapiens-video-wan WAN 2.5 — imagem que fala/canta (áudio+lip-sync nativo), 5/10s (i2v)
21
21
  * - sapiens-video-kling-motion Kling Motion — transfere o movimento de um vídeo pra uma imagem
22
22
  * (PRECISA de pessoa com tronco visível na imagem E no vídeo)
23
+ * - sapiens-video-shot-mimic Shot Mimic — recria o plano do vídeo de referência (câmera,
24
+ * cortes, blocking) como cena nova; personagem via role 'start'
23
25
  * - sapiens-video-lite/fast/quality Veo 3.1 (2000/5000/25000 sinapses)
24
26
  * - sapiens-video-omni Gemini Omni — texto -> vídeo 10s 720p com áudio nativo embutido.
25
27
  * SÓ text-to-video (não anima imagem: ignora references/durationSec/resolution).
@@ -35,6 +37,7 @@ const VIDEO_MODELS = [
35
37
  "sapiens-video-kling",
36
38
  "sapiens-video-wan",
37
39
  "sapiens-video-kling-motion",
40
+ "sapiens-video-shot-mimic",
38
41
  "sapiens-video-lite",
39
42
  "sapiens-video-fast",
40
43
  "sapiens-video-quality",
@@ -66,17 +69,18 @@ export const videoSchema = z.object({
66
69
  .describe("action=create: modelo de vídeo. 'sapiens-video-seedance' (cinematográfico+áudio, t2v/i2v), " +
67
70
  "'sapiens-video-kling' (anima imagem, i2v/t2v), 'sapiens-video-wan' (imagem que fala, i2v), " +
68
71
  "'sapiens-video-kling-motion' (motion transfer, precisa pessoa na imagem E no vídeo de movimento), " +
72
+ "'sapiens-video-shot-mimic' (recria o plano do vídeo de referência com seu personagem: mesma câmera, mesmos cortes; 'driving' = previs/clipe do plano, 'start' = personagem), " +
69
73
  "'sapiens-video-lite/fast/quality' (Veo 3.1), " +
70
74
  "'sapiens-video-omni' (Gemini Omni: texto -> vídeo 10s 720p com áudio nativo; SÓ t2v, ignora imagem/duração/resolução)."),
71
75
  durationSec: z
72
76
  .number()
73
77
  .optional()
74
- .describe("action=create (modelos WaveSpeed): duração em segundos. Seedance 4-15, Kling 3-15, WAN 5/10. " +
78
+ .describe("action=create (modelos WaveSpeed): duração em segundos. Seedance/Shot Mimic 4-15, Kling 3-15, WAN 5/10. " +
75
79
  "Sem isso usa a config mais barata. O preço escala com a duração."),
76
80
  resolution: z
77
81
  .enum(["480p", "720p", "1080p"])
78
82
  .optional()
79
- .describe("action=create: resolução (Seedance/WAN). Default 720p. Kling não usa (1080p nativo)."),
83
+ .describe("action=create: resolução (Seedance/WAN/Shot Mimic). Default 720p. Kling não usa (1080p nativo)."),
80
84
  audio: z
81
85
  .boolean()
82
86
  .optional()
@@ -106,7 +110,7 @@ export const videoSchema = z.object({
106
110
  .describe("'start' = imagem inicial (i2v), 'end' = frame final, 'driving' = vídeo de movimento (Motion)"),
107
111
  }))
108
112
  .optional()
109
- .describe("References em base64 (escape hatch / Motion). i2v: role 'start' (imagem). Motion: 'start' (pessoa) + 'driving' (vídeo de movimento, <=5MB). Pra frame inicial/final a partir do seu acervo, prefira start/endImage* abaixo (sem precisar de base64)."),
113
+ .describe("References em base64 (escape hatch / Motion / Shot Mimic). i2v: role 'start' (imagem). Motion: 'start' (pessoa) + 'driving' (vídeo de movimento, <=5MB). Shot Mimic: 'start' (personagem) + 'driving' (previs ou clipe do plano a imitar, <=5MB). Pra frame inicial/final a partir do seu acervo, prefira start/endImage* abaixo (sem precisar de base64)."),
110
114
  // Frame inicial/final por REFERÊNCIA (resolvido server-side, igual à imagem):
111
115
  // id da própria galeria OU url allowlist (galeria/Acervo/personagens). Mais
112
116
  // simples que mandar base64. Descubra via sapiens_reference / sapiens_gallery.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sapiens-mcp",
3
- "version": "1.26.1",
3
+ "version": "1.26.2",
4
4
  "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.",
5
5
  "type": "module",
6
6
  "bin": {