sapiens_reference
O 'popup global de referência' do Sapiens. Espelha o modal 'Selecionar Referência' do gerador web: um lugar só pra navegar os bancos e pegar o que vira referência em imagem/vídeo. READ-ONLY. DUAS sub-actions: 'browse' (navega um banco) e 'resolve' (acha UM asset pelo ID citável). RESOLVE: passe handle= (img… imagem, vid_… vídeo, film_… vídeo programático, trk_… música, comic_… tirinha, char_… personagem, é o ID que o usuário copia no detalhe do item) e o servidor devolve {mine, isPublic, url, title, mediaKind} SE for seu ou público (senão recusa; nunca acessa asset privado de terceiro). Use a url retornada como referência (referenceImageUrls / startImageUrl / endImageUrl). BROWSE + bucket: 'history' (suas imagens recentes, privadas+públicas), 'favorites' (imagens que você curtiu, só as suas), 'videos' (seus vídeos / Meus Vídeos), 'stock_video' (banco de B-roll da casa, público), 'acervo' (stock + comunidade públicos; aceita term=busca e source=all|stock|community), 'characters' (personagens; mode=mine [default, inclui rascunhos] ou public [Explorar]). BUSCA POR SIGNIFICADO: em history e videos, term + semantic=true acha a peça da pessoa pelo sentido mesmo quando o prompt usou outras palavras (volta até limit, do mais parecido pro menos, com score). Paginado (page/limit, default 20, máx 50; use hasMore). Itens normalizados: imagem PRÓPRIA (history/favorites) traz imageId + url (use imageId em sapiens_image sourceImageIds ou sapiens_video startImageId/endImageId; ou a url em referenceImageUrls); acervo e characters são públicos/de terceiros, use a url (characters trazem mainImageUrl + imageUrls + characterId) em referenceImageUrls / startImageUrl / endImageUrl, NÃO em sourceImageIds. Personagens públicos também têm porta dedicada em sapiens_character action=list_public.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Só bucket 'characters': 'mine' (seus personagens, inclui rascunhos; default) ou 'public' (catálogo do Explorar). | |
| page | No | Página (default 1). Use com hasMore pra paginar. | |
| sort | No | Só bucket 'pose_map': 'recent' (entrada no banco, default) ou 'used' (as que ele acabou de usar, mais úteis pra continuar uma série). | |
| term | No | Busca escrita, vale em QUALQUER bucket. Casa por pedaço de palavra, sem acento: 'board' acha 'storyboard'. Olha prompt, título, folha, personagem e modelo nas suas imagens; prompt/título/modelo nos vídeos; nome nos personagens; prompt/tag/mood no acervo e no banco de vídeo. Pra achar UMA peça específica que você já sabe qual é, use action=resolve com o handle (img_…), é mais direto. | |
| grupo | No | Só bucket 'pose_map': a chave de um CONJUNTO (vem no campo `grupo` de cada item). Devolve as outras câmeras da MESMA pose, cada uma com seu `angulo` (frente, de-cima, de-baixo, lado, diagonal). É a cobertura de câmera: o gesto travado e a câmera andando. Com grupo, `term` é ignorado (o conjunto já é a resposta); os outros recortes valem. | |
| limit | No | Itens por página (default 20, máx 50). | |
| vista | No | Só bucket 'pose_map': de onde a câmera vê o corpo. 'costas' inclui três quartos de costas: a fronteira é peito ou costas pra câmera, que a sombra sem rosto não diz sozinha. | |
| action | Yes | 'browse' navega um bucket do acervo; 'resolve' acha UM asset pelo ID citável (handle <tipo>_<id>) e diz se é seu / público + devolve a url pra usar de referência. | |
| bucket | No | Só 'browse': qual banco navegar: 'history' (suas imagens recentes; com term+semantic acha pelo significado), 'favorites' (as que você curtiu), 'videos' (seus vídeos; idem), 'stock_video' (Banco de Vídeo da casa: clipes/B-roll prontos, aceita term/orientation/loopOnly), 'acervo' (stock + comunidade públicos de IMAGEM), 'characters' (personagens), 'depth_map' (guias de movimento: os SEUS com shadowSource='mine', ou o banco curado da casa por default), 'pose_map' (seu banco privado de POSE: mapa de profundidade de corpo num quadro parado, mais de 8 mil poses organizadas por familia/vista/camera/enquadramento/leitura; aceita também term/orientation/people/hasObject/hasSuporte/objeto/favoritesOnly/collection/sort, grupo/porPose pra mesma pose em várias câmeras, mais semantic e similarTo pra busca por sentido). | |
| camera | No | Só bucket 'pose_map': a altura da câmera. 'baixo' = de baixo pra cima (contra-plongée), 'nivel' = na altura do corpo, 'alto' = de cima (plongée). Combina com vista: vista é o giro, camera é a altura. | |
| handle | No | Só 'resolve': o ID citável do asset, formato <tipo>_<id>: img_… (imagem), vid_… (vídeo), film_… (vídeo programático), trk_… (música), comic_… (tirinha), char_… (personagem). É o ID que o usuário copia no detalhe do item. | |
| objeto | No | Só bucket 'pose_map': um objeto específico ('corda', 'espada', 'arco', 'cama'). | |
| people | No | Só bucket 'pose_map': quantas figuras no quadro. 'solo' (uma pessoa), 'dupla' (duas), 'grupo' (três ou mais). | |
| source | No | Só bucket 'acervo': fonte. Default 'all' (stock + comunidade). | |
| familia | No | Só bucket 'pose_map': o que o corpo faz, a categoria principal do banco (lida por visão, não pela tag do esqueleto). 'em-movimento' = passada, corrida, chute, giro; 'inclinada' = em pé com o tronco dobrado; 'no-ar' = salto, queda, pendurada; 'invertida' = de cabeça pra baixo. Combina com vista e com semantic. | |
| leitura | No | Só bucket 'pose_map': 'clara' = a sombra se entende sozinha. 'confusa' = membro fundido, escondido ou cortado, a sombra que devolve braço sem dono ou duas pernas esquerdas. Pra gerar personagem, prefira 'clara'. | |
| porPose | No | Só bucket 'pose_map': true = só poses que vêm em conjunto de câmeras, na ordem do catálogo da fonte, com as câmeras de cada pose coladas. Use pra montar sequência ou história com a mesma pose de vários pontos. | |
| loopOnly | No | Só bucket 'stock_video': só clipes loopFriendly (loop limpo, bom pra fundo). | |
| semantic | No | Buckets 'history', 'videos' e 'pose_map': lê o `term` como DESCRIÇÃO em vez de palavra-chave, e acha pelo SIGNIFICADO. Em history/videos acha a peça da pessoa mesmo quando o prompt usou outras palavras ('praia ao entardecer' acha 'golden hour beach'); em pose_map, o pedido que nenhuma tag cobre ('alguém se protegendo do vento', 'caindo de costas apoiado num braço'). Frase inteira funciona melhor que palavra solta. Sem paginação: volta até `limit` (máx 50), do mais parecido pro menos, com `score`. | |
| hasObject | No | 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. | |
| similarTo | No | Só bucket 'pose_map': o id de uma pose; devolve as MAIS PARECIDAS com ela. Use quando o usuário gostou de uma e quer variações do mesmo gesto. | |
| collection | No | Só bucket 'pose_map': uma coleção nomeada pelo dono ('ação', 'editorial', 'íntimo'). | |
| hasSuporte | No | Só bucket 'pose_map': true = só poses apoiadas em algo além do chão (banco, bloco, parede, cama: vem em `suporte`); false = só no chão. Omitir = as duas. | |
| orientation | No | Buckets 'stock_video' e 'pose_map': filtra formato (vertical 9:16, horizontal 16:9, square 1:1). | |
| shadowSource | No | Só bucket 'depth_map': 'mine' (os que VOCÊ extraiu) ou 'house' (o banco curado da casa, default). | |
| enquadramento | No | Só bucket 'pose_map': até onde o quadro mostra o corpo. | |
| favoritesOnly | No | Só bucket 'pose_map': apenas as poses que o dono marcou com estrela. É o recorte mais forte que existe: comece por ele quando o pedido for vago. |