CINXE.COM
What is Unscreen? | Blockchain.News
<!doctype html> <html lang="en"> <head prefix="og: http://ogp.me/ns#"> <!-- 在已有的脚本引用后面添加 --> <script src="https://unpkg.com/langchain@0.0.73/dist/langchain.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/langsmith-sdk@0.0.41/dist/index.min.js"></script> <!-- Dark mode --> <script> const storedTheme = localStorage.getItem('theme') const getPreferredTheme = () => { if (storedTheme) { return storedTheme } return window.matchMedia('(prefers-color-scheme: light)').matches ? 'dark' : 'dark' } const setTheme = function (theme) { if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) { document.documentElement.setAttribute('data-bs-theme', 'dark') } else { document.documentElement.setAttribute('data-bs-theme', theme) } } setTheme(getPreferredTheme()) window.addEventListener('DOMContentLoaded', () => { var el = document.querySelector('.theme-icon-active'); if (el != 'undefined' && el != null) { const showActiveTheme = theme => { const activeThemeIcon = document.querySelector('.theme-icon-active use') const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`) const svgOfActiveBtn = btnToActive.querySelector('.mode-switch use').getAttribute('href') document.querySelectorAll('[data-bs-theme-value]').forEach(element => { element.classList.remove('active') }) btnToActive.classList.add('active') activeThemeIcon.setAttribute('href', svgOfActiveBtn) } window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { if (storedTheme !== 'light' || storedTheme !== 'dark') { setTheme(getPreferredTheme()) } }) showActiveTheme(getPreferredTheme()) document.querySelectorAll('[data-bs-theme-value]') .forEach(toggle => { toggle.addEventListener('click', () => { const theme = toggle.getAttribute('data-bs-theme-value') localStorage.setItem('theme', theme) setTheme(theme) showActiveTheme(theme) }) }) } }) </script> <!-- Google Font --> <link rel="preconnect" href="https://fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;700&family=Rubik:wght@400;500;700&display=swap" rel="stylesheet" /> <!-- Plugins CSS --> <link rel="stylesheet" type="text/css" href="/bn/vendor/font-awesome/css/all.min.css" /> <link rel="stylesheet" type="text/css" href="/bn/vendor/bootstrap-icons/bootstrap-icons.css" /> <link rel="stylesheet" type="text/css" href="/bn/vendor/tiny-slider/tiny-slider.css" /> <!-- Theme CSS --> <link rel="stylesheet" type="text/css" href="/bn/css/style.css" /> <!-- Google Web Fonts ================================================== --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-134821821-1"></script> <script data-ad-client="ca-pub-2685412041103446" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-134821821-1'); </script> <!-- end of Global site tag (gtag.js) - Google Analytics --> <!-- Basic Page Needs ================================================== --> <!--meta info--> <!--meta info--> <meta charset="utf-8"> <meta name="author" content="blockchain.news"> <meta name="keywords" content="AI,crypto,blockchain,news" /> <!-- Meta Tags --> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta charset="utf-8" /> <meta property="og:type" content="page" /> <meta property="og:title" content="Unscreen" /> <meta property="og:image" /> <meta itemprop="image" /> <meta property="og:url" /> <meta property="twitter:image" /> <meta property="twitter:site" /> <meta property="twitter:title" content="Unscreen" /> <meta property="twitter:description" content="Unscreen | Find the latest Bitcoin, Ethereum, blockchain, and crypto news, interviews, and price analyses at Blockchain.News." /> <meta property="og:description" content="Unscreen | Find the latest Bitcoin, Ethereum, blockchain, and crypto news, interviews, and price analyses at Blockchain.News." /> <meta name="Description" content="Unscreen | Find the latest Bitcoin, Ethereum, blockchain, and crypto news, interviews, and price analyses at Blockchain.News." /> <meta property="fb:app_id" content="2602656609775939" /> <!--Twitter tags--> <meta name="twitter:card" content="summary_large_image"> <!--Render Post info for social media sharing--> <!-- Mobile Specific Metas ================================================== --> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"> <!-- Vendor CSS ============================================ --> <!-- Start Alexa Certify Javascript --> <!-- End Alexa Certify Javascript --> <!-- CSS theme files ============================================ --> <style> /* 导航栏容器 */ .navbar-collapse { width: 100%; } /* 导航项列表 */ .navbar-nav { width: 100%; display: flex; justify-content: space-between; align-items: center; } /* 导航项 */ .navbar-nav > li { text-align: center; white-space: nowrap; /* 防止文字换行 */ } /* 下拉菜单样式调整 */ .dropdown-menu { min-width: max-content; /* 确保下拉菜单宽度适应内容 */ } /* 响应式调整 */ @media (max-width: 991.98px) { .navbar-nav { flex-direction: column; } .navbar-nav > li { width: 100%; text-align: left; } } .nav-item.flashnews-item { position: relative; display: inline-block; } .hot-label { position: absolute; top: 20%; right: -10px; font-size: 0.65em; padding: 2px 6px; border-radius: 4px; font-weight: bold; animation: flame 1.5s infinite; /* 改用火焰动画 */ text-transform: uppercase; background: linear-gradient(45deg, #FF3131, #FFA500); /* 更像火焰的渐变 */ z-index: 1; line-height: 1.4; letter-spacing: 0.5px; transition: top 0.3s ease; } /* 滚动状态 */ .navbar-sticky.header-sticky .hot-label { top: 5px; /* 滚动后的位置 */ } [data-bs-theme="light"] .hot-label { color: white; box-shadow: 0 0 15px rgba(255, 49, 49, 0.7), 0 0 25px rgba(255, 165, 0, 0.5); text-shadow: 0 0 8px rgba(255, 49, 49, 0.8), 0 0 12px rgba(255, 165, 0, 0.6); } [data-bs-theme="dark"] .hot-label { background: linear-gradient(45deg, #FF3131, #FFA500); color: white; box-shadow: 0 0 20px rgba(255, 49, 49, 0.7), 0 0 30px rgba(255, 165, 0, 0.5); text-shadow: 0 0 8px rgba(255, 49, 49, 0.8), 0 0 12px rgba(255, 165, 0, 0.6); } @keyframes flame { 0% { transform: scale(1); box-shadow: 0 0 15px rgba(255, 49, 49, 0.7), 0 0 25px rgba(255, 165, 0, 0.5); } 50% { transform: scale(1.1); box-shadow: 0 0 20px rgba(255, 49, 49, 0.9), 0 0 35px rgba(255, 165, 0, 0.7); } 100% { transform: scale(1); box-shadow: 0 0 15px rgba(255, 49, 49, 0.7), 0 0 25px rgba(255, 165, 0, 0.5); } } /* 移动端适配 */ @media (max-width: 991px) { .hot-label { top: 45%; transform: translateY(-50%); right: 15px; font-size: 0.7em; padding: 3px 8px; } @keyframes flame { 0% { transform: translateY(-50%) scale(1); box-shadow: 0 0 15px rgba(255, 49, 49, 0.7), 0 0 25px rgba(255, 165, 0, 0.5); } 50% { transform: translateY(-50%) scale(1.1); box-shadow: 0 0 20px rgba(255, 49, 49, 0.9), 0 0 35px rgba(255, 165, 0, 0.7); } 100% { transform: translateY(-50%) scale(1); box-shadow: 0 0 15px rgba(255, 49, 49, 0.7), 0 0 25px rgba(255, 165, 0, 0.5); } } } .navbar-collapse .nav-item.flashnews-item { position: relative; } .chat-container { height: 400px; display: flex; flex-direction: column; } .chat-messages { flex-grow: 1; overflow-y: auto; padding: 10px; background: #f8f9fa; margin-bottom: 10px; } .chat-input { padding: 10px 0; } .message { margin-bottom: 10px; padding: 8px; border-radius: 8px; max-width: 80%; } .user-message { background: #007bff; color: white; margin-left: auto; } .bot-message { background: #e9ecef; margin-right: auto; } @keyframes pulse { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.3; transform: scale(1.2); } 100% { opacity: 1; transform: scale(1); } } .animate-pulse { animation: pulse 1.5s infinite; display: inline-block; } .typing-indicator { display: flex; gap: 4px; padding: 8px 12px; background: #e9ecef; border-radius: 15px; margin: 10px 0; width: fit-content; } .typing-indicator span { width: 8px; height: 8px; background: #6c757d; border-radius: 50%; animation: typing 1s infinite ease-in-out; } .typing-indicator span:nth-child(1) { animation-delay: 0.1s; } .typing-indicator span:nth-child(2) { animation-delay: 0.2s; } .typing-indicator span:nth-child(3) { animation-delay: 0.3s; } @keyframes typing { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } /*logo大小控制*/ /* 添加这些 CSS 规则 */ .navbar-brand { flex-shrink: 0 !important; /* 防止 logo 被压缩 */ width: auto !important; /* 防止宽度被挤压 */ } .navbar-brand-item { width: 190px !important; /* 或者你想要的具体尺寸 */ height: 50px !important; max-width: none !important; /* 防止被 max-width 限制 */ flex: none !important; /* 防止 flex 布局影响 */ } /* 确保 logo 容器不受字体大小影响 */ .navbar > .container { display: flex; align-items: center; } /* 确保中间的导航菜单可以自适应 */ .navbar-collapse { flex: 1 1 auto; } /* 移动端顶部栏样式 */ .navbar-top-mobile { background-color: #fff; border-bottom: 1px solid rgba(0,0,0,.1); } .navbar-top-mobile .nav-link { padding: 0.25rem 0.5rem; color: rgba(0,0,0,.7); } .navbar-top-mobile .btn-group-sm > .btn { padding: 0.25rem 0.5rem; font-size: 0.875rem; } .navbar-top-mobile .social-icons { display: flex; gap: 0.5rem; } .navbar-top-mobile .social-icons .btn-link { color: rgba(0,0,0,.7); text-decoration: none; } .navbar-top-mobile .social-icons .btn-link:hover { color: var(--bs-primary); } /* 暗色模式适配 */ [data-bs-theme="dark"] .navbar-top-mobile { background-color: #212529; border-bottom-color: rgba(255,255,255,.1); } [data-bs-theme="dark"] .navbar-top-mobile .nav-link, [data-bs-theme="dark"] .navbar-top-mobile .btn-link { color: rgba(255,255,255,.7); } /* 动画效果 */ .animate-pulse { animation: pulse 2s infinite; } @keyframes pulse { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.3; transform: scale(1.2); } 100% { opacity: 1; transform: scale(1); } } /*机器人图标*/ .ai-assistant-trigger { right: 30px; bottom: 40%; z-index: 1000; transition: all 0.3s ease; /* 视觉效果组合 */ &:hover { transform: scale(1.3); filter: drop-shadow(0 0 10px #00F0FF); } } /* 添加浮动动画 */ @media (min-width: 769px) { .ai-assistant-trigger { animation: float 3s ease-in-out infinite; } @keyframes float { 0% { transform: translateY(0px) scale(1.2); } 50% { transform: translateY(-10px) scale(1.2); } 100% { transform: translateY(0px) scale(1.2); } } } .ai-button { width: 65px; height: 65px; border-radius: 50%; background: rgba(0, 0, 0, 0.8); border: 2px solid #00F0FF; box-shadow: 0 0 15px rgba(0, 240, 255, 0.3); display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; padding: 0; } .ai-button:hover { transform: scale(1.1); box-shadow: 0 0 20px rgba(0, 240, 255, 0.5); border-color: #00F0FF; } .animate-pulse { animation: pulse 1.5s infinite; } /* PC端特定样式 */ @media (min-width: 769px) { .ai-assistant-trigger { right: 40px; bottom: 45%; transform: scale(1.3); animation: float 3s ease-in-out infinite; } /* PC端按钮样式增强 */ .ai-button { width: 90px; /* 更大的按钮尺寸 */ height: 90px; border-width: 3px; box-shadow: 0 0 25px rgba(0, 240, 255, 0.5); } /* PC端SVG图标放大 */ .ai-button svg { width: 55px; height: 55px; } /* 浮动动画 */ @keyframes float { 0% { transform: translateY(0px) scale(1.3); } 50% { transform: translateY(-15px) scale(1.3); } 100% { transform: translateY(0px) scale(1.3); } } /* PC端悬停效果增强 */ .ai-button:hover { transform: scale(1.15); box-shadow: 0 0 35px rgba(0, 240, 255, 0.7); } /* PC端NEW标签样式增强 */ .badge { padding: 8px 12px; font-size: 14px; font-weight: bold; box-shadow: 0 0 15px rgba(255, 0, 0, 0.3); } .animate-pulse { animation: pulse 2s infinite; } @keyframes pulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.2); opacity: 0.3; } 100% { transform: scale(1); opacity: 1; } } } /* 暗色模式适配 */ [data-bs-theme="dark"] .ai-button { background: rgba(0, 0, 0, 0.9); } /* 添加到你的样式文件中 */ .modal { overflow-y: auto !important; } .modal-open { overflow: auto !important; padding-right: 0 !important; } /* 增强的雪花效果 */ .snowfall-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1000; } .snowflake { position: fixed; top: -10px; color: #BCE4F1; /* 更深的蓝白色 */ font-size: 1.2em; text-shadow: 0 0 5px rgba(0,240,255,0.5), 0 0 10px rgba(0,240,255,0.3), 0 0 15px rgba(0,240,255,0.2); filter: drop-shadow(0 0 2px rgba(0,0,0,0.1)); animation: snowfall linear infinite; } /* 修改装饰位置的样式 */ .christmas-decorations div { position: fixed; font-size: 2em; animation: float 3s ease-in-out infinite; cursor: pointer; /* 添加鼠标指针样式 */ z-index: 9999; } .top-left { top: 40px; left: 20px; animation-delay: 0s; z-index: 9999; /* 确保显示在最上层 */ } .top-right { top: 40px; right: 20px; animation-delay: 0.5s; z-index: 9999; /* 确保显示在最上层 */ } .bottom-left { bottom: 10px; left: 20px; animation-delay: 1s; } .bottom-right { bottom: 10px; right: 20px; animation-delay: 1.5s; } @keyframes snowfall { 0% { transform: translateY(-10px) rotate(0deg); } 100% { transform: translateY(100vh) rotate(360deg); } } @keyframes float { 0%, 100% { transform: translateY(-50%) translateX(0); } 50% { transform: translateY(-50%) translateX(-10px); } } /* 让雪花在hover时有特效 */ .snowflake:hover { color: #FFF; text-shadow: 0 0 10px rgba(0,240,255,0.8), 0 0 20px rgba(0,240,255,0.6), 0 0 30px rgba(0,240,255,0.4); } /* 为底部装饰单独设置动画 */ .bottom-left, .bottom-right { animation: floatBottom 3s ease-in-out infinite; } @keyframes floatBottom { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } /* 可选:添加发光效果 */ .christmas-decorations div { filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5)); } /* 麋鹿和雪橇的样式 */ #santa-sleigh { position: fixed; top: 40%; left: -300px; z-index: 9999; white-space: nowrap; pointer-events: none; display: flex; align-items: center; gap: 0px; font-size: 6em; /* 整体水平翻转 */ transform: scaleX(-1); } /* 麋鹿样式 */ .reindeer { animation: reindeerGallop 0.6s infinite; transform-origin: bottom center; margin-right: -15px; /* 微调与绳子的间距 */ } /* 雪橇样式 */ .sleigh { animation: sleighBounce 0.6s infinite; transform-origin: bottom center; margin-left: -10px; /* 微调与绳子的间距 */ } /* 雪橇绳子 */ .sleigh-rope { font-size: 0.4em; /* 调整绳子大小 */ transform: rotate(90deg); margin: 0 -5px; /* 负边距使组件更紧密 */ position: relative; top: -5px; /* 微调绳子位置 */ } /* 动画类 */ .sleigh-animation { animation: sleighRide 6s linear forwards; } /* 麋鹿奔跑动画 */ @keyframes reindeerGallop { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-15px) rotate(-5deg); } } /* 雪橇弹跳动画 */ @keyframes sleighBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } /* 整体移动动画 */ @keyframes sleighRide { from { transform: translateX(0) scaleX(-1); } to { transform: translateX(calc(100vw + 200px)) scaleX(-1); } } /* 添加雪橇的影子 */ .sleigh::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 80%; height: 10px; background: rgba(0, 0, 0, 0.2); border-radius: 50%; filter: blur(4px); } /* 添加麋鹿的影子 */ .reindeer::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 80%; height: 10px; background: rgba(0, 0, 0, 0.2); border-radius: 50%; filter: blur(4px); } /* 礼物爆炸效果样式 */ .gift-item { position: fixed; font-size: 1.5em; pointer-events: none; z-index: 9999; transform-origin: center; opacity: 1; /* 添加初始位置 */ left: 50%; top: 50%; } @keyframes giftExplode { 0% { transform: translate(-50%, -50%) rotate(0deg); opacity: 1; } 100% { transform: translate(var(--tx), var(--ty)) rotate(var(--tr)); opacity: 0; } } /* 确保礼物动画生效 */ .gift-item { animation: giftExplode 1s ease-out forwards; } /* 伯利恒之星样式 */ .bethlehem-star-container { position: fixed; width: 0; height: 0; pointer-events: none; z-index: 10000; transform: translate(-50%, -50%); transition: opacity 1s ease; } .bethlehem-star-center { position: absolute; width: 20px; height: 20px; background: #FFD700; border-radius: 50%; left: -10px; top: -10px; box-shadow: 0 0 20px #FFD700; animation: centerGlow 2s ease-in-out; } .bethlehem-star-ray { position: absolute; width: 100px; height: 2px; background: linear-gradient(90deg, #FFD700, transparent); transform-origin: 0 50%; left: 0; top: -1px; animation: rayGrow 2s ease-in-out; } @keyframes centerGlow { 0% { transform: scale(0); opacity: 0; } 20% { transform: scale(1.2); opacity: 1; } 100% { transform: scale(1); opacity: 1; } } @keyframes rayGrow { 0% { width: 0; opacity: 0; } 20% { width: 120px; opacity: 1; } 100% { width: 100px; opacity: 1; } } </style> <script type="text/javascript">!function(T,l,y){var S=T.location,k="script",D="instrumentationKey",C="ingestionendpoint",I="disableExceptionTracking",E="ai.device.",b="toLowerCase",w="crossOrigin",N="POST",e="appInsightsSDK",t=y.name||"appInsights";(y.name||T[e])&&(T[e]=t);var n=T[t]||function(d){var g=!1,f=!1,m={initialize:!0,queue:[],sv:"5",version:2,config:d};function v(e,t){var n={},a="Browser";return n[E+"id"]=a[b](),n[E+"type"]=a,n["ai.operation.name"]=S&&S.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript:snippet_"+(m.sv||m.version),{time:function(){var e=new Date;function t(e){var t=""+e;return 1===t.length&&(t="0"+t),t}return e.getUTCFullYear()+"-"+t(1+e.getUTCMonth())+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+((e.getUTCMilliseconds()/1e3).toFixed(3)+"").slice(2,5)+"Z"}(),iKey:e,name:"Microsoft.ApplicationInsights."+e.replace(/-/g,"")+"."+t,sampleRate:100,tags:n,data:{baseData:{ver:2}}}}var h=d.url||y.src;if(h){function a(e){var t,n,a,i,r,o,s,c,u,p,l;g=!0,m.queue=[],f||(f=!0,t=h,s=function(){var e={},t=d.connectionString;if(t)for(var n=t.split(";"),a=0;a<n.length;a++){var i=n[a].split("=");2===i.length&&(e[i[0][b]()]=i[1])}if(!e[C]){var r=e.endpointsuffix,o=r?e.location:null;e[C]="https://"+(o?o+".":"")+"dc."+(r||"services.visualstudio.com")}return e}(),c=s[D]||d[D]||"",u=s[C],p=u?u+"/v2/track":d.endpointUrl,(l=[]).push((n="SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)",a=t,i=p,(o=(r=v(c,"Exception")).data).baseType="ExceptionData",o.baseData.exceptions=[{typeName:"SDKLoadFailed",message:n.replace(/\./g,"-"),hasFullStack:!1,stack:n+"\nSnippet failed to load ["+a+"] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: "+(S&&S.pathname||"_unknown_")+"\nEndpoint: "+i,parsedStack:[]}],r)),l.push(function(e,t,n,a){var i=v(c,"Message"),r=i.data;r.baseType="MessageData";var o=r.baseData;return o.message='AI (Internal): 99 message:"'+("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) ("+n+")").replace(/\"/g,"")+'"',o.properties={endpoint:a},i}(0,0,t,p)),function(e,t){if(JSON){var n=T.fetch;if(n&&!y.useXhr)n(t,{method:N,body:JSON.stringify(e),mode:"cors"});else if(XMLHttpRequest){var a=new XMLHttpRequest;a.open(N,t),a.setRequestHeader("Content-type","application/json"),a.send(JSON.stringify(e))}}}(l,p))}function i(e,t){f||setTimeout(function(){!t&&m.core||a()},500)}var e=function(){var n=l.createElement(k);n.src=h;var e=y[w];return!e&&""!==e||"undefined"==n[w]||(n[w]=e),n.onload=i,n.onerror=a,n.onreadystatechange=function(e,t){"loaded"!==n.readyState&&"complete"!==n.readyState||i(0,t)},n}();y.ld<0?l.getElementsByTagName("head")[0].appendChild(e):setTimeout(function(){l.getElementsByTagName(k)[0].parentNode.appendChild(e)},y.ld||0)}try{m.cookie=l.cookie}catch(p){}function t(e){for(;e.length;)!function(t){m[t]=function(){var e=arguments;g||m.queue.push(function(){m[t].apply(m,e)})}}(e.pop())}var n="track",r="TrackPage",o="TrackEvent";t([n+"Event",n+"PageView",n+"Exception",n+"Trace",n+"DependencyData",n+"Metric",n+"PageViewPerformance","start"+r,"stop"+r,"start"+o,"stop"+o,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),m.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4};var s=(d.extensionConfig||{}).ApplicationInsightsAnalytics||{};if(!0!==d[I]&&!0!==s[I]){var c="onerror";t(["_"+c]);var u=T[c];T[c]=function(e,t,n,a,i){var r=u&&u(e,t,n,a,i);return!0!==r&&m["_"+c]({message:e,url:t,lineNumber:n,columnNumber:a,error:i}),r},d.autoExceptionInstrumented=!0}return m}(y.cfg);function a(){y.onInit&&y.onInit(n)}(T[t]=n).queue&&0===n.queue.length?(n.queue.push(a),n.trackPageView({})):a()}(window,document,{ src: "https://js.monitor.azure.com/scripts/b/ai.2.min.js", // The SDK URL Source crossOrigin: "anonymous", cfg: { // Application Insights Configuration connectionString: 'InstrumentationKey=0adf9803-d984-4355-ba1e-3789925e9100;IngestionEndpoint=https://eastasia-0.in.applicationinsights.azure.com/;LiveEndpoint=https://eastasia.livediagnostics.monitor.azure.com/' }});</script></head> <body> <!-- ======================= Header START --> <header class="navbar-light navbar-sticky header-static"> <div class="navbar-top d-none d-lg-block small"> <div class="container"> <div class="d-md-flex justify-content-between align-items-center my-2"> <!-- Top bar left --> <ul class="nav"> <li class="nav-item"> <a class="nav-link ps-0" href="/About">About</a> </li> <li class="nav-item"> <a class="nav-link" href="/Advertisement">Advertisement</a> </li> <li class="nav-item"> <a class="nav-link" href="/Identity/Account/Login">Login / Join</a> </li> </ul> <!-- Center content --> <div class="d-flex align-items-center justify-content-center"> <!-- Font size accessibility START --> <div class="btn-group me-3" role="group" aria-label="font size changer"> <input type="radio" class="btn-check" name="fntradio" id="font-sm"> <label class="btn btn-xs btn-outline-primary mb-0" for="font-sm">A-</label> <input type="radio" class="btn-check" name="fntradio" id="font-default" checked> <label class="btn btn-xs btn-outline-primary mb-0" for="font-default">A</label> <input type="radio" class="btn-check" name="fntradio" id="font-lg"> <label class="btn btn-xs btn-outline-primary mb-0" for="font-lg">A+</label> </div> <!-- Dark mode options START --> <div class="nav-item dropdown mx-2"> <!-- Switch button --> <button class="modeswitch" id="bd-theme" type="button" aria-expanded="false" data-bs-toggle="dropdown" data-bs-display="static"> <svg class="theme-icon-active"><use href="#"></use></svg> </button> <!-- Dropdown items --> <ul class="dropdown-menu min-w-auto dropdown-menu-end" aria-labelledby="bd-theme"> <li class="mb-1"> <button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="light"> <svg width="16" height="16" fill="currentColor" class="bi bi-brightness-high-fill fa-fw mode-switch me-1" viewBox="0 0 16 16"> <path d="M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z" /> <use href="#"></use> </svg>Light </button> </li> <li class="mb-1"> <button type="button" class="dropdown-item d-flex align-items-center active" data-bs-theme-value="dark"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-moon-stars-fill fa-fw mode-switch me-1" viewBox="0 0 16 16"> <path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z" /> <path d="M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z" /> <use href="#"></use> </svg>Dark </button> </li> <li> <button type="button" class="dropdown-item d-flex align-items-center " data-bs-theme-value="auto"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-circle-half fa-fw mode-switch me-1" viewBox="0 0 16 16"> <path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z" /> <use href="#"></use> </svg>Auto </button> </li> </ul> </div> <!-- Dark mode options END --> <ul class="nav"> <li class="nav-item"> <a class="nav-link px-2 fs-5" href="https://twitter.com/BlockchainNewsM"><i class="fab fa-twitter-square"></i></a> </li> <li class="nav-item"> <a class="nav-link px-2 fs-5" href="https://www.linkedin.com/company/blockchainnewsbn/"><i class="fab fa-linkedin"></i></a> </li> </ul> </div> <!-- Language switcher --> <div class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" role="button" id="languageSwitcher" data-bs-toggle="dropdown" aria-expanded="false"> Language </a> <ul class="dropdown-menu" aria-labelledby="languageSwitcher"> <li><a class="dropdown-item" href="/zh">中文</a></li> <li><a class="dropdown-item" href="/">English</a></li> </ul> </div> </div> <!-- Divider --> <div class="border-bottom border-2 border-primary opacity-1"></div> </div> </div> <!-- 移动端顶部栏 --> <div class="navbar-top-mobile d-lg-none"> <div class="container"> <div class="d-flex justify-content-around align-items-center py-2 border-bottom"> <!-- About链接 --> <a class="nav-link small" href="/About">About</a> <!-- Advertisement链接 --> <a class="nav-link small" href="/Advertisement">Advertisement</a> <!-- 暗色模式切换 --> <div class="nav-item dropdown"> <button class="modeswitch nav-link p-0" id="bd-theme" type="button" aria-expanded="false" data-bs-toggle="dropdown" data-bs-display="static"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-circle-half fa-fw mode-switch" viewBox="0 0 16 16"> <path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z" /> </svg> </button> <ul class="dropdown-menu min-w-auto dropdown-menu-end" aria-labelledby="bd-theme"> <li class="mb-1"> <button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="light"> <svg width="16" height="16" fill="currentColor" class="bi bi-brightness-high-fill fa-fw mode-switch me-1" viewBox="0 0 16 16"> <path d="M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z" /> </svg>Light </button> </li> <li class="mb-1"> <button type="button" class="dropdown-item d-flex align-items-center active" data-bs-theme-value="dark"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-moon-stars-fill fa-fw mode-switch me-1" viewBox="0 0 16 16"> <path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z" /> <path d="M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z" /> </svg>Dark </button> </li> <li> <button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="auto"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-circle-half fa-fw mode-switch me-1" viewBox="0 0 16 16"> <path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z" /> </svg>Auto </button> </li> </ul> </div> <!-- 社交媒体图标 --> <div class="nav d-flex align-items-center"> <a class="nav-link px-2 fs-5" href="https://twitter.com/BlockchainNewsM"> <i class="fab fa-twitter-square"></i> </a> <a class="nav-link px-2 fs-5" href="https://www.linkedin.com/company/blockchainnewsbn/"> <i class="fab fa-linkedin"></i> </a> </div> <!-- 语言切换 --> <div class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="languageSwitcher" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> English </a> <ul class="dropdown-menu" aria-labelledby="languageSwitcher"> <li><a class="dropdown-item" href="/zh">中文</a></li> <li><a class="dropdown-item" href="/">English</a></li> </ul> </div> <!-- 登录链接 --> <a class="nav-link small" href="/Identity/Account/Login">Login</a> </div> </div> </div> <!-- Logo Nav START --> <nav class="navbar navbar-expand-lg"> <div class="container"> <!-- Logo START --> <a class="navbar-brand" href="/"> <img class="navbar-brand-item light-mode-item" src="https://image.blockchain.news/sharedimage/blockchain_Logo_black-02%20.jpg" alt="Blockchain.News Logo"> <img class="navbar-brand-item dark-mode-item" src="https://image.blockchain.news/sharedimage/blockchain_Logo_black-02%20.jpg" alt="Blockchain.News Logo"> </a> <!-- Logo END --> <!-- Responsive navbar toggler --> <button class="navbar-toggler ms-auto" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> <span class="text-body h6 d-none d-sm-inline-block">Menu</span> <span class="navbar-toggler-icon"></span> </button> <!-- Main navbar START --> <div class="collapse navbar-collapse" id="navbarCollapse"> <ul class="navbar-nav navbar-nav-scroll mx-auto"> <!-- Nav item 2 Pages --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="pagesMenu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">News</a> <ul class="dropdown-menu" aria-labelledby="pagesMenu"> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="#">Crypto News</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/tag/Bitcoin">Bitcoin News</a></li> <li><a class="dropdown-item" href="/tag/Ethereum">Ethereum News</a></li> <li><a class="dropdown-item" href="/tag/Cardano">Cardano News</a></li> <li><a class="dropdown-item" href="/tag/Ripple">Ripple News</a></li> <li><a class="dropdown-item" href="/tag/SHIB">SHIB News</a></li> <li><a class="dropdown-item" href="/tag/Stablecoin">Stablecoin News</a></li> <li><a class="dropdown-item" href="/tag/CBDC">CBDC News</a></li> <li><a class="dropdown-item" href="/tag/DeFi">DeFi News</a></li> </ul> </li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="#">Industry News</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/tag/NFT">NFT News</a></li> <li><a class="dropdown-item" href="/tag/Web3">Web3 News</a></li> <li><a class="dropdown-item" href="/tag/Metaverse">Metaverse News</a></li> <li><a class="dropdown-item" href="/tag/exchange">Exchange News</a></li> </ul> </li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="#">AI</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/tag/AI">AI News</a></li> <li><a class="dropdown-item" href="/tag/ChatGPT">ChatGPT News</a></li> </ul> </li> </ul> </li> <!-- Nav item 5 link--> <li class="nav-item"> <a class="nav-link" href="/price">Price</a></li> <!-- Nav item 3 Post --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="postMenu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Hot AI Tools</a> <ul class="dropdown-menu" aria-labelledby="postMenu"> <li><a class="dropdown-item" href="/ai/elevenlabs">ElevenLabs</a></li> <li><a class="dropdown-item" href="/ai/stockimg-ai">Stockimg AI</a></li> <li><a class="dropdown-item" href="/ai/unscreen">Unscreen</a></li> <li><a class="dropdown-item" href="/ai/civitai">Civitai</a></li> <li><a class="dropdown-item" href="/ai/promptchan-ai">Promptchan AI</a></li> <li><a class="dropdown-item" href="/ai/crushon">Crushon AI</a></li> <li><a class="dropdown-item" href="/ai/candy-ai">Candy AI</a></li> <li><a class="dropdown-item" href="/ai/tavernai">TavernAI</a></li> <li><a class="dropdown-item" href="/ai/pfpmaker">PFPMaker</a></li> <li><a class="dropdown-item" href="/ai/fakeyou">FakeYou</a></li> <li><a class="dropdown-item" href="/ai/deepswap">DeepSwap</a></li> </ul> </li> <!-- Nav item 3 Post --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="postMenu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">AI Category</a> <ul class="dropdown-menu" aria-labelledby="postMenu"> <li><a class="dropdown-item" href="/ai">AI Homepage</a></li> <li><a class="dropdown-item" href="/ai/chatbot">Chatbot</a></li> <li><a class="dropdown-item" href="/ai/video-generator">Video Generator</a></li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="#">AI Image</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/ai/image-generator">Image Generator</a></li> <li><a class="dropdown-item" href="/ai/image-enhancer">Image Enhancer</a></li> <li><a class="dropdown-item" href="/ai/image-editor">Image Editor</a></li> <li><a class="dropdown-item" href="/ai/stable-diffusion">Stable Diffusion</a></li> </ul> </li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="#">AI Audio</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/ai/voice">Voice</a></li> <li><a class="dropdown-item" href="/ai/music-generator">Music Generator</a></li> </ul> </li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="#">NSFW AI</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/ai/nsfw-character-ai-category">NSFW Character AI</a></li> <li><a class="dropdown-item" href="/ai/nsfw-chatbot">NSFW Chatbot</a></li> <li><a class="dropdown-item" href="/ai/nsfw-ai-image-generator">NSFW AI Image Generator</a></li> <li><a class="dropdown-item" href="/ai/ai-clothes-remover">AI clothes remover</a></li> <li><a class="dropdown-item" href="/ai/sexting">Sexting</a></li> <li><a class="dropdown-item" href="/ai/nsfw">All NSFW AI</a></li> </ul> </li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="#">AI Text</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/ai/text-generator">Text Generator</a></li> <li><a class="dropdown-item" href="/ai/ai-detector">AI Detector</a></li> <li><a class="dropdown-item" href="/ai/summarizer">Summarizer</a></li> <li><a class="dropdown-item" href="/ai/poem-generator">AI Poem Generator</a></li> <li><a class="dropdown-item" href="/ai/plagiarism-checker">Plagiarism Checker</a></li> <li><a class="dropdown-item" href="/ai/ppt-summarizer">PPT Summarizer</a></li> <li><a class="dropdown-item" href="/ai/ai-paraphraser">AI Paraphraser</a></li> </ul> </li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="/ai/character">AI Character</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/ai/ai-girlfriend">AI Girlfriend</a></li> <li><a class="dropdown-item" href="/ai/ai-boyfriend">AI Boyfriend</a></li> <li><a class="dropdown-item" href="/ai/waifu-generator">Waifu Generator</a></li> </ul> </li> <li><a class="dropdown-item" href="/ai/text-to-speech">Text to Speech</a></li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="/ai/educational">Educational</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/ai/homework">Homework</a></li> <li><a class="dropdown-item" href="/ai/language-learning">Language Learning</a></li> </ul> </li> <li><a class="dropdown-item" href="/ai/search">AI Search</a></li> <li><a class="dropdown-item" href="/ai/job-and-career">Job and Career</a></li> <!-- Dropdown submenu --> <li class="dropdown-submenu dropend"> <a class="dropdown-item dropdown-toggle" href="#">Productivity</a> <ul class="dropdown-menu dropdown-menu-start" data-bs-popper="none"> <li><a class="dropdown-item" href="/ai/seo">SEO</a></li> <li><a class="dropdown-item" href="/ai/coding">Coding</a></li> </ul> </li> <li><a class="dropdown-item" href="/ai/ai-agent">AI Agent</a></li> <li><a class="dropdown-item" href="/ai/ai-prompt">AI Prompt</a></li> <li><a class="dropdown-item" href="/ai/category">ALL AI Categories</a></li> </ul> </li> <!-- Nav item 5 link--> <li class="nav-item flashnews-item"> <a class="nav-link" href="/flashnews">FlashNews <span class="hot-label cyberpunk-glow">HOT</span> </a> </li> <!-- Nav item 3 Post --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="postMenu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Press Release</a> <ul class="dropdown-menu" aria-labelledby="postMenu"> <li><a class="dropdown-item" href="/press release">Press Release</a></li> <li> <a class="dropdown-item" href="/Opinion">Opinion</a> </li> <li><a class="dropdown-item" href="/prnewswire">PR Newswire</a></li> <li><a class="dropdown-item" href="/businesswire">Business Wire</a></li> </ul> </li> <!-- Nav item 5 link--> <li class="nav-item"> <a class="nav-link" href="/interview">Interview</a></li> <!-- Other navigation items --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="otherDropdownEn" role="button" data-bs-toggle="dropdown" aria-expanded="false"> Others </a> <ul class="dropdown-menu" aria-labelledby="otherDropdownEn"> <li><a class="dropdown-item" href="/analysis">Analysis</a></li> <li><a class="dropdown-item" href="/wiki">Wiki</a></li> <li><a class="dropdown-item" href="/learn">Learn</a></li> </ul> </li> </ul> </div> <!-- Main navbar END --> <!-- Nav right START --> <div class="nav flex-nowrap align-items-center"> <div class="nav-item dropdown dropdown-toggle-icon-none nav-search"> <a class="nav-link dropdown-toggle" role="button" href="#" id="navSearch" data-bs-toggle="dropdown" aria-expanded="false"> <i class="bi bi-search fs-4"></i> </a> <div class="dropdown-menu dropdown-menu-end shadow rounded p-2" aria-labelledby="navSearch"> <form class="input-group" action="/search" method="GET" id="searchForm"> <input class="form-control border-success" type="search" placeholder="Search" aria-label="Search" name="searchStr" id="searchInput"> <button class="btn btn-success m-0" type="submit">Search</button> </form> </div> </div> </div> <!-- Nav right END --> </div> </nav> <!-- Logo Nav END --> </header> <!-- ======================= Header END --> <!-- **************** MAIN CONTENT START **************** --> <main id="main"> <!-- 在 _Layout.cshtml 的 main 标签附近添加 --> <div class="ai-assistant-trigger position-fixed d-flex align-items-center justify-content-center"> <div class="position-relative d-inline-block"> <a href="#" class="btn ai-button" data-bs-toggle="modal" data-bs-target="#chatModal"> <svg width="40" height="40" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <!-- 头部天线 --> <path d="M12 1L12 3" stroke="#00F0FF" stroke-width="1.5" stroke-linecap="round" /> <path d="M10 3L14 3" stroke="#00F0FF" stroke-width="1.5" stroke-linecap="round" /> <!-- 机器人头部 --> <rect x="6" y="4" width="12" height="10" rx="2" fill="#1A1A1A" stroke="#00F0FF" stroke-width="1.5" /> <!-- 眼睛 --> <circle cx="9" cy="9" r="1.5" fill="#00F0FF"> <animate attributeName="opacity" values="1;0.5;1" dur="2s" repeatCount="indefinite" /> </circle> <circle cx="15" cy="9" r="1.5" fill="#00F0FF"> <animate attributeName="opacity" values="1;0.5;1" dur="2s" repeatCount="indefinite" /> </circle> <!-- 机器人身体 --> <path d="M8 14L8 19" stroke="#00F0FF" stroke-width="1.5" stroke-linecap="round" /> <path d="M16 14L16 19" stroke="#00F0FF" stroke-width="1.5" stroke-linecap="round" /> <path d="M6 20L10 20" stroke="#00F0FF" stroke-width="1.5" stroke-linecap="round" /> <path d="M14 20L18 20" stroke="#00F0FF" stroke-width="1.5" stroke-linecap="round" /> <!-- 数据流动效果 --> <path d="M4 8L2 8" stroke="#00F0FF" stroke-width="1.5" stroke-linecap="round"> <animate attributeName="opacity" values="1;0;1" dur="1s" repeatCount="indefinite" /> </path> <path d="M22 8L20 8" stroke="#00F0FF" stroke-width="1.5" stroke-linecap="round"> <animate attributeName="opacity" values="1;0;1" dur="1s" repeatCount="indefinite" /> </path> </svg> </a> <span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger animate-pulse"> NEW </span> </div> </div> <!-- - - - - - - - - - - - - - Content - - - - - - - - - - - - - - - - --> <title>What is Unscreen? | Blockchain.News</title> <style> :root { --primary-color: #00f7ff; --secondary-color: #0051ff; --accent-color: #ff00f7; --dark-bg: #0a0a0a; --light-bg: #ffffff; --card-bg-dark: rgba(16, 16, 16, 0.8); --card-bg-light: rgba(255, 255, 255, 0.9); --border-glow: 0 0 10px rgba(0, 247, 255, 0.3); --text-glow: 0 0 10px rgba(0, 247, 255, 0.5); --text-dark: #ffffff; --text-light: #1a1a1a; } /* 主容器样式 */ .ai-tool-container { padding: 2rem; min-height: 100vh; border-radius: 16px; margin-bottom: 2rem; } /* 暗色主题 */ [data-bs-theme="dark"] .ai-tool-container { background: var(--card-bg-dark); backdrop-filter: blur(20px); border: 1px solid rgba(0, 247, 255, 0.1); color: var(--text-dark); } /* 亮色主题 */ [data-bs-theme="light"] .ai-tool-container { background: var(--card-bg-light); backdrop-filter: blur(20px); border: 1px solid rgba(0, 81, 255, 0.1); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); color: var(--text-light); } /* 图片相关样式 */ .ai-tool-figure { margin-bottom: 2rem; position: relative; } .ai-tool-image-wrapper { position: relative; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); } .ai-tool-image { width: 100%; height: auto; transition: transform 0.3s ease; } .ai-tool-image:hover { transform: scale(1.02); } /* 内容区域样式 */ .ai-tool-content { padding: 1rem 0; } /* 描述部分样式 */ .ai-tool-description { padding: 1.5rem; background: rgba(255, 255, 255, 0.05); border-radius: 12px; margin-bottom: 2rem; border: 1px solid rgba(0, 247, 255, 0.1); } [data-bs-theme="dark"] .ai-tool-description { background: rgba(0, 0, 0, 0.2); } .ai-tool-description p { line-height: 1.8; margin-bottom: 1rem; text-align: justify; hyphens: auto; word-break: break-word; letter-spacing: 0.3px; } /* Wiki 内容样式 */ .ai-tool-wiki { padding: 1.5rem; background: rgba(255, 255, 255, 0.05); border-radius: 12px; margin-bottom: 2rem; border: 1px solid rgba(0, 247, 255, 0.1); } [data-bs-theme="dark"] .ai-tool-wiki { background: rgba(0, 0, 0, 0.2); } /* 标题样式 */ [data-bs-theme="dark"] .ai-tool-heading { background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-shadow: var(--text-glow); } [data-bs-theme="light"] .ai-tool-heading { background: linear-gradient(45deg, var(--secondary-color), #0066cc); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .ai-tool-heading { font-size: 2rem; margin: 2rem 0; font-weight: bold; padding-bottom: 0.5rem; border-bottom: 2px solid var(--primary-color); } /* ai-tool-wiki 中 h2 的样式 */ [data-bs-theme="dark"] .ai-tool-wiki h2 { background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-shadow: var(--text-glow); font-size: 2rem; margin: 2rem 0; font-weight: bold; padding-bottom: 0.5rem; border-bottom: 2px solid var(--primary-color); } [data-bs-theme="light"] .ai-tool-wiki h2 { background: linear-gradient(45deg, var(--secondary-color), #0066cc); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: 2rem; margin: 2rem 0; font-weight: bold; padding-bottom: 0.5rem; border-bottom: 2px solid var(--secondary-color); } /* 价格方案样式 */ .ai-tool-plan { padding: 1.5rem; background: rgba(255, 255, 255, 0.05); border-radius: 12px; margin-bottom: 2rem; border: 1px solid rgba(0, 247, 255, 0.1); } [data-bs-theme="dark"] .ai-tool-plan { background: rgba(0, 0, 0, 0.2); } /* FAQ 样式 */ .ai-tool-faq { padding: 1.5rem; background: rgba(255, 255, 255, 0.05); border-radius: 12px; margin-bottom: 2rem; border: 1px solid rgba(0, 247, 255, 0.1); } [data-bs-theme="dark"] .ai-tool-faq { background: rgba(0, 0, 0, 0.2); } /* 通用内容样式 */ .ai-tool-wiki p, .ai-tool-plan p, .ai-tool-faq p { line-height: 1.8; margin-bottom: 1rem; text-align: justify; hyphens: auto; word-break: break-word; letter-spacing: 0.3px; } /* 悬停效果 */ .ai-tool-description:hover, .ai-tool-wiki:hover, .ai-tool-plan:hover, .ai-tool-faq:hover { transform: translateY(-2px); transition: transform 0.3s ease; box-shadow: 0 6px 20px rgba(0, 81, 255, 0.1); } /* 动画效果 */ .ai-tool-container { animation: fadeIn 0.5s ease-in-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* 响应式调整 */ @media (max-width: 768px) { .ai-tool-container { padding: 1rem; } .ai-tool-description, .ai-tool-wiki, .ai-tool-plan, .ai-tool-faq { padding: 1rem; } .ai-tool-heading { font-size: 1.5rem; margin: 1.5rem 0; } } /* 确保最后一行不会被强制拉伸 */ .ai-tool-description p:last-child, .ai-tool-wiki p:last-child, .ai-tool-plan p:last-child, .ai-tool-faq p:last-child { text-align-last: left; } /* 优化段落间距 */ .ai-tool-description p:not(:last-child), .ai-tool-wiki p:not(:last-child), .ai-tool-plan p:not(:last-child), .ai-tool-faq p:not(:last-child) { margin-bottom: 1.2rem; } </style> <!-- **************** MAIN CONTENT START **************** --> <main> <!-- Divider --> <div class="border-bottom border-primary border-1 opacity-1"></div> <!-- ======================= Inner intro START --> <section class="pt-4"> <div class="container"> <div class="row"> <div class="col-12"> <div class="bg-success bg-opacity-10 text-center rounded-3 p-4"> <h1 class="text-success">Unscreen</h1> <h6>Website: <a href="https://www.unscreen.com/" target="_blank">https://www.unscreen.com/</a></h6> <h6>Also Known for: Unscreen AI</h6> <ul class="list-inline"> <li class="list-inline-item"><a href="/ai/image" class="btn btn-sm btn-primary-soft">Image</a></li> <li class="list-inline-item"><a href="/ai/image-remover" class="btn btn-sm btn-primary-soft">Image Remover</a></li> </ul> </div> </div> </div> </div> </section> <!-- ======================= Inner intro END --> <!-- ======================= Main START --> <section class="pt-0"> <div class="container position-relative" data-sticky-container> <div class="row"> <!-- Left sidebar START --> <div class="col-lg-2"> <div class="text-start text-lg-center mb-5" data-sticky data-margin-top="80" data-sticky-for="991"> <!-- Author info --> <div class="position-relative"> <div class="avatar avatar-xl"> <img class="avatar-img rounded-circle" src="https://aiimageset.blob.core.windows.net/logo/Unscreen-logo.png" alt="Unscreen Logo"> </div> </div> <hr class="d-none d-lg-block"> <!-- Card info --> <ul class="list-inline list-unstyled"> <li class="list-inline-item d-lg-block my-lg-2">Updated:8/21/2024</li> </ul> <!-- Tags --> </div> </div> <!-- Left sidebar END --> <!-- Main Content START --> <!-- Image --> <div class="ai-tool-container col-lg-7 mb-5"> <!-- 图片部分 --> <figure class="ai-tool-figure mt-2"> <div class="ai-tool-image-wrapper"> <img src="https://aiaitool.blob.core.windows.net/homeimage/unscreen_com.png" class="ai-tool-image rounded" alt="Unscreen Homepage Image" loading="lazy" onerror="this.style.display='none';" /> </div> </figure> <!-- 内容部分 --> <div class="ai-tool-content"> <div class="ai-tool-wiki"> <h2>Overview of Unscreen: AI-Powered Video Background Removal Tool</h2> <p>Unscreen is an online tool that uses artificial intelligence to automatically remove backgrounds from videos and GIFs. It allows users to create professional-looking content without the need for green screens, chroma keying, or manual editing. Unscreen's key features include AI-powered background removal, support for multiple video formats, high-quality results, and a user-friendly interface accessible to both professionals and beginners.</p> <h2>Key Features and Capabilities</h2> <h3>AI-Powered Background Removal</h3> <p>The core functionality of Unscreen is its ability to automatically detect and remove backgrounds from videos and GIFs using advanced AI algorithms. This eliminates the need for traditional techniques like green screens or manual masking, allowing users to process footage shot in any environment.</p> <h3>Multiple Format Support</h3> <p>Unscreen supports a variety of video and image formats, including:</p> <ul> <li>MP4</li> <li>WebM</li> <li>GIF</li> <li>MOV</li> <li>OGG</li> </ul> <p>This wide format support ensures compatibility with most common video and animation file types.</p> <h3>High-Quality Results</h3> <p>Unscreen utilizes state-of-the-art AI technology to generate high-quality results, even with complex backgrounds. The tool is capable of accurately isolating subjects and preserving fine details, resulting in professional-looking output.</p> <h3>Simple and Easy to Use</h3> <p>One of Unscreen's main advantages is its user-friendly interface. The tool requires no manual editing or technical expertise, making it accessible to a wide range of users, from professional video editors to casual content creators.</p> <h3>Unscreen Pro Features</h3> <p>While Unscreen offers a free version, the Pro version includes additional features such as:</p> <ul> <li>Full HD resolution output</li> <li>No watermarks</li> <li>API access and plugins</li> <li>Full-length clip processing</li> <li>Video file download options</li> <li>Audio support</li> </ul> <h2>How to Use Unscreen</h2> <p>Using Unscreen is a straightforward process:</p> <ol> <li>Visit the Unscreen website (www.unscreen.com)</li> <li>Upload your video or GIF file</li> <li>Wait for the AI to process your content</li> <li>View the result with the background removed</li> <li>Optionally choose a new background</li> <li>Download your processed video or GIF</li> </ol> <p>The entire process is automated, requiring no manual input from the user beyond the initial upload and any optional background selection.</p> <h2>Use Cases and Applications</h2> <p>Unscreen's versatility makes it suitable for a wide range of applications across various industries:</p> <h3>Content Creation</h3> <p>Content creators can use Unscreen to produce engaging videos with professional-looking backgrounds, enhancing the quality of their output without the need for expensive equipment or studio setups.</p> <h3>Video Editing</h3> <p>Professional video editors can streamline their workflow by using Unscreen to quickly remove green screens or unwanted backgrounds from footage.</p> <h3>Marketing and Advertising</h3> <p>Marketers can leverage Unscreen to create eye-catching visuals for advertising campaigns and social media posts, easily placing products or subjects in various virtual environments.</p> <h3>E-commerce</h3> <p>Online retailers can use Unscreen to create clean, attractive product images and videos by removing cluttered backgrounds, potentially increasing sales through improved visual presentation.</p> <h3>Film and Video Production</h3> <p>In the film and video production industry, Unscreen can be used to streamline the process of replacing backgrounds and enhancing visual elements, saving time and resources in post-production.</p> <h3>Education</h3> <p>Educators can use Unscreen to create more engaging video content for their students, easily placing themselves or subjects in relevant virtual backgrounds to enhance learning experiences.</p> <h2>Pricing and Plans</h2> <p>Unscreen offers both free and paid options:</p> <h3>Free Version</h3> <p>The free version of Unscreen allows users to process videos with the following limitations:</p> <ul> <li>Maximum clip length of 5 seconds (10 seconds for signed-up users)</li> <li>Output resolution limited to 360p</li> <li>Unobtrusive Unscreen watermark on output</li> <li>Limited support for file formats, codecs, and frame rates</li> </ul> <h3>Paid Options</h3> <p>For users requiring more advanced features, Unscreen offers two paid options:</p> <ul> <li>Monthly subscription: $1.98 per video minute</li> <li>Pay-as-you-go: $4.99 per video minute</li> </ul> <p>These paid options provide access to Unscreen Pro features, including higher resolution output, no watermarks, and audio support.</p> <h2>Technical Details</h2> <h3>Supported File Formats</h3> <p>Unscreen supports the following input file formats:</p> <ul> <li>MP4</li> <li>MOV</li> <li>WebM</li> <li>OGG</li> <li>GIF</li> </ul> <p>There is no maximum file size or resolution limit, but larger files and higher resolutions may take longer to process and might not work on devices with limited hardware resources.</p> <h3>Output Options</h3> <p>Processed videos can be downloaded in the following formats:</p> <ul> <li>GIF</li> <li>Animated PNG</li> <li>ZIP file containing individual PNG/JPG frames</li> </ul> <p>Unscreen Pro users have additional output options, including MP4 files with preserved audio tracks.</p> <h2>Integration and Plugins</h2> <h3>API Access</h3> <p>Unscreen Pro offers API access, allowing developers to integrate Unscreen's functionality into their own applications or workflows.</p> <h3>Adobe Premiere Pro and After Effects Plugin</h3> <p>Unscreen provides a plugin for Adobe Premiere Pro and After Effects, enabling seamless integration with these popular video editing software packages. Users can process their videos with Unscreen Pro and then import the results directly into their Adobe projects.</p> <h2>Privacy and Data Security</h2> <p>Unscreen emphasizes user privacy and data security. The company states that they handle personal data in accordance with their privacy policy, which users are encouraged to review before using the service. It's important to note that by uploading content to Unscreen, users agree to the company's terms of service.</p> <h2>Limitations and Considerations</h2> <p>While Unscreen offers powerful background removal capabilities, users should be aware of certain limitations:</p> <ul> <li>The free version has significant restrictions on clip length and output quality</li> <li>Processing very large files or high-resolution videos may be slow or impossible on devices with limited resources</li> <li>The accuracy of background removal may vary depending on the complexity of the original footage</li> <li>Audio support is only available in the Pro version</li> </ul> <h2>Comparison to Traditional Methods</h2> <p>Compared to traditional background removal techniques like chroma keying and green screens, Unscreen offers several advantages:</p> <ul> <li>No need for specialized equipment or controlled shooting environments</li> <li>Faster processing times, especially for simple backgrounds</li> <li>More accessible to non-professional users</li> <li>Can work with existing footage not shot on a green screen</li> </ul> <p>However, for some high-end professional applications, traditional methods may still offer more precise control and higher quality results in certain situations.</p> <h2>User Reviews and Reception</h2> <p>While specific user reviews were not provided in the source materials, the tool has been featured on various technology and creativity-focused platforms. Users generally praise Unscreen for its ease of use and the quality of its results, particularly for a fully automated tool. However, as with any AI-powered service, individual results may vary depending on the specific content being processed.</p> <h2>Future Developments</h2> <p>As an AI-powered tool, Unscreen is likely to continue improving its background removal algorithms and expanding its feature set. Potential areas for future development could include:</p> <ul> <li>Enhanced processing of complex backgrounds and fine details</li> <li>Improved handling of semi-transparent objects</li> <li>Expanded format support</li> <li>More advanced background replacement options</li> <li>Integration with additional video editing software packages</li> </ul> <h2>Conclusion</h2> <p>Unscreen offers a powerful, AI-driven solution for removing backgrounds from videos and GIFs. Its automated approach and user-friendly interface make professional-quality background removal accessible to a wide range of users, from content creators to professional video editors. While the free version has limitations, the paid options provide advanced features suitable for more demanding applications. As AI technology continues to advance, tools like Unscreen are likely to play an increasingly important role in video production and content creation workflows.</p> </div> </div> </div> <!-- Main Content END --> <!-- Right sidebar START --> <div class="col-lg-3 mt-5 mt-lg-0"> <div data-sticky="" data-margin-top="80" data-sticky-for="767" style="position: fixed; width: 285px; left: 1078px; top: 80px;"> <!-- Social widget START --> <!-- Social widget END --> <!-- Trending topics widget START --> <div> <h4 class="mt-4 mb-3">Trending topics</h4> <!-- Category item --> <div class="text-center mb-3 card-bg-scale position-relative overflow-hidden rounded bg-dark-overlay-4 " style="background-image:url(/bn/images/blog/4by3/01.jpg); background-position: center left; background-size: cover;"> <div class="p-3"> <a href="/tag/ChatGPT" class="stretched-link btn-link fw-bold text-white h5">ChatGPT</a> </div> </div> <!-- Category item --> <div class="text-center mb-3 card-bg-scale position-relative overflow-hidden rounded" style="background-image:url(/bn/images/blog/4by3/02.jpg); background-position: center left; background-size: cover;"> <div class="bg-dark-overlay-4 p-3"> <a href="/search/claude" class="stretched-link btn-link fw-bold text-white h5">Claude</a> </div> </div> <!-- Category item --> <div class="text-center mb-3 card-bg-scale position-relative overflow-hidden rounded" style="background-image:url(/bn/images/blog/4by3/03.jpg); background-position: center left; background-size: cover;"> <div class="bg-dark-overlay-4 p-3"> <a href="/ai/video-generator" class="stretched-link btn-link fw-bold text-white h5">AI video Generator</a> </div> </div> <!-- Category item --> <div class="text-center mb-3 card-bg-scale position-relative overflow-hidden rounded" style="background-image:url(/bn/images/blog/4by3/04.jpg); background-position: center left; background-size: cover;"> <div class="bg-dark-overlay-4 p-3"> <a href="/ai/NSFW" class="stretched-link btn-link fw-bold text-white h5">NSFW</a> </div> </div> <!-- Category item --> <div class="text-center mb-3 card-bg-scale position-relative overflow-hidden rounded" style="background-image:url(/bn/images/blog/4by3/05.jpg); background-position: center left; background-size: cover;"> <div class="bg-dark-overlay-4 p-3"> <a href="/search/AGI" class="stretched-link btn-link fw-bold text-white h5">AGI</a> </div> </div> <!-- View All Category button --> </div> <!-- Trending topics widget END --> </div> </div> <!-- Right sidebar END --> </div> </div> </section> <section class="position-relative pt-0"> <div class="container"> <h2 class="m-0"><i class="bi bi-megaphone"></i> Related Tools</h2> <div class="row"> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/runway-ml"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/runwayml_com.png" alt="Runway ML image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/runway-ml" class="btn-link text-reset fw-bold">Runway ML</a></h4> <p class="card-text">Runway ML is a platform that combines artificial intelligence with creative fields to democratize content creation and boost creativity. Established i ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/palette"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/palette_fm.png" alt="Palette image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/palette" class="btn-link text-reset fw-bold">Palette</a></h4> <p class="card-text">Palette.fm is an innovative platform dedicated to colorizing black and white photos through artificial intelligence. Users can effortlessly upload the ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/nmkd-stable-diffusion-gui"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/nmkd_itch_io-t2i-gui.png" alt="NMKD Stable Diffusion GUI image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/nmkd-stable-diffusion-gui" class="btn-link text-reset fw-bold">NMKD Stable Diffusion GUI</a></h4> <p class="card-text">NMKD Stable Diffusion GUI is a user-friendly platform designed to ease the use of the Stable Diffusion AI model, which generates or modifies images ba ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/easy-peasy-ai"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/easy-peasy_ai.png" alt="Easy-peasy.AI image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/easy-peasy-ai" class="btn-link text-reset fw-bold">Easy-peasy.AI</a></h4> <p class="card-text">Peasy (Easy-Peasy.AI) is an AI-driven platform that simplifies content creation, offering over 80 templates for various purposes such as resumes, job ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/pollinations-ai"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/pollinations_ai.png" alt="Pollinations.ai image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/pollinations-ai" class="btn-link text-reset fw-bold">Pollinations.ai</a></h4> <p class="card-text">Pollinations.ai is an AI-driven platform that focuses on image generation and AI art creation. It has recently expanded its focus to include AI music ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/unstable-diffusion"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/unstability_ai.png" alt="Unstable Diffusion image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/unstable-diffusion" class="btn-link text-reset fw-bold">Unstable Diffusion</a></h4> <p class="card-text">Unstable Diffusion is a neural network-powered tool for image generation, utilizing diffusion modeling to transform random noise images into desired i ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/civitai"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/civitai_com.png" alt="Civitai image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/civitai" class="btn-link text-reset fw-bold">Civitai</a></h4> <p class="card-text">Civitai is a platform for Generative AI resource sharing, offering a wide range of content for artists and AI enthusiasts. It serves as a digital libr ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/dezgo"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/dezgo_com.png" alt="Dezgo image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/dezgo" class="btn-link text-reset fw-bold">Dezgo</a></h4> <p class="card-text">Dezgo is an AI tool that enables users to create images and videos from textual descriptions, making it a popular choice for designers, content creato ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/soulgen"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/soulgen_net.png" alt="SoulGen image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/soulgen" class="btn-link text-reset fw-bold">SoulGen</a></h4> <p class="card-text">SoulGen AI is a powerful NSFW image generator that transforms text prompts into art, catering to artists, designers, and creatives of all levels. It s ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/pfpmaker"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/pfpmaker_com.png" alt="PFPMaker image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/pfpmaker" class="btn-link text-reset fw-bold">PFPMaker</a></h4> <p class="card-text">PFPMaker is an AI-powered platform designed for generating professional or creative profile pictures tailored for various online platforms such as Lin ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/magic-eraser"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/magic-eraser_com.png" alt="Magic Eraser image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/magic-eraser" class="btn-link text-reset fw-bold">Magic Eraser</a></h4> <p class="card-text">Magic Eraser by Magic Studio is a user-friendly online tool designed for effortlessly removing unwanted objects, people, or text from images in a few ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/zyro"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/zyro_com.png" alt="Zyro image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/zyro" class="btn-link text-reset fw-bold">Zyro</a></h4> <p class="card-text">Zyro is a comprehensive website builder catering to various needs including personal websites, small online stores, and businesses. It offers a range ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/vance-ai"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/vanceai_com.png" alt="Vance AI image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/vance-ai" class="btn-link text-reset fw-bold">Vance AI</a></h4> <p class="card-text">Vance AI is a leading provider of AI photo enhancement and editing tools that aim to simplify workflow and increase productivity in photo processing. ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/mage-space"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/mage_space.png" alt="Mage.space image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/mage-space" class="btn-link text-reset fw-bold">Mage.space</a></h4> <p class="card-text">Mage.space is an AI-driven platform that enables users to create digital art using textual descriptions. Launched in 2019, it offers over 50 AI text-t ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/promptchan-ai"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/promptchan_ai.png" alt="Promptchan AI image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/promptchan-ai" class="btn-link text-reset fw-bold">Promptchan AI</a></h4> <p class="card-text">Promptchan AI is an artificial intelligence-powered image generation platform specializing in creating not safe for work (NSFW) and adult content.</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/newfuku"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/newfuku_com.png" alt="NewFuku image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/newfuku" class="btn-link text-reset fw-bold">NewFuku</a></h4> <p class="card-text">NewFuku is a cutting-edge Artificial Intelligence (AI) platform designed to revolutionize the online shopping experience through advanced image proces ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/playground"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/playgroundai_com.png" alt="Playground image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/playground" class="btn-link text-reset fw-bold">Playground</a></h4> <p class="card-text">Playground is an intuitive online platform designed for mixed image editing, allowing users to blend real and synthetic images to create artistic or p ...</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> <!-- Card item START --> <div class="col-sm-6 col-lg-3"> <div class="card mb-4"> <!-- Card img --> <div class="position-relative"> <a href="/ai/stockimg-ai"> <img class="card-img" src="https://aiaitool.blob.core.windows.net/homeimage/stockimg_ai.png" alt="Stockimg AI image" loading="lazy" onerror="this.style.display='none';" /></a> <div class="card-img-overlay d-flex align-items-start flex-column p-3"> <!-- Card overlay bottom --> </div> </div> <div class="card-body px-0 pt-3"> <h4 class="card-title"><a href="/ai/stockimg-ai" class="btn-link text-reset fw-bold">Stockimg AI</a></h4> <p class="card-text">Stockimg AI is an artificial intelligence-driven platform that combines image generation capabilities with social media management tools.</p> <!-- Card info --> </div> </div> </div> <!-- Card item END --> </div> <!-- Row end --> </div> </section> <!-- ======================= Main END --> <!-- ======================= Sticky post START --> <!-- ======================= Sticky post END --> </main> <!-- **************** MAIN CONTENT END **************** --> } <section class="pt-4"> <div class="container"> <div class="row"> <div class="col-lg-9 mx-auto text-center py-5"> <h6 >Best AI Search Experience by University Professors and Industry Experts</h6> <!-- Search --> <div class="row"> <div class="col-sm-8 col-md-6 col-lg-5 mx-auto"> <form class="input-group" action="/AI" method="GET"> <input class="form-control form-control-lg border-success" name="search" asp-route-search="search" type="search" placeholder="Search AI with AI" aria-label="Search"> <button class="btn btn-success btn-lg m-0" type="submit"> <span class="d-none d-md-block">Search</span> <i class="d-block d-md-none fas fa-search"></i> </button> </form> </div> </div> </div> </div> </div> </section> <!-- - - - - - - - - - - - - end Content - - - - - - - - - - - - - - - --> </main> <!-- ======================= Footer START --> <footer class="bg-dark pt-5"> <div class="container"> <!-- About and Newsletter START --> <div class="row pt-3 pb-4"> <div class="col-md-3"> <img src="https://image.blockchain.news/sharedimage/blockchain_Logo_black-02%20.jpg" width="286" height="70" alt="footer logo"> </div> <div class="col-md-5"> <p class="text-body-secondary">Welcome to your premier source for the latest in AI, cryptocurrency, blockchain, and AI search tools—driving tomorrow's innovations today.</p> </div> </div> <!-- About and Newsletter END --> <!-- Divider --> <hr> <!-- Widgets START --> <div class="row pt-5"> <!-- Footer Widget --> <div class="col-md-6 col-lg-3 mb-4"> <h5 class="mb-4 text-white">Recommended AI tools</h5> <!-- Item --> <div class="mb-4 position-relative"> <div><a href="/ai/chatbot" class="badge text-bg-danger mb-2"><i class="fas fa-circle me-2 small fw-bold"></i>Chatbot</a></div> <a href="/ai/chatgpt" class="btn-link text-white fw-normal">ChatGPT</a> </div> <!-- Item --> </div> <!-- Footer Widget --> <div class="col-md-6 col-lg-3 mb-4"> <h5 class="mb-4 text-white">ABOUT</h5> <div class="row"> <div class="col-6"> <ul class="nav flex-column text-primary-hover"> <li class="nav-item"><a class="nav-link" href="/about">About US</a></li> <li class="nav-item"><a class="nav-link" href="/Advertisement">Advertisement</a></li> </ul> </div> </div> </div> <!-- Footer Widget --> <div class="col-sm-6 col-lg-3 mb-4"> <h5 class="mb-4 text-white">Get Regular Updates</h5> <ul class="nav flex-column text-primary-hover"> <li class="nav-item"><a class="nav-link pt-0" href="https://www.linkedin.com/company/blockchainnewsbn/"><i class="fab fa-linkedin"></i> Linkedin</a></li> <li class="nav-item"><a class="nav-link" href="https://twitter.com/BlockchainNewsM"><i class="fab fa-twitter-square"></i> Twitter</a></li> <li class="nav-item"><a class="nav-link" href="#"><i class="far fa-envelope fa-fw me-2"></i>Newsletters</a></li> <li class="nav-item"><a class="nav-link" href="/feed"><i class="far fa-envelope fa-fw me-2"></i>Rss</a></li> </ul> </div> <!-- Footer Widget --> <div class="col-sm-6 col-lg-3 mb-4"> <h5 class="mb-4 text-white">Disclaimer</h5> <p class="text-body-secondary"> Disclaimer: Blockchain.news provides content for informational purposes only. In no event shall blockchain.news be responsible for any direct, indirect, incidental, or consequential damages arising from the use of, or inability to use, the information provided. This includes, but is not limited to, any loss or damage resulting from decisions made based on the content. Readers should conduct their own research and consult professionals before making financial decisions. </p> </div> </div> <!-- Widgets END --> <!-- Hot topics START --> <div class="row"> <h5 class="mb-2 text-white">Hot topics</h5> <ul class="list-inline text-primary-hover lh-lg"> <li class="list-inline-item"><a href="/tag/chatgpt">ChatGPT News</a></li> <li class="list-inline-item"><a href="/ai/nsfw">NSFW</a></li> <li class="list-inline-item"><a href="/search/agi">Artificial General Intelligence</a></li> <li class="list-inline-item"><a href="/tag/bitcoin">Bitcoin</a></li> <li class="list-inline-item"><a href="/tag/ethereum">Ethereum</a></li> <li class="list-inline-item"><a href="/ai/image-generator">Image Generator</a></li> <li class="list-inline-item"><a href="/tag/web3">Web 3.0</a></li> </ul> </div> <!-- Hot topics END --> </div> <!-- Footer copyright START --> <div class="bg-dark-overlay-3 mt-5"> <div class="container"> <div class="row align-items-center justify-content-md-between py-4"> <div class="col-md-6"> <!-- Copyright --> <div class="text-center text-md-start text-primary-hover text-body-secondary"> ©2025 <a href="https://blockchain.news/" class="text-reset btn-link" target="_blank">Blockchain News</a>. All rights reserved </div> </div> <div class="col-md-6 d-sm-flex align-items-center justify-content-center justify-content-md-end"> <!-- Language switcher --> <div class="dropup me-0 me-sm-3 mt-3 mt-md-0 text-center text-sm-end"> <a class="dropdown-toggle text-primary-hover" href="#" role="button" id="languageSwitcher" data-bs-toggle="dropdown" aria-expanded="false"> Language </a> <ul class="dropdown-menu min-w-auto" aria-labelledby="languageSwitcher"> <li><a class="dropdown-item" href="/zh">中文</a></li> <li><a class="dropdown-item" href="/">English</a></li> </ul> </div> <!-- Links --> <ul class="nav text-primary-hover text-center text-sm-end justify-content-center justify-content-center mt-3 mt-md-0"> <li class="nav-item"><a class="nav-link" href="/termsandconditions">Terms</a></li> <li class="nav-item"><a class="nav-link" href="/privacy">Privacy</a></li> <li class="nav-item"><a class="nav-link pe-0" href="#">Cookies</a></li> </ul> </div> </div> </div> </div> <!-- Footer copyright END --> </footer> <!-- =======================Footer END --> <!-- Back to top --> <div class="back-top"><i class="bi bi-arrow-up-short"></i></div> <!-- ======================= JS libraries, plugins and custom scripts --> <!-- Bootstrap JS --> <script src="/bn/vendor/bootstrap/dist/js/bootstrap.bundle.min.js"></script> <!-- Vendors --> <script src="/bn/vendor/tiny-slider/tiny-slider.js"></script> <script src="/bn/vendor/sticky-js/sticky.min.js"></script> <script src="/bn/vendor/vanilla-lazyload/lazyload.min.js"></script> <script src="/assets/js/chatbot.js"></script> <script src="/bn/vendor/langchain/langgraph-sdk/dist/utils/async_caller.js"></script> <!-- Template Functions --> <script src="/bn/js/functions.js"></script> <script> document.addEventListener('DOMContentLoaded', function () { document.getElementById('searchForm').addEventListener('submit', function (event) { var bannedWords = ["buy weed", "zachyman", "cannabis", "cocaine", "Xanax", "Live Rosin", "blendzhub"]; var userInput = document.getElementById('searchInput').value.toLowerCase(); for (var i = 0; i < bannedWords.length; i++) { if (userInput.includes(bannedWords[i])) { alert("Your search query contains prohibited terms and has been logged. Please revise your query and try again."); event.preventDefault(); return; // Stop further execution } } }); }); </script> <script type="module"> import { Client } from "https://esm.sh/@langchain/langgraph-sdk@0.0.31"; document.addEventListener('DOMContentLoaded', function () { // 获取元素引用 const messageInput = document.getElementById('messageInput'); const sendButton = document.getElementById('sendButton'); const chatForm = document.getElementById('chatForm'); let messages = []; let isLoading = false; // 确保元素存在 if (!messageInput || !sendButton || !chatForm) { console.error('Required elements not found'); return; } // 启用输入 function enableInput() { messageInput.disabled = false; sendButton.disabled = false; } // 禁用输入 function disableInput() { messageInput.disabled = true; sendButton.disabled = true; } // 添加消息到界面 function addMessage(content, role) { const messagesContainer = document.getElementById('chatMessages'); const messageDiv = document.createElement('div'); messageDiv.classList.add('message', `${role}-message`); messageDiv.textContent = content; messagesContainer.appendChild(messageDiv); messagesContainer.scrollTop = messagesContainer.scrollHeight; } // 初始化聊天客户端 async function initChatClient() { try { const response = await fetch('/api/chat/config'); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const config = await response.json(); return new Client({ apiUrl: config.apiUrl, apiKey: config.apiKey, timeoutMs: 30000, }); } catch (error) { console.error('配置获取错误:', error); throw new Error("无法获取配置信息: " + error.message); } } // 处理提交 async function handleSubmit(e) { if (e) { e.preventDefault(); e.stopPropagation(); } const input = messageInput.value.trim(); if (!input || isLoading) return; // 清空输入并禁用 messageInput.value = ''; disableInput(); isLoading = true; // 添加用户消息 addMessage(input, 'user'); messages.push({ role: 'user', content: input }); // 添加加载指示器 const loadingIndicator = document.createElement('div'); loadingIndicator.classList.add('typing-indicator'); loadingIndicator.innerHTML = '<span></span><span></span><span></span>'; document.getElementById('chatMessages').appendChild(loadingIndicator); try { const client = await initChatClient(); // 获取助手列表 const assistants = await client.assistants.search({ metadata: null, offset: 0, limit: 10, }); // 使用第一个助手 const agent = assistants[0]; // 创建新的对话线程 const thread = await client.threads.create(); // 开始流式响应 const streamResponse = client.runs.stream( thread["thread_id"], agent["assistant_id"], { input: { messages: [{ role: "human", content: input }] }, } ); // 处理流式响应 for await (const chunk of streamResponse) { if (chunk.event === "values") { if (chunk.data.messages.length > 1 && chunk.data.messages[1].type === "ai") { const answer = chunk.data.messages[1].content; // 更新或添加助手消息 const lastMessage = messages[messages.length - 1]; if (lastMessage && lastMessage.role === 'assistant') { lastMessage.content = answer; // 更新DOM中的最后一条消息 const lastMessageElement = document.querySelector('.chat-messages .bot-message:last-child'); if (lastMessageElement) { lastMessageElement.textContent = answer; } } else { messages.push({ role: 'assistant', content: answer }); addMessage(answer, 'bot'); } } } } } catch (error) { console.error('Error:', error); const errorMessage = error instanceof Error ? error.message : '未知错误'; addMessage(`错误: ${errorMessage}`, 'bot'); messages.push({ role: 'assistant', content: `错误: ${errorMessage}` }); } finally { const indicator = document.querySelector('.typing-indicator'); if (indicator) { indicator.remove(); } isLoading = false; enableInput(); } } // 绑定表单提交事件 chatForm.addEventListener('submit', function (e) { // 这里也要阻止默认行为 e.preventDefault(); e.stopPropagation(); handleSubmit(e); }); // 绑定回车键事件 messageInput.addEventListener('keypress', function (e) { if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); e.stopPropagation(); handleSubmit(e); } }); // 模态框关闭时清空聊天 const chatModal = document.getElementById('chatModal'); if (chatModal) { chatModal.addEventListener('hidden.bs.modal', function () { const chatMessages = document.getElementById('chatMessages'); if (chatMessages) { chatMessages.innerHTML = ''; } messages = []; messageInput.value = ''; }); } // 初始启用输入 enableInput(); });</script> <!-- Chat Modal --> <div class="modal fade" id="chatModal" tabindex="-1" aria-labelledby="chatModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="chatModalLabel">AI Chat (Testing)</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="chat-container"> <div class="chat-messages" id="chatMessages"> <!-- Messages will appear here --> </div> <div class="chat-input"> <form id="chatForm"> <div class="input-group"> <input type="text" class="form-control" id="messageInput" placeholder="Type your message..."> <button type="submit" class="btn btn-primary" id="sendButton"> Send </button> </div> </form> </div> </div> </div> </div> </div> </div> </body> </html>