Jev agora interpreta fotos: da conferência de devolução à localização do dano
O suporte experimental a imagens do Jev transforma fotos em decisões tipadas e caixas delimitadoras. Acompanhe um fluxo de devolução de uma caneca, conheça a verificação de presença e prepare um primeiro protótipo seguro.
Diagrama explicativo original: uma foto entra, julgamentos e coordenadas separados são produzidos, e uma pessoa revisa o dano proposto. Ilustra um fluxo de trabalho, não um resultado de modelo registrado.
Um cliente fotografa uma caneca lascada. Sua ferramenta de suporte precisa responder a três perguntas diferentes: a caneca está visível, a imagem mostra danos e onde o revisor deve olhar? Um parágrafo fluente sobre cerâmica não é o resultado intermediário mais útil.
Em 14 de outubro de 2026, a TypeSafe AI anunciou suporte experimental a imagens para o Jev junto com o Jev 1.14.0 e um novo tipo de saída box. Imagens funcionam tanto no Jev 1.13 quanto no 1.14; Box requer 1.14. A TypeSafe chama esses recursos de experimentais e afirma explicitamente que ainda não recomenda seu uso em automação de produção. Anúncio oficial
A mudança útil é mais específica do que um assistente multimodal para qualquer finalidade: uma foto pode se tornar uma decisão tipada ou uma localização dentro de um programa. Veja como isso altera um fluxo de devolução, quais entradas a interface aceita e como criar um protótipo cauteloso sem confundir um retângulo com uma prova.
Resumo:
- O Jev agora tem um caminho experimental para compreender imagens estáticas, não para gerar imagens.
- Verifique a existência do alvo antes de confiar na localização proposta.
- Preserve a foto original e a revisão humana; deixe o código validar coordenadas, permissões e consequências.
Uma fotografia pode virar uma decisão, não apenas uma descrição
A proposta original do Jev eram respostas delimitadas: escolher uma opção fornecida, avaliar níveis descritos ou analisar uma proposição de sim ou não. Nosso guia anterior sobre o modelo de decisões do Jev aborda essa base. A novidade é fornecer evidências visuais a essas perguntas e também uma forma de retornar coordenadas espaciais.
Em uma interface de devoluções, isso muda a divisão do trabalho. O modelo pode sugerir que há dano visível; o código do aplicativo pode exibir essa sugestão ao lado da imagem enviada. Nenhuma das operações determina quando o dano ocorreu, se a foto corresponde a este pedido ou se o reembolso foi autorizado. São perguntas distintas, com evidências diferentes.
| Entrada ou saída | O que a interface documentada oferece | O que o aplicativo precisa fornecer |
|---|---|---|
| Entrada de foto | Imagens estáticas PNG/JPEG experimentais | Permissão para processar a imagem e preparação antes do envio |
| Entrada de áudio | Sem entrada de áudio nativa | Uma transcrição ou campos estruturados produzidos em outro lugar |
| Entrada de vídeo | Sem entrada nativa de arquivos de vídeo | Quadros estáticos selecionados ou texto extraído, não um filme enviado |
| Entrada de documento | Texto/JSON; uma página digitalizada pode ser tratada como imagem | Análise de PDF/DOCX ou renderização da página fora do Jev |
| Saída | Rótulos, pontuações, probabilidades e coordenadas Box definidos | Renderização, recorte, criação de documentos e qualquer ação comercial |
Esses limites seguem a referência do modelo, o contrato das requisições da API e o SDK com suporte a imagens. Uma pasta de PDFs não se torna um fluxo de processamento de documentos só porque algumas páginas contêm imagens. Da mesma forma, vários quadros extraídos não comprovam compreensão nativa de vídeo nem acesso à trilha sonora do clipe.
Nossa opinião: a unidade interessante é um julgamento pequeno e inspecionável, associado a evidências. Não é uma nova autorização para automatizar tudo o que vem depois.
Três exemplos oficiais transformam a mesma foto em trabalhos diferentes
A documentação JavaScript da TypeSafe oferece três pontos de partida concretos. São exemplos de código publicados, não relatos de implantações ativas com clientes nem resultados medidos. Trate-os como padrões para um protótipo, não como promessas de precisão nas suas fotografias.
O primeiro combina uma alegação de caneca danificada com uma foto do produto e pergunta a um Noul sobre o dano e a um Score sobre sua gravidade. Em uma fila de suporte, uma adaptação poderia destacar suspeitas de dano para inspeção. O revisor ainda deve ver a foto completa, a descrição do cliente e uma opção para rejeitar a sugestão.
O segundo compara a foto enviada pelo vendedor com uma imagem do catálogo. Pergunta se mostram o mesmo produto e classifica a qualidade de uso da foto, incluindo desfoque, recorte e conteúdo que não seja o produto. Para um marketplace, isso sugere uma separação útil: correspondência de identidade e qualidade da foto não precisam compartilhar a mesma decisão de aprovação. Uma imagem nítida do produto errado não deve ser aprovada só porque parece profissional.
O terceiro pede ao Box que localize a área danificada. O resultado pode orientar uma sobreposição ou um recorte sugerido para o revisor. Preserve também a imagem original sem recorte: direcionar a atenção pode ajudar alguém a inspecionar uma reclamação, mas também pode ocultar contexto que mudaria seu significado.
Siga os exemplos oficiais para avaliar dano, comparar com o catálogo e localizar danos. Nosso fluxo proposto de devoluções acrescenta salvaguardas no aplicativo em torno desses padrões; não é o relato de um teste.
Uma caixa não consegue dizer que não há nada para encontrar
O detalhe essencial no contrato Box da TypeSafe é que não há uma saída para alvo ausente. Uma pergunta Box retorna quatro bordas mesmo quando o alvo solicitado não existe. Portanto, um retângulo em torno de uma caneca intacta, por si só, não comprova que haja dano.
Pergunte separadamente a um Noul se o alvo solicitado está presente. Neste fluxo, diferencie a presença da caneca da presença de dano visível. Uma resposta positiva sobre a caneca não basta para autorizar uma sobreposição de dano. Ignore a caixa proposta para o dano, a menos que as verificações pertinentes de presença atendam às regras validadas do seu aplicativo.
Essa verificação de presença não elimina erros. Os dois julgamentos podem estar errados ao mesmo tempo. Um reflexo intenso pode parecer uma lasca, enquanto uma rachadura real pode desaparecer no esmalte estampado. Teste fotografias sem caneca, com canecas intactas, reflexos ambíguos, vários objetos e danos claramente visíveis antes de escolher limiares.
Diagrama de decisão original: um retângulo válido só pode ser usado depois que a verificação de presença do alvo for aprovada. Verificações malsucedidas ou incertas mantêm a foto original disponível para revisão humana; não se transformam em rejeições automáticas.
Pense no retângulo como um apontador, não como um veredito.
Trate as coordenadas como geometria e depois confira seu significado
Box retorna left, right, top e bottom como frações das dimensões da imagem, medidas a partir do canto superior esquerdo. Os valores ficam entre 0 e 1, com left < right e top < bottom. Uma pergunta produz uma caixa, não uma lista de detecção de objetos. Contrato da resposta Box
Para uma imagem preparada ilustrativa de 1200 x 900, bordas com left 0.20, top 0.30, right 0.60 e bottom 0.70 correspondem aos pixels 240, 270, 720, 630. São exemplos aritméticos, não uma resposta do Jev. APIs de recorte costumam esperar esquerda, topo, direita, base; mapeie os campos nomeados deliberadamente, em vez de confiar na ordem das propriedades JSON.
Valide números finitos, limites e ordenação antes de desenhar qualquer coisa. Em seguida, confira se a região realmente identifica o dano. Se redimensionar, girar, adicionar bordas ou dividir uma foto em blocos, mantenha a transformação necessária para mapear as coordenadas de volta; caso contrário, uma caixa plausível pode apontar para os pixels errados.
Prepare a imagem antes da requisição, não depois de um erro
Os limites oficiais de imagem são precisos e inclusivos. Uma imagem fora dos limites é rejeitada, não redimensionada automaticamente; a rejeição de uma imagem invalida a solicitação inteira.
| Restrição | Limite publicado |
|---|---|
| Formato | Imagem estática PNG ou JPEG; PNG animado é rejeitado |
| Arquivo individual | 16 MiB, medidos após decodificação de base64 quando aplicável |
| Cada dimensão | 280 a 1568 pixels |
| Total de pixels | 78.400 a 2.458.624 |
| Corpo da requisição | 32 MiB, incluindo JSON e estrutura de envio |
| Imagens processadas em conjunto | 32 MiB |
| Requisição expandida | 32 MiB após a substituição das referências às imagens |
Referências repetidas contam novamente na requisição expandida. Tamanho do arquivo, dimensões e comprimento do contexto são verificações separadas. Limites de imagem
Diagrama original de restrições baseado na documentação de imagens da TypeSafe, consultada em 18 de outubro de 2026. Os limites por arquivo, por imagens processadas, por requisição expandida e pelo corpo da requisição se aplicam de forma independente.
A TypeSafe também orienta girar os pixels para a posição correta antes do envio: a API remove metadados e não aplica a orientação EXIF. Converta primeiro os formatos incompatíveis. Orientações de preparação
Para um protótipo, prepare uma cópia claramente identificada de uma foto sua e mantenha o original intacto. Confira as dimensões localmente e visualize exatamente a cópia que será enviada. Um recorte estreito talvez precise de preenchimento para atingir a dimensão mínima; registre esse preenchimento antes de interpretar as coordenadas.
Fixe a versão 1.14 e deixe explícita a opção experimental
Em 18 de outubro, a tabela de aliases publicada mapeia jev-latest para jev-1.13.0 e jev-preview para jev-1.14.0. Para um exemplo com Box, fixe jev-1.14.0, em vez de presumir que latest significa a prévia mais recente. Aliases de modelos
O procedimento a seguir cria um exemplo local destinado apenas à revisão. Executar o comando final envia uma requisição de inferência faturável, que o SDK pode repetir; ele nunca aprova uma devolução nem altera uma conta. Use uma foto de teste sua, sem pessoas, etiquetas de envio, endereços ou documentos privados.
-
Obtenha acesso e escolha a organização correta. A TypeSafe informa que a inscrição não exige mais aprovação de lista de espera. Crie uma chave de API no console e confira os créditos da organização antes do teste. Acesso à conta, configurações de crédito
-
Use Node.js 22 ou posterior. A versão do SDK JavaScript compatível com imagens é
0.7.0, datada de 14 de outubro. Fixá-la deixa explícita a dependência do cliente usada neste exemplo. Registro de alterações do SDK
node --version
mkdir jev-photo-check
cd jev-photo-check
npm init -y
npm install @typesafe-ai/[email protected]
- Defina uma chave válida apenas para a sessão. No Windows PowerShell, use o primeiro bloco; no Bash/Zsh do macOS ou Linux, use o segundo. Substitua o espaço reservado localmente e não faça commit de uma chave real.
$env:TYPESAFE_API_KEY = "your-api-key"
export TYPESAFE_API_KEY="your-api-key"
- Prepare
owned-mug.jpge crieinspect-return.mjs. Esta adaptação original usa os helpers documentados do SDK. O cabeçalho experimental é configurado antes de qualquer solicitação de imagem. Os dois limites de probabilidade abaixo são regras ilustrativas do aplicativo, não recomendações da TypeSafe. Todo resultado continua sujeito à revisão humana. Uso do SDK
import { readFile } from "node:fs/promises";
import { box, image, noul, TypeSafeClient } from "@typesafe-ai/sdk";
if (!process.env.TYPESAFE_API_KEY) {
throw new Error("Set TYPESAFE_API_KEY before choosing to run this example.");
}
const client = new TypeSafeClient({
defaultHeaders: { "TypeSafe-Danger-Zone-Images": "true" },
});
const photo = image(await readFile("owned-mug.jpg"));
const response = await client.systemOne({
model: "jev-1.14.0",
state: { photo },
questions: {
mugVisible: noul("Is a mug clearly visible in `photo`?"),
damageVisible: noul("Is physical damage clearly visible on the mug in `photo`?"),
damageRegion: box("The physically damaged area of the mug in `photo`"),
},
});
const { mugVisible, damageVisible, damageRegion } = response.answers;
const edges = damageRegion.box;
const coordinates = [edges.left, edges.top, edges.right, edges.bottom];
const validBox = coordinates.every(
(value) => Number.isFinite(value) && value >= 0 && value <= 1,
) && edges.left < edges.right && edges.top < edges.bottom;
const presencePasses = [mugVisible.noul, damageVisible.noul].every(
(value) => Number.isFinite(value) && value >= 0.95 && value <= 1,
);
console.log({
model: response.model,
usage: response.usage,
humanReviewRequired: true,
suggestedBox: presencePasses && validBox ? edges : null,
});
- Execute somente quando estiver pronto para enviar a imagem e incorrer em uso. Nos três sistemas operacionais, o comando é
node inspect-return.mjs. Uma exceção ousuggestedBox: nulldeve manter a imagem original disponível para revisão, não acionar envios automáticos repetidos.
As perguntas compartilham uma requisição, mas a caixa é ignorada, a menos que a verificação do aplicativo seja aprovada. Isso não economiza o custo de calcular uma caixa não utilizada. Um projeto posterior pode fazer da localização uma segunda requisição, após as verificações de presença, trocando uma chamada a mais por evitar chamadas de localização desnecessárias.
Um pequeno preço por token não é o preço por fotografia
A tarifa publicada para as duas versões é de US$ 0,042 por milhão de tokens de entrada, e tokens de saída são gratuitos. Isso significa que 10 milhões de tokens de entrada faturáveis custam US$ 0,42 pela tarifa informada; não significa que dez milhões de imagens custem esse valor. Preços publicados
Imagens contam como tokens de entrada pela tarifa de texto, sem cobrança separada por imagem. A TypeSafe ainda não forneceu em sua documentação uma fórmula de estimativa de tokens de imagem. Ao orçar uma avaliação autorizada, use usage.input_tokens da resposta, em vez de inventar um custo por fotografia. Cobrança de imagens
Seu orçamento deve incluir tentativas malsucedidas, novas tentativas, pré-processamento, armazenamento e tempo de revisão. Mantenha custo e qualidade juntos: economizar uma fração de centavo não serve de nada se um recorte apertado demais fizer cada revisor reabrir o original. Compare a tarefa de revisão completa com uma referência manual simples.
Projete para incerteza, privacidade e um serviço movimentado
Um Noul retorna uma probabilidade sem um campo separado confidence. Choice e Score incluem distribuições e valores de confiança derivados. Esses valores descrevem a incerteza do modelo; não são um certificado geral de correção. Documentação de confiança
No fluxo da caneca, valide a verificação com fotografias de teste reservadas e rótulos acordados. Agrupe resultados semelhantes e compare-os com a correção observada para verificar a calibração na sua tarefa. Meça separadamente danos não detectados e falsos alarmes; diferencie uma sobreposição mal posicionada de uma decisão de reembolso incorreta. Reavalie os limites após mudar o modelo, a iluminação, a categoria do produto ou o processo de captura.
Não trate toda imagem que não passar como evidência contra o cliente. Uma foto pode ser inadequada porque a câmera é ruim, o objeto reflete a luz ou o defeito exige outro ângulo. Um estado de revisão útil oferece caminhos para enviar outra foto e fazer uma inspeção manual, sem culpar o cliente pela incerteza do modelo.
A TypeSafe informa que solicitações e respostas dos clientes não são usadas para treinar o Jev. A central de ajuda também explica que o processamento pode incluir prestação do serviço, cobrança, prevenção de abuso e telemetria; a retenção depende dos dados, dos contratos e de qualquer acordo de retenção zero. Não treinar não é o mesmo que não reter. Política de tratamento de dados
A página pública de status informa a geografia dos EUA e as regiões us-east-1, us-east-2 e us-west-2. Equipes com exigências regionais de residência de dados devem resolver a questão do local de processamento antes de enviar fotos de clientes; conseguir acessar um console não equivale a um acordo de residência de dados.
Minimize os dados antes do envio. Em uma cópia preparada, remova uma etiqueta de endereço se ela for irrelevante, restrinja o acesso aos originais e evite incluir imagens ou segredos em logs rotineiros. Defina a retenção dos seus próprios registros de revisão independentemente da política do provedor.
Os limites da organização abrangem requisições e tokens por segundo. A API documenta 429 para limitação de taxa e 529 para sobrecarga; entradas malformadas ou grandes demais precisam ser corrigidas, não reenviadas sem alterações. Limites de taxa, erros da API
A política de novas tentativas do SDK JavaScript usa duas por padrão e respeita os cabeçalhos de atraso compatíveis. Evite acrescentar um ciclo externo de tentativas sem limite. Defina um orçamento de tempo, preserve um estado de erro acionável e mantenha qualquer ação comercial futura separada para que uma inferência repetida não emita reembolsos duplicados. Política de novas tentativas
Perguntas a responder antes do seu primeiro fluxo com fotos
O Jev vai editar ou gerar a foto da devolução?
Não. A imagem é evidência para um julgamento ou uma região proposta. Seu aplicativo desenha a sobreposição ou faz um recorte com código convencional de processamento de imagens. Mantenha a fonte intacta separadamente; um retângulo útil não substitui a evidência original.
Por que o exemplo fixa 1.14 em vez de usar latest?
A tabela de aliases publicada atualmente mapeia jev-latest para 1.13, enquanto Box requer 1.14. Fixar jev-1.14.0 deixa essa dependência explícita. Consulte novamente as notas de lançamento e seu conjunto de testes antes de mudar a versão, em vez de presumir que uma atualização do alias preservará o comportamento.
Uma probabilidade alta de dano pode acionar um reembolso?
Não com segurança, com base apenas nessa evidência. A probabilidade diz respeito à pergunta feita sobre a imagem enviada; não autentica o pedido, estabelece responsabilidade nem aplica sua política de reembolso. Comece com assistência à revisão, valide exemplos representativos e mantenha uma decisão humana para ações com consequências.
Saída gratuita significa que uma solicitação com imagem não custa nada?
Não. Tokens de entrada, inclusive os tokens de imagem, são cobrados. A tarifa publicada não é um preço por foto porque a fórmula de estimativa de tokens de imagem ainda não foi documentada. Inspecione o uso informado durante um piloto autorizado e inclua novas tentativas e tempo de revisão no total.
Posso enviar diretamente um vídeo de produto ou um PDF?
Não pela interface documentada para imagens estáticas. Seu aplicativo precisa primeiro extrair quadros adequados, texto ou páginas renderizadas, com permissão para processá-los. Preparar um quadro descarta informações temporais e de áudio; portanto, faça somente perguntas que as evidências fornecidas possam responder.
Em resumo: direcione a atenção antes de delegar autoridade
A prévia de imagens do Jev apresenta uma proposta prática: transformar evidências visuais em pequenas respostas que o software consiga inspecionar. Uma ferramenta de devolução de canecas pode testar essa proposta separando presença, dano, localização e revisão. O resultado inicial mais valioso não é um reembolso autônomo; é ajudar um revisor a tomar uma decisão mais bem fundamentada com menos procura.
Esse é o padrão que vale medir: a região proposta ajuda uma pessoa a entender as evidências originais, inclusive quando o modelo erra?
Fontes e escopo
Fontes primárias consultadas em 18 de outubro de 2026: anúncio da TypeSafe de 14 de outubro, modelos e preços, limites e cobrança de imagens, contrato Box, exemplos JavaScript e notas de lançamento do SDK. Outras fontes sobre políticas e confiabilidade estão vinculadas junto às respectivas afirmações. O fluxo e os diagramas são adaptações explicativas, não um benchmark prático; nenhum uso pago do modelo foi realizado para este artigo. Os diagramas são originais, não mídia de fornecedores copiada.
Mantenha a fonte junto da conclusão
Na sua própria pesquisa de modelos, mantenha as fontes originais separadas das conclusões derivadas delas. Crie uma conta no Telli.sh para organizar materiais de pesquisa e notas derivadas sem perder o contexto das fontes.