;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Designer usa IA para escrever e ilustrar livro - e revolta artistas

Capa do livro escrito e ilustrado por inteligência artificial - Reprodução/Amazon
Capa do livro escrito e ilustrado por inteligência artificial Imagem: Reprodução/Amazon

Simone Machado

Colaboração para Tilt*, em São José do Rio Preto (SP)

17/01/2023 04h00Atualizada em 17/01/2023 14h36

O designer norte-americano Ammaar Reshi afirmou ter escrito e ilustrado um livro infantil em apenas um fim de semana com ajuda de sistemas de inteligência artificial (IA).

Em menos de 72 horas após começar o processo, o material já foi publicado e encaminhado para a venda. Contudo, a comercialização foi interrompida por suspeita de plágio.

Sua publicação no Twitter contando seu feito gerou uma chuva de elogios e críticas (entre elas pelo risco de artistas deixarem de ser pagos pelo uso de sistemas com IA.

O que rolou

Reshi é gerente de design de produtos de uma empresa de tecnologia financeira com sede em San Francisco. Ele estava lendo uma história para a filha de seu amigo quando decidiu que queria escrever um livro infantil.

Por não ter experiência no mercado literário, decidiu usar ferramentas de IA para ajudá-lo.

Usando o robô de conversas ChatGPT (alvo de polêmica pela alta precisão) e o Midjourney, um gerador de arte por AI, ele então deu vida ao livro "Alice and Sparkle", uma história sobre uma garota chamada Alice que quer aprender sobre o mundo da tecnologia e seu amigo robô, Sparkle.

Apenas 72 horas depois, o livro já estava pronto e disponível para a venda na livraria digital da Amazon. No dia seguinte, Reshi estava com um exemplar impresso em mãos, feito gratuitamente por outro serviço da empresa.

"Combinei tudo isso e coloquei em um formato de livro e me inscrevi na Amazon Kindle Publishing! Preenchi os detalhes do livro, criei uma pequena capa, até o ChatGPT me ajudou com a descrição", explicou em outro tuíte.

Em entrevista ao site especializado em tecnologia e negócios Insider, o designer disse que não pagou nada para criar e publicar o seu livro, embora já estivesse pagando por uma de US$ 30 por mês do Midjourney — serviço de IA usado para fazer as ilustrações do livro.

Livro impressionou e causou revolta

Reshi compartilhou então a experiência em seu Twitter — a postagem soma até agora mais de 2 mil comentários, quase 6 mil compartilhamentos e mais de 7,7 mil curtidas.

No começo, recebeu positivo de usuários elogiando sua criatividade. Mas, no dia seguinte, as postagens negativas tomaram conta da sua página.

"Às 4 da manhã, eu estava sendo acordado com meu celular explodindo a cada dois minutos com um novo tuíte dizendo coisas como 'Nós odiamos você'", disse.

Reshi disse que ficou chocado com as mensagens sobre o livro, que era para ser um presente para os filhos de alguns amigos. Foi só quando começou a ler os comentários que descobriu que estava no meio de um debate muito maior.

"E de quais artistas você roubou de quem REALMENTE deveria ser pago e creditado pela criação deste livro? Por favor, veja como isso prejudica os artistas e como você roubou o trabalho árduo do artista ao longo da vida e com DIREITOS AUTORAIS. Sem ele, você não teria sido capaz de fazer isso", comentou uma pessoa.

Acusação de plágio

Alguns artistas afirmam que as ilustrações usadas no livro haviam sido plagiadas pelo sistema de inteligência artificial e que o programa utilizado por Reshi havia sido "treinado" para copiar e usar obras de outras pessoas sem permissão.

"Fiquei chocado e, honestamente, não sabia como lidar com essa situação", disse o designer.

Após pesquisar mais sobre a questão do plágio, o Reshi disse, em seu Twitter, que os artistas deveriam estar envolvidos na criação de geradores de imagens de IA e que o "talento, habilidade e trabalho duro deles precisam ser respeitados".

Vendas suspensas

O livro de Reshi foi retirado da Amazon por alguns dias — ele disse que as vendas foram interrompidas de 6 a 14 de janeiro, citando "atividade de revisão suspeita", que ele atribuiu ao volume de críticas de cinco e uma estrela. Ele vendeu 841 cópias antes de ser removido.

A plataforma de IA Midjourney, acusada de usar imagens de artistas sem permissão, foi procurada pelo Insider, que explicou que os dados de todos os sistemas de IA são "originários de ampla pesquisa na Internet".

"Muito poucas imagens feitas em nosso serviço são usadas comercialmente. É quase inteiramente para uso pessoal", disse David Holz, fundador do Midjourney.

*Com informações de Insider