Este resumen es generado por inteligencia artificial y revisado por la redacción.
`; document.body.appendChild(modalWrapper); let figcaption = modalWrapper.querySelector(«figcaption»); if(figcaption) figcaption.style.display=»none»; modalWrapper.querySelector(«.s-multimedia__close-modal»).addEventListener(«click»,()=>{modalWrapper.remove(); e.style.display=»flex»; if(caption) caption.style.display=»block»;});})})});});
Desde su anuncio el año pasado, el modelo de imágenes de Gemini -con el llamativo nombre Nano Banana- se convirtió en una sensación viral. ¿Qué lo hacía similar a los ya existentes? La posibilidad de reconocer prompts en lenguaje natural para convertir texto en imágenes. ¿Y qué lo hizo diferente… y viral? No solo la calidad de sus resultados, sino la consistencia. Eso quiere decir, que el modelo era capaz de mantener un mismo estilo, personaje u objeto a lo largo de diferentes iteracionees.
Desde su anuncio el año pasado, el modelo de imágenes de Gemini -con el llamativo nombre Nano Banana- se convirtió en una sensación viral. ¿Qué lo hacía similar a los ya existentes? La posibilidad de reconocer prompts en lenguaje natural para convertir texto en imágenes. ¿Y qué lo hizo diferente… y viral? No solo la calidad de sus resultados, sino la consistencia. Eso quiere decir, que el modelo era capaz de mantener un mismo estilo, personaje u objeto a lo largo de diferentes iteracionees.
MIRA: “Estamos creando imitadores humanos”, advierte uno de los mayores expertos en inteligencia artificial
Hacia el final del 2025 apareció Nano Banana Pro, con el que Google ahora ofrecía era un razonamiento mejorado y conocimiento contextual para ofrecer resultados visuales más precisos y coherentes.
Pues bien, desde hace unos días el equipo de Google me proporcionó un ‘early access’ o acceso adelantado para poder probar, de primera mano, las novedades que traerá Nano Banana 2. En este caso, la promesa del desarrollador es ofrecer un mejor conocimiento de palabras existente, especificaciones de producción listas y mayor consistencia de objetos o personajes, todo mucho más rápido.
Lo primero que provoca hacer es utilizar los templates o plantillas. Visualmente el usuario reconoce qué tipo de imagen quiere crear. Los estilos son muy variados e intentan atender la demanda de la mayoría de usuarios. Claro, siempre va a estar la opción de que uno mismo pueda escribir su prompt (con lenguaje más o menos coloquial) e ir afinando los resultados.
En el caso de las plantillas, los resultados son bastante buenos. Me sorprende más en donde los rostros son afectados por alguna colorización o iluminación específica, incluso con una pose específica, y los resultados son bastante realistas.
Probé, luego, con solicitar la creación de una infografía con los cinco mejores lugares que un turista debe visitar cuando esté en Lima, con ciertas características y este fue el resultado:
Esta es una infografía creada con Nano Banana 2, el nuevo mnodelo para creación de im,ágenes.
`; document.body.appendChild(modalWrapper); let figcaption = modalWrapper.querySelector(«figcaption»); if(figcaption) figcaption.style.display=»none»; modalWrapper.querySelector(«.s-multimedia__close-modal»).addEventListener(«click»,()=>{modalWrapper.remove(); e.style.display=»flex»; if(caption) caption.style.display=»block»;});})})});});
Luego, intenté con algo más aleatorio. Este fue mi prompt: “Crea la imagen de una pareja de novios que se están mirando, de forma muy romántica, desde el mirados al Huana Picchu, en Machu Picchu, Cusco, en Perú. Se trata de un día lluvioso, por lo que los protagonistas deben llevar un poncho o paraguas. Entre las personas que aparecen en segundo plano debe estar el personaje de televisión peruano Zumba”. ¿Qué les parece el resultado?
`; document.body.appendChild(modalWrapper); let figcaption = modalWrapper.querySelector(«figcaption»); if(figcaption) figcaption.style.display=»none»; modalWrapper.querySelector(«.s-multimedia__close-modal»).addEventListener(«click»,()=>{modalWrapper.remove(); e.style.display=»flex»; if(caption) caption.style.display=»block»;});})})});});
Finalmente, traté de mantener al mismo personaje en diferentes situaciones -a través de las iteraciones con el modelo de lenguaje- y estos fueron los resultados.
Tras este breve lapso en donde pude probar de manera adelantada el nuevo Nano Banana 2, puedo decir que se está dando un paso grande para lograr una mayor interacción y, sobre todo, comprensión entre las indicaciones del usuario y los modelos de imágenes. Solo nos queda estar atentos para saber bien cómo diferenciar cuando estemos frente a una imagen generada por inteligencia artificial.
Conforme a los criterios de
Tipo de trabajo:
‘+sanitizeHTML(modalConfig.message)+’
‘;}function closeSources(){isSourcesExiting=true;const sourcesEl=document.getElementById(‘merlin-sources-overlay’);if(sourcesEl){sourcesEl.className=CLS.sourcesOverlay+’ ‘+CLS.sourcesOverlayExiting;}setTimeout(function(){showSources=false;isSourcesExiting=false;sourcesButtonRect=null;sourcesData=[];nonNoticiaUrlsData=[];document.body.style.overflow=»;if(sourcesEl&&sourcesEl.parentNode){sourcesEl.parentNode.removeChild(sourcesEl);}},200);}function getDisplayTitle(source){if(source.title)return source.title;try{const url=new URL(source.url.replace(/[?&]merlin=true/,»));const pathname=url.pathname;const lastSegment=pathname.split(«https://elcomercio.pe/»).filter(Boolean).pop()||»;return lastSegment .replace(/-/g,’ ‘).replace(/bw/g,function(char){return char.toUpperCase();});}catch{return ‘Ver artículo’;}}function getNonNoticiaDisplayTitle(urlItem,index){if(urlItem.title)return urlItem.title;try{var clean=urlItem.url.split(‘?’)[0];var urlObj=new URL(clean);var path=urlObj.pathname.replace(/^/+/,»).replace(//$/,»);if(!path)return index!==undefined?’Ver enlace ‘+(index+1):’Ver enlace’;return ‘Ver ‘+path;}catch(e){return index!==undefined?’Ver enlace ‘+(index+1):’Ver enlace’;}}function escapeHTML(str){if(!str)return »;const div=document.createElement(‘div’);div.textContent=str;return div.innerHTML;}function sanitizeURL(url){if(!url)return »;try{const parsed=new URL(url);if(parsed.protocol!==’http:’&&parsed.protocol!==’https:’){return »;}return parsed.href;}catch{return »;}}function renderSources(){if(!showSources||(sourcesData.length===0&&nonNoticiaUrlsData.length===0))return »;const totalSources=sourcesData.length+nonNoticiaUrlsData.length;const isSingleSource=totalSources===1;return »;}const root=document.createElement(‘div’);root.id=’merlin-widget-root’;document.body.appendChild(root);function render(){root.innerHTML=’
‘+(isLoggedIn()?renderModal():»)+renderWarningModal()+renderSources()+’
‘;setupModalEventDelegation();bindEvents();}function setupModalEventDelegation(){document.removeEventListener(‘click’,handleGlobalOverlayClicks,true);document.addEventListener(‘click’,handleGlobalOverlayClicks,true);setTimeout(function(){const warningCloseBtn=document.getElementById(‘merlin-warning-modal-close’);const warningModal=document.getElementById(‘merlin-warning-modal’);const sourcesCloseBtn=document.getElementById(‘merlin-sources-close’);const sourcesOverlay=document.getElementById(‘merlin-sources-overlay’);},0);}function handleGlobalOverlayClicks(e){const target=e.target;if(!target||!target.closest)return;if(target.closest(‘#merlin-warning-modal-close’)){e.preventDefault();e.stopPropagation();closeModal();return;}if(target.closest(‘#merlin-sources-close’)){e.preventDefault();e.stopPropagation();closeSources();return;}const warningModal=document.getElementById(‘merlin-warning-modal’);if(warningModal&&target===warningModal){closeModal();return;}const sourcesOverlay=document.getElementById(‘merlin-sources-overlay’);if(sourcesOverlay&&target===sourcesOverlay){closeSources();return;}const showSourcesBtn=target.closest(‘[data-show-sources]’);if(showSourcesBtn){e.preventDefault();e.stopPropagation();const messageId=showSourcesBtn.getAttribute(‘data-show-sources’);sourcesButtonRect=showSourcesBtn.getBoundingClientRect();const msg=messages.find(function(m){return m.id===messageId;});if(!msg)return;if(msg.enrichedSources){sourcesData=msg.enrichedSources.noticiaSources||[];nonNoticiaUrlsData=msg.enrichedSources.nonNoticiaSources||[];showSources=true;isSourcesExiting=false;document.body.style.overflow=’hidden’;const totalSources=sourcesData.length+nonNoticiaUrlsData.length;const isSingleSource=totalSources===1;const finalHTML=»;const widgetDiv=root.querySelector(‘.’+CLS.widget);if(widgetDiv){const existingSources=document.getElementById(‘merlin-sources-overlay’);if(existingSources&&existingSources.parentNode){existingSources.parentNode.removeChild(existingSources);}widgetDiv.insertAdjacentHTML(‘beforeend’,finalHTML);setupModalEventDelegation();}return;}const urls=msg.urls&&msg.urls.length>0?msg.urls:extractUrlsFromMessage(msg.text);if(urls&&urls.length>0){if(!msg.urls){msg.urls=urls;}let noticiaUrls=urls.filter(function(u){return isNoticiaUrl(u.url);});const nonNoticiaUrls=urls.filter(function(u){return!isNoticiaUrl(u.url);});if(noticiaUrls.length>5){noticiaUrls=noticiaUrls.slice(noticiaUrls.length-5);}nonNoticiaUrlsData=nonNoticiaUrls;showSources=true;isSourcesExiting=false;document.body.style.overflow=’hidden’;const skeletonCount=noticiaUrls.length;const isSingleSource=skeletonCount===1;let skeletonItems=»»;for(let i=0;i‘;}const skeletonHTML=»;const widgetDiv=root.querySelector(‘.’+CLS.widget);if(widgetDiv){const existingSources=document.getElementById(‘merlin-sources-overlay’);if(existingSources&&existingSources.parentNode){existingSources.parentNode.removeChild(existingSources);}widgetDiv.insertAdjacentHTML(‘beforeend’,skeletonHTML);setupModalEventDelegation();}enrichSources(noticiaUrls).then(function(enrichedSources){sourcesData=enrichedSources;msg.enrichedSources={noticiaSources:enrichedSources,nonNoticiaSources:nonNoticiaUrls};const sourcesList=document.querySelector(‘.’+CLS.sourcesList);if(sourcesList&&showSources){let html=sourcesData.map(function(source){const safeUrl=sanitizeURL(source.url);if(!safeUrl)return »;const urlWithMerlin=safeUrl.includes(‘?’)?safeUrl+’&chatbotmerlin=true’:safeUrl+’?chatbotmerlin=true’;const safeCategory=escapeHTML(source.category);const safeAuthor=escapeHTML(source.author);const safeTimestamp=escapeHTML(source.timestamp);const safeTitle=escapeHTML(getDisplayTitle(source));const safeImage=sanitizeURL(source.image);const safeAlt=escapeHTML(source.title||’Imagen de la fuente’);return ‘
‘+safeCategory+’
‘:»)+’
‘+safeTitle+’
‘)+(safeImage?’
‘:»)+’
‘+»+’
‘;}).join(»);html+=nonNoticiaUrlsData.map(function(urlItem,index){const safeUrl=sanitizeURL(urlItem.url);if(!safeUrl)return »;const urlWithMerlin=safeUrl.includes(‘?’)?safeUrl+’&chatbotmerlin=true’:safeUrl+’?chatbotmerlin=true’;const safeTitle=escapeHTML(getNonNoticiaDisplayTitle(urlItem,index));return ‘
‘+safeTitle+’
‘+»+’
‘;}).join(»);sourcesList.innerHTML=html;}}).catch(function(err){console.error(‘[Merlin Widget]Error enriching sources:’,err);});}}}function renderModal(){return »;}function renderChat(){let messagesHTML=»;if(messages.length>0){messagesHTML=messages.map(function(msg){return renderMessage(msg);}).join(»);}else{messagesHTML=’
‘;}return ‘
‘+messagesHTML+(isBotTyping?renderTypingIndicator():»)+’
‘+_0x3m4n+’
‘;}function isMobileDevice(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||(‘ontouchstart’ in window)||(navigator.maxTouchPoints>0);}function updateChatDOM(){const modalBody=document.querySelector(‘.’+CLS.body);if(!modalBody)return;chatEventsBound=false;modalBody.innerHTML=renderChat();const container=document.querySelector(‘.’+CLS.chatMessages);if(container){container.style.overflowY=’auto’;container.style.overflowX=’hidden’;container.style.flex=’1′;container.style.display=’flex’;container.style.flexDirection=’column’;const targetBottom=container.scrollHeight;const startPosition=Math.max(0,targetBottom-container.clientHeight-150);container.scrollTop=startPosition;requestAnimationFrame(function(){container.scrollTo({top:container.scrollHeight,behavior:’smooth’,});});}setupChatEvents();if(pendingInputRestore){const input=document.getElementById(‘merlin-input’);if(input&&pendingInputRestore){input.value=pendingInputRestore;pendingInputRestore=null;if(!isMobileDevice()){input.focus();}}}else if(!isBotTyping&&isLoggedIn()&&!showModal&&!showSources){setTimeout(function(){const input=document.getElementById(‘merlin-input’);if(input&&!input.disabled&&!isMobileDevice()){input.focus();}},100);}const warningModal=root.querySelector(‘.’+CLS.warningModal);if(warningModal){warningModal.outerHTML=renderWarningModal();}else if(showModal){const widgetDiv=root.querySelector(‘.’+CLS.widget);if(widgetDiv){widgetDiv.insertAdjacentHTML(‘beforeend’,renderWarningModal());}}const sourcesOverlay=root.querySelector(‘.’+CLS.sourcesOverlay);if(sourcesOverlay){sourcesOverlay.outerHTML=renderSources();}else if(showSources){const widgetDiv=root.querySelector(‘.’+CLS.widget);if(widgetDiv){widgetDiv.insertAdjacentHTML(‘beforeend’,renderSources());}}}function renderMessage(msg){const bubbleClass=msg.type===’sent’?CLS.bubbleContainer+’ ‘+CLS.bubbleContainerSent:CLS.bubbleContainer+’ ‘+CLS.bubbleContainerReceived;const bubbleTypeClass=msg.type===’sent’?CLS.bubble+’ ‘+CLS.bubbleSent:CLS.bubble;if(msg.type===’received’){const formattedText=formatTextToHTML(msg.text);const sanitizedHTML=sanitizeHTML(formattedText);const urls=msg.urls&&msg.urls.length>0?msg.urls:extractUrlsFromMessage(msg.text);const hasUrls=urls&&urls.length>0;if(hasUrls&&!msg.urls){msg.urls=urls;}const showSourcesButton=msg.hasValidSources===true||(msg.enrichedSources&&(msg.enrichedSources.noticiaSources.length>0||msg.enrichedSources.nonNoticiaSources.length>0));return ‘
‘+sanitizedHTML+’
‘+(showSourcesButton?’
‘+ICONS.sourceIcon+’
Fuentes‘:»)+’
‘;}else{const div=document.createElement(‘div’);div.textContent=msg.text;const escapedText=div.innerHTML;return »;}}function renderTypingIndicator(){return ‘
‘+ICONS.merlinThinkingIcon+’
‘;}function renderScrollButton(){return »;}function renderInput(){const placeholder=isLoggedIn()?’Pregúntale a Merlín’:’Por favor inicia sesión’;const disabledAttr=!isLoggedIn()?’ disabled’:»;return ‘
‘;}function renderTooltip(){return »;}let chatEventsBound=false;function setupChatEvents(){if(chatEventsBound)return;chatEventsBound=true;const input=document.getElementById(‘merlin-input’);const sendBtn=document.getElementById(‘merlin-send’);const messagesContainer=document.querySelector(‘.’+CLS.chatMessages);const scrollBtn=document.getElementById(‘merlin-scroll-down’);if(input){input.addEventListener(‘keydown’,function(e){if(e.key===’Enter’&&!e.shiftKey&&!isBotTyping){e.preventDefault();handleSend();}});input.addEventListener(‘input’,function(e){if(!isBotTyping){const cursorPos=input.selectionStart;const originalValue=e.target.value;const sanitized=sanitizeInput(originalValue);if(sanitized!==originalValue){const diff=originalValue.length-sanitized.length;input.value=sanitized;const newPos=Math.max(0,cursorPos-diff);input.setSelectionRange(newPos,newPos);}}});input.addEventListener(‘touchstart’,function(e){if(!input.disabled){input.readOnly=false;}},{passive:true});input.addEventListener(‘focus’,function(){if(!input.disabled){input.readOnly=false;}});}if(sendBtn){sendBtn.addEventListener(‘click’,handleSend);sendBtn.addEventListener(‘touchend’,function(e){e.preventDefault();handleSend();});}if(messagesContainer){messagesContainer.addEventListener(‘scroll’,checkScrollPosition,{passive:true});}if(scrollBtn){scrollBtn.addEventListener(‘click’,function(){scrollToBottom(true);});scrollBtn.addEventListener(‘touchend’,function(e){e.preventDefault();scrollToBottom(true);});}}async function handleSend(){const input=document.getElementById(‘merlin-input’);if(!input||!isLoggedIn()||isBotTyping)return;const messageToSend=input.value.trim();if(messageToSend){const validation=validateMessage(messageToSend);if(!validation.valid){errorMessage=validation.error||’Mensaje no válido.’;showModal=true;isModalExiting=false;insertWarningModal();input.focus();return;}try{window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:’merlin_search_query’,search_term:messageToSend,query_type:’manual’,query_location:’widget’});}catch(e){console.error(‘Error pushing to dataLayer:’,e);}if(showModal){closeModal();}input.value=»»;await handleSendMessage(messageToSend);}}let mainEventsBound=false;function bindEvents(){const widgetBtn=document.getElementById(‘merlin-widget-button’);const closeBtn=document.getElementById(‘merlin-close’);const expandBtn=document.getElementById(‘merlin-expand’);const tooltipBtn=document.getElementById(‘merlin-tooltip-btn’);const tooltipMenu=document.getElementById(‘merlin-tooltip-menu’);const aboutBtn=document.getElementById(‘merlin-about’);const clearBtn=document.getElementById(‘merlin-clear’);if(widgetBtn){widgetBtn.onclick=function(){if(!isLoggedIn())return;toggle();};}if(closeBtn){closeBtn.onclick=toggle;closeBtn.ontouchend=function(e){e.preventDefault();toggle();};}if(expandBtn){expandBtn.onclick=expand;expandBtn.ontouchend=function(e){e.preventDefault();expand();};}if(tooltipBtn){const toggleTooltip=function(e){e.stopPropagation();tooltipOpen=!tooltipOpen;const menu=document.getElementById(‘merlin-tooltip-menu’);if(menu){if(tooltipOpen){menu.classList.remove(‘merlin-hidden’);}else{menu.classList.add(‘merlin-hidden’);}}};tooltipBtn.onclick=toggleTooltip;tooltipBtn.ontouchend=function(e){e.preventDefault();toggleTooltip(e);};}if(aboutBtn){aboutBtn.onclick=function(){window.open(«https://elcomercio.pe/»+LANDING_REDIRECT,’_blank’,’noopener,noreferrer’);tooltipOpen=false;const menu=document.getElementById(‘merlin-tooltip-menu’);if(menu)menu.classList.add(‘merlin-hidden’);};}if(clearBtn){clearBtn.onclick=function(){clearChat();tooltipOpen=false;const menu=document.getElementById(‘merlin-tooltip-menu’);if(menu)menu.classList.add(‘merlin-hidden’);};}if(!mainEventsBound){mainEventsBound=true;document.addEventListener(‘click’,function(e){const menu=document.getElementById(‘merlin-tooltip-menu’);const btn=document.getElementById(‘merlin-tooltip-btn’);if(menu&&btn&&tooltipOpen&&!menu.contains(e.target)&&!btn.contains(e.target)){tooltipOpen=false;menu.classList.add(‘merlin-hidden’);}});document.addEventListener(‘keydown’,handleEscKey);}}function handleEscKey(e){if(e.key===’Escape’){if(showSources){closeSources();}else if(showModal){closeModal();}}}function toggle(){if(isOpen){chatEventsBound=false;if(showModal){showModal=false;errorMessage=null;responseMessage=null;responseCode=null;remainingQuestions=null;isModalExiting=false;const modalEl=document.getElementById(‘merlin-warning-modal’);if(modalEl&&modalEl.parentNode){modalEl.parentNode.removeChild(modalEl);}}if(showSources){showSources=false;isSourcesExiting=false;document.body.style.overflow=»;const sourcesEl=document.getElementById(‘merlin-sources-overlay’);if(sourcesEl&&sourcesEl.parentNode){sourcesEl.parentNode.removeChild(sourcesEl);}}}const wasOpen=isOpen;isOpen=!isOpen;const existingModal=document.querySelector(‘.’+CLS.modal);if(existingModal){if(isOpen){existingModal.classList.add(CLS.modalOpen);}else{existingModal.classList.remove(CLS.modalOpen);}}else{render();}if(isOpen&&!wasOpen){chatEventsBound=false;if(!historyLoaded){const modalBody=document.querySelector(‘.’+CLS.body);if(modalBody){modalBody.innerHTML=»;}retrieveHistory().then(function(){historyLoaded=true;updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);}).catch(function(error){console.error(‘Error loading chat history:’,error);historyLoaded=true;updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);});}else{updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);}}else if(isOpen){updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);}}function expand(){try{localStorage.setItem(‘merlin-expand-to-chat’,’true’);localStorage.setItem(‘merlin-origin-url’,window.location.href);}catch(error){console.error(‘Error al guardar estado:’,error);}window.location.href=window.location.origin+»https://elcomercio.pe/»+REDIRECT_PATH;}(function setupStorageListener(){window.addEventListener(‘storage’,function(e){if(e.key===_0x1k2l&&e.newValue!==e.oldValue){if(isOpen&&isLoggedIn()){messages=[];showScrollButton=false;updateChatDOM();tooltipOpen=false;const scrollBtnContainer=document.querySelector(‘.’+CLS.chatScrollDownButtonContainer);if(scrollBtnContainer){scrollBtnContainer.classList.add(‘merlin-hidden’);}}}else if(e.key===_0x9i0j&&e.newValue!==e.oldValue){if(isOpen&&isLoggedIn()){setTimeout(function(){retrieveHistory().then(function(){responseCode=null;responseMessage=null;errorMessage=null;updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);}).catch(function(error){console.error(‘Error reloading messages after sync:’,error);});},500);}}});})();function startWidget(){(async function init(){try{await waitForCryptoHelpers();}catch(error){console.error(‘Failed to load cryptoHelpers:’,error);}messages=[];render();})();}if(document.readyState===’loading’){document.addEventListener(‘DOMContentLoaded’,startWidget);}else{startWidget();}})();




