Generatore di documenti

Genera una specificazione dello strumento in JSON precisa per SEO e analisi di dominio, aiutando costruttori e agenti IA a definire ambito e contratti di dati.

Request Feature / Support
6,872+
Total Calculations Run
< 15ms
Browser Execution Speed
100%
Client-Side Privacy
4.9 / 5.0
User Satisfaction
AI Web Tool Generator

Build Your Own Custom Web Calculator in Seconds

Type what tool or calculator you need below. Our AI will build it instantly for your site.

Popular ideas:
100% FREE • No Credit Card Required

Informazioni su questo strumento

Questo strumento offre un generatore di specifiche formali localizzate per strumenti online focalizzati su contenuti SEO e analisi del dominio. Produce un pacchetto JSON leggibile dalla macchina che codifica lo scopo dello strumento, l’intento utente, la logica chiave, input, output e requisiti di localizzazione. Gli utenti principali sono sviluppatori di strumenti, agenti IA, product manager e ingegneri QA che necessitano di un contratto preciso per implementare, rivedere o confrontare opzioni. Il pacchetto include una specifica di livello superiore, category_id, type, image_svg e un blocco languages con contenuto in inglese.
La logica chiave e le funzionalità sono definite come un insieme di sezioni esplicite: Scopo, Logica chiave e Funzionalità, Input & Output, Algoritmi & Calcoli, Errori & Casi limite, Localizzazione per settore/area, Ipotesi & Esclusioni. Le funzionalità obbligatorie vs opzionali sono chiaramente separate. Gli input includono nome, tipo, unità, valori di esempio e validazione; gli output includono tipo, unità e regole di formattazione. Il generatore assicura coerenza tra le sezioni e fornisce valori di esempio per illustrare contratti di dati validi.
Il flusso operativo enfatizza schemi deterministici, nominazioni standardizzate e harness di validazione. Lo strumento supporta più locali nel blocco languages; Per l’inglese offre name, title_tag, url_slug, image_alt_text, meta_description, keywords, short_description, short_business_description, description, how_to_use e faq. L’immagine SVG fornita è una vettoriale autonoma 512x512 con elemento grafico centrale e titoli/desc accessibili. Casi d’uso: documentare nuovi strumenti SEO, permettere all’IA di ragionare sulla struttura dello strumento e accelerare il passaggio tra prodotto, ingegneria e team contenuti.
Caratteristiche distintive: conteggio parole rigoroso, etichettatura esplicita delle sezioni e uno schema JSON riproducibile che può essere validato con riferimento. L’output riduce al minimo l’ambiguità e supporta localizzazione scalabile. Adatto per cataloghi di strumenti, specifiche API e repository di documentazione interni.

Come usare

  1. Definisci l’ambito dello strumento, pubblico e dominio (SEO contenuti, analisi del dominio).
  2. Fornisci input: nome dello strumento, category_id, pubblico di destinazione, esigenze di localizzazione e ambito linguistico.
  3. Esegui la generazione per produrre la specifica JSON con i campi di livello superiore e il blocco language in inglese.
  4. Verifica coerenza, correttezza e standard di unità; aggiusta gli input se necessario.
  5. Esporta o salva il pacchetto JSON per integrazione in documentazione e pipeline.
How to use generator document

Frequently Asked Questions

Trova risposte rapide

Cosa produce lo strumento?
Lo strumento produce un singolo pacchetto JSON contenente specifica, category_id, type, image_svg e un blocco languages.en con tutti i campi richiesti (name, title_tag, url_slug, image_alt_text, meta_description, keywords, short_description, short_business_description, description, how_to_use, faq). Il contenuto è pensato per sviluppatori di strumenti e agenti IA.
Quali località sono supportate?
Il blocco lingua predefinito è inglese (en). Il framework può essere esteso aggiungendo nuovi oggetti lingua con gli stessi campi. Localizzazione segue le convenzioni locali standard per SEO e formattazione dei contenuti.
Possono essere personalizzati input e output?
Sì. La specifica definisce esplicitamente input richiesti, funzionalità opzionali/avanzate e regole di formattazione dell’output. lo schema supporta l’estensione dei campi e l’adattamento delle validazioni mantenendo la struttura superiore.
Come viene generato image_svg?
Image_svg è una vettoriale autonoma 512x512 con forme forti e alto contrasto, centrato sulla tela. Include un e un <desc> per l’accessibilità e non utilizza risorse esterne. </div> </details> </div> </section> <!-- High-converting CTA for free registration on tool page --> <section class="mt-16 max-w-7xl mx-auto bg-gradient-to-r from-blue-50 to-indigo-50 border border-blue-100 rounded-3xl p-8 md:p-12 flex flex-col items-start gap-6 shadow-sm"> <div class="text-left"> <h3 class="text-2xl md:text-3xl font-extrabold text-slate-900 mb-3"> Need to run multiple calculations? </h3> <p class="text-gray-600 text-lg leading-relaxed max-w-4xl"> Create a free account today to unlock unlimited daily runs, access advanced parameters, save your history, and request custom features. </p> </div> <div> <a href="https://anyonlinetool.com/register" class="inline-block px-8 py-3.5 text-white text-center font-bold text-lg rounded-xl shadow-md hover:shadow-lg transition-all duration-200" style="background-color: #2563eb; color: #ffffff; width: auto;"> Register Free Account </a> </div> </section> <!-- Related Tools Section --> <section class="mt-20 max-w-7xl mx-auto text-left"> <h3 class="text-3xl font-extrabold text-[#030738] mb-2 text-center">Related Tools</h3> <p class="text-center text-gray-500 mb-10 text-xl">Other useful calculators and utilities you might like</p> <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-6"> <div class="bg-white rounded-2xl border border-gray-100 hover:border-indigo-100 shadow-sm hover:shadow-md p-6 flex flex-col gap-4 items-start relative transition-all duration-300"> <div class="w-12 h-12 flex items-center justify-center overflow-hidden shrink-0"> <img class="max-w-full max-h-full object-contain" src="https://anyonlinetool.com/storage/category/July2026/web-seo-tools.png" alt="Web & SEO Tools" loading="lazy" style="max-width: 100%; max-height: 100%; object-fit: contain;"> </div> <h4 class="text-lg font-bold text-[#030738] leading-tight"> Convertitore Spotify a MP3 </h4> <p class="text-gray-500 text-sm leading-normal"> Converte file audio forniti localmente in MP3, consentendo l’ascolto offline e la compatibilità tra... </p> <a href="https://anyonlinetool.com/it/tool/spotify-mp3-convertitore" class="absolute w-full h-full top-0 left-0 rounded-2xl"></a> </div> <div class="bg-white rounded-2xl border border-gray-100 hover:border-indigo-100 shadow-sm hover:shadow-md p-6 flex flex-col gap-4 items-start relative transition-all duration-300"> <div class="w-12 h-12 flex items-center justify-center overflow-hidden shrink-0"> <img class="max-w-full max-h-full object-contain" src="https://anyonlinetool.com/storage/category/July2026/web-seo-tools.png" alt="Web & SEO Tools" loading="lazy" style="max-width: 100%; max-height: 100%; object-fit: contain;"> </div> <h4 class="text-lg font-bold text-[#030738] leading-tight"> Calcolatore Distanza Stradale </h4> <p class="text-gray-500 text-sm leading-normal"> Calcolatore di distanza stradale per viaggiatori, pianificatori logistici e conducenti per stimare r... </p> <a href="https://anyonlinetool.com/it/tool/calcolatore-distanza-stradale" class="absolute w-full h-full top-0 left-0 rounded-2xl"></a> </div> <div class="bg-white rounded-2xl border border-gray-100 hover:border-indigo-100 shadow-sm hover:shadow-md p-6 flex flex-col gap-4 items-start relative transition-all duration-300"> <div class="w-12 h-12 flex items-center justify-center overflow-hidden shrink-0"> <img class="max-w-full max-h-full object-contain" src="https://anyonlinetool.com/storage/category/July2026/web-seo-tools.png" alt="Web & SEO Tools" loading="lazy" style="max-width: 100%; max-height: 100%; object-fit: contain;"> </div> <h4 class="text-lg font-bold text-[#030738] leading-tight"> Calcolatore Età </h4> <p class="text-gray-500 text-sm leading-normal"> Determina rapidamente l’età di una persona dal suo data di nascita con il nostro calcolatore gratuit... </p> <a href="https://anyonlinetool.com/it/tool/calcolatore-et%C3%A0" class="absolute w-full h-full top-0 left-0 rounded-2xl"></a> </div> <div class="bg-white rounded-2xl border border-gray-100 hover:border-indigo-100 shadow-sm hover:shadow-md p-6 flex flex-col gap-4 items-start relative transition-all duration-300"> <div class="w-12 h-12 flex items-center justify-center overflow-hidden shrink-0"> <img class="max-w-full max-h-full object-contain" src="https://anyonlinetool.com/storage/category/July2026/web-seo-tools.png" alt="Web & SEO Tools" loading="lazy" style="max-width: 100%; max-height: 100%; object-fit: contain;"> </div> <h4 class="text-lg font-bold text-[#030738] leading-tight"> Convertitore di valute </h4> <p class="text-gray-500 text-sm leading-normal"> Converter rapidamente importi tra diverse valute con il nostro convertitore di valuta online gratuit... </p> <a href="https://anyonlinetool.com/it/tool/convertitore-di-valute" class="absolute w-full h-full top-0 left-0 rounded-2xl"></a> </div> </div> </section> <!-- Feedback Section --> <section class="mt-20 mb-20 max-w-3xl mx-auto bg-gray-50 rounded-3xl p-8 md:p-12 text-center" id="feedback"> <h3 class="text-2xl font-bold text-[#030738] mb-2">Il tuo feedback è importante</h3> <p class="text-gray-500 mb-8">Aiutaci a migliorare</p> <form method="POST" action="https://anyonlinetool.com/tool/feedback/29740" class="space-y-4 text-left"> <input type="hidden" name="_token" value="eUkoI8jgOnP1kDVhmY3e4nahNAHHsq2dy3mSi6tA" autocomplete="off"> <div> <textarea name="issues" class="w-full rounded-xl border-gray-200 p-4 h-32 focus:border-indigo-500 focus:ring-indigo-100" placeholder="Write your thoughts here..."></textarea> </div> <div class="flex gap-4"> <div class="flex-grow"> <input type="email" name="reported_by_email" class="w-full rounded-xl border-gray-200 p-4 focus:border-indigo-500 focus:ring-indigo-100" placeholder="La tua email" value=""> </div> <button type="submit" class="text-white px-8 py-4 rounded-xl font-bold transition-all shadow-md hover:shadow-lg hover:opacity-95 whitespace-nowrap" style="background-color: #2563eb; color: #ffffff; min-width: 120px;">Invia</button> </div> </form> </section> </main> <div class="embed-popup hidden fixed w-full h-full left-0 top-0 bg-black/30 z-50"> <div class="absolute w-[calc(100%-20px)] max-w-2xl aspect-[9/16] md:aspect-video bg-white rounded-lg shadow-md top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 px-6 py-8 flex flex-col gap-6 justify-center"> <div class="absolute right-3 top-3"> <svg xmlns="http://www.w3.org/2000/svg" class="close-popup cursor-pointer w-6" viewBox="0 0 512 512"> <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M368 368L144 144M368 144L144 368" /> </svg> </div> <div> <form action=""> <div class="flex flex-col md:flex-row gap-4"> <div class="w-full md:w-1/2"> <label for="lang" class="text-sm">Lingua</label> <select name="lang" id="lang" class="w-full lang-selectize"> <option value="ar" selected >Arabic</option> <option value="da" >Danish</option> <option value="de" >German</option> <option value="en" >English</option> <option value="es" >Spanish</option> <option value="fr" >French</option> <option value="he" >Hebrew</option> <option value="it" >Italian</option> <option value="nb" >Norwegian bokmål</option> <option value="nl" >Dutch</option> <option value="nl-NL" >Dutch</option> <option value="pt" >Portuguese</option> <option value="sv" >Swedish</option> </select> </div> <div class="w-full md:w-1/2"> </div> </div> <input type="hidden" name="language" value="en"> <input type="hidden" name="tool" value="generator-document"> <input type="hidden" name="url" value="https://anyonlinetool.com"> <input type="hidden" name="license" value="guest_user"> </form> </div> <div class="relative"> <code class="code block px-4 py-3 pr-6 font-mono text-base font-medium text-gray-900 bg-accent/20 rounded-md"> <script src="https://anyonlinetool.com/embed-bucket/aot.js" data-license-key="guest_user" data-lang="ar" data-tool-key="generator-document"></script> </code> <button data-copy="copia" data-copied="copiato" class="copy-code absolute top-2.5 right-2.5 rtl:right-auto rtl:left-2.5 text-xs cursor-pointer shadow bg-white rounded py-1 px-2"> copia </button> </div> <div class="bg-yellow-100 rounded-md border border-yellow-400 px-2 py-3"> <div class="flex flex-col md:flex-row items-center gap-3"> <div class="flex items-center gap-y-2 gap-x-3"> <svg xmlns="http://www.w3.org/2000/svg" class="w-6 shrink-0" viewBox="0 0 512 512"> <path d="M248 64C146.39 64 64 146.39 64 248s82.39 184 184 184 184-82.39 184-184S349.61 64 248 64z" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="32" /> <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M220 220h32v116" /> <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="32" d="M208 340h88" /> <path d="M248 130a26 26 0 1026 26 26 26 0 00-26-26z" /> </svg> <div class="flex-1"> <p>No website found! Please add a website and obtain a license for improved tracking. It's free! </p> </div> </div> <div class="shrink-0"> <a class="inline-block bg-accent/90 transition-colors duration-150 ease-out hover:bg-accent text-white text-sm px-4 py-2 rounded" href="https://anyonlinetool.com/dashboard/websites">Add Website</a> </div> </div> </div> </div> </div> </main> <!-- Modern Compact Footer --> <footer class="relative text-white overflow-hidden" style="background-color: rgb(22 88 245 / var(--tw-bg-opacity));"> <div class="relative z-10 px-6 pt-10 pb-6 mx-auto max-w-7xl"> <!-- Main footer content --> <div class="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-12 gap-8 mb-8 border-b border-white/10 pb-8"> <!-- Brand Column (Wider on desktop) --> <div class="md:col-span-1 lg:col-span-5"> <a href="https://anyonlinetool.com/it" class="inline-block mb-4 group"> <img src="https://anyonlinetool.com/themes/tailwind/images/logo.png" alt="Any Online Tool" class="h-8 md:h-10 w-auto transform transition-transform duration-300 group-hover:scale-105" style="filter: grayscale(100%) brightness(0) invert(100%);"> </a> <p class="text-sm text-white/90 leading-relaxed mb-6 max-w-sm"> Your On-Demand Toolbox. Esplora un mondo di strumenti, simulatori, calcolatrici e componenti aggiuntivi generati dall'IA su misura per le tue esigenze. </p> <!-- Social Links --> <div class="flex gap-2"> <a href="#" class="w-8 h-8 flex items-center justify-center bg-white/10 rounded-lg hover:bg-white hover:-translate-y-1 transition-all duration-300 group"> <svg class="w-4 h-4 text-white group-hover:text-blue-600" fill="currentColor" viewBox="0 0 320 512"> <path d="M279.1 288l14.2-92.7h-88.9v-60.1c0-25.4 12.4-50.1 52.2-50.1h40.4V6.3S260.4 0 225.4 0c-73.2 0-121.1 44.4-121.1 124.7v70.6H22.9V288h81.4v224h100.2V288z" /> </svg> </a> <a href="#" class="w-8 h-8 flex items-center justify-center bg-white/10 rounded-lg hover:bg-white hover:-translate-y-1 transition-all duration-300 group"> <svg class="w-4 h-4 text-white group-hover:text-blue-400" fill="currentColor" viewBox="0 0 24 24"> <path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" /> </svg> </a> <a href="#" class="w-8 h-8 flex items-center justify-center bg-white/10 rounded-lg hover:bg-white hover:-translate-y-1 transition-all duration-300 group"> <svg class="w-4 h-4 text-white group-hover:text-blue-700" fill="currentColor" viewBox="0 0 448 512"> <path d="M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z" /> </svg> </a> <a href="#" class="w-8 h-8 flex items-center justify-center bg-white/10 rounded-lg hover:bg-white hover:-translate-y-1 transition-all duration-300 group"> <svg class="w-4 h-4 text-white group-hover:text-pink-600" fill="currentColor" viewBox="0 0 24 24"> <path fill-rule="evenodd" d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z" clip-rule="evenodd" /> </svg> </a> </div> </div> <!-- Information Column --> <div class="md:col-span-1 lg:col-span-3"> <h3 class="text-lg font-bold text-white mb-4">Informazioni</h3> <ul class="space-y-2 text-sm"> <li><a href="https://anyonlinetool.com/it/about" class="text-white/80 hover:text-white transition-colors">About Us</a> </li> <li><a href="https://anyonlinetool.com/blog" class="text-white/80 hover:text-white transition-colors">Latest News</a> </li> <li><a href="https://anyonlinetool.com/it/privacy" class="text-white/80 hover:text-white transition-colors">Privacy Policy</a></li> <li><a href="https://anyonlinetool.com/it/terms" class="text-white/80 hover:text-white transition-colors">Terms of Service</a></li> <li><a href="/sitemap.xml" class="text-white/80 hover:text-white transition-colors">Sitemap</a></li> <li><a href="https://anyonlinetool.com/it/contact" class="text-white/80 hover:text-white transition-colors">Contatto</a></li> </ul> </div> <!-- Contact Column --> <div class="md:col-span-1 lg:col-span-4"> <h3 class="text-lg font-bold text-white mb-4">Contatto</h3> <ul class="space-y-3"> <li> <a href="mailto:support@anyonlinetool.com" class="flex items-center group"> <div class="w-8 h-8 rounded-lg bg-white/20 flex items-center justify-center mr-3 group-hover:bg-white transition-colors"> <svg class="w-4 h-4 text-white group-hover:text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18.364 5.636l-3.536 3.536m0 5.656l3.536 3.536M9.172 9.172L5.636 5.636m3.536 9.192l-3.536 3.536M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-5 0a4 4 0 11-8 0 4 4 0 018 0z" /> </svg> </div> <div> <span class="block text-sm font-medium text-white">Support</span> <span class="text-xs text-white/80 group-hover:text-white">Support@AnyOnlineTool.com</span> </div> </a> </li> <li> <a href="mailto:sales@anyonlinetool.com" class="flex items-center group"> <div class="w-8 h-8 rounded-lg bg-white/20 flex items-center justify-center mr-3 group-hover:bg-white transition-colors"> <svg class="w-4 h-4 text-white group-hover:text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z" /> </svg> </div> <div> <span class="block text-sm font-medium text-white">Sales</span> <span class="text-xs text-white/80 group-hover:text-white">Sales@AnyOnlineTool.com</span> </div> </a> </li> <li> <a href="mailto:investors@anyonlinetool.com" class="flex items-center group"> <div class="w-8 h-8 rounded-lg bg-white/20 flex items-center justify-center mr-3 group-hover:bg-white transition-colors"> <svg class="w-4 h-4 text-white group-hover:text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6" /> </svg> </div> <div> <span class="block text-sm font-medium text-white">Investors</span> <span class="text-xs text-white/80 group-hover:text-white">Investors@AnyOnlineTool.com</span> </div> </a> </li> </ul> </div> </div> <div class="flex flex-col md:flex-row items-center justify-between gap-4 text-xs text-white/60"> <div class="space-y-1"> <p><strong>Copyright:</strong> © 2026 Any Online Tool. Tutti i diritti riservati.</p> <p><strong>Operated by:</strong> <a href="https://eternitech.com" target="_blank" class="hover:underline text-white/80">eternitech.com</a></p> <p><strong>US Address:</strong> 3899 Pembroke Rd, Hollywood, Florida 33021. <strong>Contact:</strong> <a href="mailto:support@anyonlinetool.com" class="hover:underline text-white/80">support@anyonlinetool.com</a></p> </div> <div class="flex items-center gap-2"> <svg class="w-3 h-3 text-red-500" fill="currentColor" viewBox="0 0 20 20"> <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd" /> </svg> <span>Empowering you to use AI for good.</span> </div> </div> </div> </footer> <!-- Scripts --> <script src="https://anyonlinetool.com/themes/tailwind/js/app.js" defer></script> <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.1/js/standalone/selectize.min.js"></script> <script> document.addEventListener('DOMContentLoaded', function() { const showbtn = document.querySelector('.embed-tool'); const popup = document.querySelector('.embed-popup'); const closebtn = document.querySelector('.close-popup'); // Show popup when click embed button showbtn.addEventListener('click', function(event) { event.preventDefault(); popup.classList.remove('hidden'); }); // Hide popup when click outside popup.addEventListener('click', function(event) { if (event.target.classList.contains('embed-popup')) { popup.classList.add('hidden'); } }); // Hide popup when click close button closebtn.addEventListener('click', function(event) { event.preventDefault(); popup.classList.add('hidden'); }); // Copy code to clipboard const copybtn = document.querySelector('.copy-code'); copybtn.addEventListener('click', function(event) { event.preventDefault(); const code = document.querySelector('.code'); const textarea = document.createElement('textarea'); textarea.value = code.innerText; document.body.appendChild(textarea); textarea.select(); document.execCommand('copy'); document.body.removeChild(textarea); copybtn.innerText = this.dataset.copied; setTimeout(() => { copybtn.innerText = this.dataset.copy; }, 3000); }); }); const url = document.querySelector('input[name="url"]').value; const tool = document.querySelector('input[name="tool"]').value; function generateCode(license, lang) { return `<script src="${url}/embed-bucket/aot.js" data-license-key="${license}" data-lang="${lang}" data-tool-key="generator-document"></script>` }; jQuery('document').ready(function($) { $('.lang-selectize').selectize({ onItemAdd: function(value) { document.querySelector('input[name="language"]').value = value; const license = document.querySelector('input[name="license"]').value; const script = generateCode(license, value); const unescapedScript = $('<textarea/>').html(script).text(); document.querySelector('.code').innerHTML = unescapedScript; } }); $('.website-selectize').selectize({ onItemAdd: function(value) { document.querySelector('input[name="license"]').value = value; const lang = document.querySelector('input[name="language"]').value; const script = generateCode(value, lang); const unescapedScript = $('<textarea/>').html(script).text(); document.querySelector('.code').innerHTML = unescapedScript; } }); }); </script> <script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script> <script> var swiper = new Swiper('.testimonial-swiper', { slidesPerView: 1, spaceBetween: 24, loop: true, autoplay: { delay: 4000, disableOnInteraction: false }, navigation: { nextEl: '.next-btn', prevEl: '.prev-btn' }, breakpoints: { 768: { slidesPerView: 2 }, 1024: { slidesPerView: 3 } } }); </script> <!-- Full Screen Loader --> <div id="fullscreenLoader" class="fixed inset-0 top-0 left-0 z-50 flex flex-col items-center justify-center hidden w-full h-full bg-gray-900 opacity-50"> <svg class="w-5 h-5 mr-3 -ml-1 text-white animate-spin" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"> <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle> <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"> </path> </svg> <p id="fullscreenLoaderMessage" class="mt-4 text-sm font-medium text-white uppercase"></p> </div> <!-- End Full Loader --> <div class="fixed inset-0 z-40 flex items-end justify-center px-4 py-6 pointer-events-none sm:p-6 sm:items-start sm:justify-end"> <div id="toast" x-data x-cloak @click="$store.toast.close()" x-show="$store.toast.show" x-transition:enter="transform ease-out duration-300 transition" x-transition:enter-start="translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2" x-transition:enter-end="translate-y-0 opacity-100 sm:translate-x-0" x-transition:leave="transform transition ease-in duration-100" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="w-full max-w-sm bg-white border border-gray-200 rounded-lg shadow-lg cursor-pointer pointer-events-auto hover:-translate-1"> <div class="relative overflow-hidden rounded-lg shadow-xs"> <div class="px-4 py-5"> <div class="flex items-center"> <div class="flex-shrink-0 pr-0.5"> <template x-if="$store.toast.type == 'info'"> <div class="w-10 h-10"> <svg class="w-10 h-10 text-indigo-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg> </div> </template> <template x-if="$store.toast.type == 'warning'"> <div class="w-10 h-10"> <svg class="w-10 h-10 text-yellow-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg> </div> </template> <template x-if="$store.toast.type == 'success'"> <div class="w-10 h-10"> <svg class="w-10 h-10 text-green-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg> </div> </template> <template x-if="$store.toast.type == 'danger'"> <div class="w-10 h-10"> <svg class="w-10 h-10 text-red-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg> </div> </template> </div> <div class="flex-1 w-0 pl-3.5 ml-1 border-l border-gray-100"> <p class="text-sm font-medium leading-5 text-gray-900"> <template x-if="$store.toast.type == 'info'"><span>Notice</span></template> <template x-if="$store.toast.type == 'warning'"><span>Warning</span></template> <template x-if="$store.toast.type == 'success'"><span>Success</span></template> <template x-if="$store.toast.type == 'danger'"><span>Something went wrong</span></template> </p> <p class="text-sm leading-5 text-gray-500" x-text="$store.toast.message"></p> </div> <div class="flex self-start flex-shrink-0 ml-4"> <button @click="$store.toast.close()" class="inline-flex -mt-1 text-gray-400 transition duration-150 ease-in-out rounded-full focus:outline-none focus:text-gray-500"> <svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path> </svg> </button> </div> </div> </div> <div id="toast_bar" class="absolute bottom-0 left-0 w-full h-1 transition-all ease-out" :class="{ 'bg-indigo-400' : $store.toast.type == 'info', 'bg-yellow-400' : $store.toast.type == 'warning', 'bg-green-400' : $store.toast.type == 'success', 'bg-red-400' : $store.toast.type == 'danger' }" style="transition-duration: 3950ms;"></div> </div> </div> </div> <script src="https://cdn.paddle.com/paddle/paddle.js"></script> <script> window.vendor_id = parseInt(''); if(vendor_id){ Paddle.Setup({ vendor: vendor_id }); } if("sandbox" == 'sandbox') { Paddle.Environment.set('sandbox'); } let checkoutBtns = document.getElementsByClassName("checkout"); for( var i=0; i < checkoutBtns.length; i++ ){ checkoutBtns[i].addEventListener('click', function(){ waveCheckout(this.dataset.plan) }, false); } let updateBtns = document.getElementsByClassName("checkout-update"); for( var i=0; i < updateBtns.length; i++ ){ updateBtns[i].addEventListener('click', waveUpdate, false); } let cancelBtns = document.getElementsByClassName("checkout-cancel"); for( var i=0; i < cancelBtns.length; i++ ){ cancelBtns[i].addEventListener('click', waveCancel, false); } function waveCheckout(plan_id) { if(vendor_id){ let product = parseInt(plan_id); Paddle.Checkout.open({ product: product, email: '', successCallback: "checkoutComplete", }); } else { alert('Paddle Vendor ID is not set, please see the docs and learn how to setup billing.'); } } function waveUpdate(){ Paddle.Checkout.open({ override: this.dataset.url, successCallback: "checkoutUpdate", }); } function waveCancel(){ Paddle.Checkout.open({ override: this.dataset.url, successCallback: "checkoutCancel", }); } </script> <div id="cookie-consent-banner" class="hidden fixed bottom-0 left-0 right-0 z-50 bg-white border-t-2 border-gray-200 shadow-lg"> <div class="max-w-7xl mx-auto px-4 py-4 sm:px-6 lg:px-8"> <div class="flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4"> <div class="flex-1"> <h3 class="text-lg font-semibold text-gray-900 mb-2">Cookie Consent</h3> <p class="text-sm text-gray-600"> We use cookies to enhance your browsing experience, provide personalized content, and analyze our traffic. By clicking "Accept", you consent to our use of cookies. <a href="https://anyonlinetool.com/it/privacy" class="text-blue-600 hover:underline font-medium">Learn more in our Privacy Policy</a>. </p> </div> <div class="flex gap-3 flex-shrink-0"> <button id="cookie-reject" class="px-4 py-2 text-sm font-medium text-gray-700 bg-gray-200 rounded-lg hover:bg-gray-300 transition-colors duration-200"> Reject </button> <button id="cookie-accept" class="px-4 py-2 text-sm font-medium text-white bg-accent rounded-lg hover:bg-accent/90 transition-colors duration-200"> Accept </button> </div> </div> </div> </div> <script> (function () { // Check if user has already made a choice const cookieConsent = localStorage.getItem('cookie_consent'); const banner = document.getElementById('cookie-consent-banner'); // Show banner if no consent decision has been made if (!cookieConsent) { banner.classList.remove('hidden'); } else if (cookieConsent === 'accepted') { // Load analytics if consent was given loadAnalytics(); } // Handle Accept button document.getElementById('cookie-accept').addEventListener('click', function () { localStorage.setItem('cookie_consent', 'accepted'); localStorage.setItem('cookie_consent_date', new Date().toISOString()); banner.classList.add('hidden'); loadAnalytics(); }); // Handle Reject button document.getElementById('cookie-reject').addEventListener('click', function () { localStorage.setItem('cookie_consent', 'rejected'); localStorage.setItem('cookie_consent_date', new Date().toISOString()); banner.classList.add('hidden'); // Don't load analytics }); // Function to load Google Analytics (only if accepted) function loadAnalytics() { } })(); </script> <style> #cookie-consent-banner { animation: slideUp 0.3s ease-out; } @keyframes slideUp { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } </style> </body> </html>