Пожалуйста, сформируй полный HTML-код (ничего не пропускай), выделив его обратными тройными кавычками, для следующего запроса: "Напиши приложение для придумывания историй с возможностью корректировки сюжета пользователем. Должен быть сгенерирован текст и картинка по этому тексту на английском языке с помощью функции запроса к нейросетям для генерации текста и картинок: /*        Функция запроса к нейросети        Пример использования:        Запрос на получение текста (ограничение 20 запросов каждые 2 минуты):        requestAI('Придумай краткое начало истории', {         responseCallback: ({ data, modData, message, isStream, isStreaming }) => {           console.log({ callback: 'responseCallback', data, modData, message, isStream, isStreaming });         },         errorCallback: ({ message, error }) => {           console.log(message);         },       });        Запрос на получение картинки (ограничение 4 запроса каждые 5 минут):        requestAI('A cat', {         type: 'image',         responseCallback: ({ data, modData, images, image, imageNode }) => { // image - src картинки, imageNode - DOM-элемент картинки с указанным src           console.log({ callback: 'responseCallback', data, modData, images, image, imageNode });          },         errorCallback: ({ message, error }) => {           console.log(message);         },       });      */     function requestAI(prompt, {       url = 'https://nexra.aryahcr.cc/api/chat/complements',       model = 'gpt-4o',       stream = false,       markdown = false,       type = 'text',       messages = [], // Бывают roles: system, user, assistant       responseCallback = () => { }, // Колбек ответа от сервера вне зависимости от стриминга       successCallback = () => { }, // Колбек для успешного завершения       errorCallback = () => { }, // Колбек ошибки     } = {}) {       if (type === 'text') { // Текст         messages.push({ role: 'user', content: prompt });          let body = {           messages,           model,           stream,           markdown,         };          if (url.indexOf('/gptweb') !== -1) {           body = {             prompt,             markdown,           };         }          if (messages.length > 1 && model === 'llama-3.1') {           body.messages = [{ role: 'user', content: JSON.stringify({ messages: messages }) }];         }          if (model === 'Bing') {           body['conversation_style'] = 'balanced';         }          if (model === 'blackbox') {           body['websearch'] = false;         }          fetch(url, {           method: 'POST',           headers: {             'Content-Type': 'application/json',           },           body: JSON.stringify(body),         }).then(response => response.text()).then((data) => {           const modData = JSON.parse(data.slice(data.indexOf('{')));           const message = modData.message || modData.gpt;            responseCallback({ data, modData, message, isStream: stream, isStreaming: false });           successCallback({ data, modData, message, isStream: stream, isStreaming: false });         }).catch((error) => {           errorCallback({ message: `Ошибка в функции requestAI (type: text, stream: false): ${error}`, error });         });       } else if (type === 'image') { // Картинка         model = 'emi';          fetch("https://nexra.aryahcr.cc/api/image/complements", {           method: "POST",           headers: {             "Content-Type": "application/json"           },           body: JSON.stringify({             prompt,             model,             //response: "base64"           })         }).then((response) => {           response.text().then((data) => {             const modData = JSON.parse(data.slice(data.indexOf('{')));             const images = modData.images;             const imageNode = document.createElement('img');             imageNode.className = 'image';             imageNode.src = images[0];              responseCallback({ data, modData, images, image: images[0], imageNode });             successCallback({ data, modData, images, image: images[0], imageNode });           }).catch((err) => {             errorCallback({ message: `Ошибка в функции requestAI (type: image): ${err}`, err });           });         }).catch((err) => {           errorCallback({ message: `Ошибка в функции requestAI (type: image): ${err}`, err });         });       }     }".