100% Free with “Resell Rights”. Sell These Tools s as Per Your Wish or Offer them Free To Anyone. About Code:- Enter the realm of boundless imagination with our AI Story Writer, your trusted partner in crafting compelling narratives. Whether you’re an author, storyteller, or simply someone with a story to tell, our tool empowers you to bring your ideas to life with ease. Using advanced algorithms and natural language processing, our AI Story Writer collaborates with you to generate rich and immersive stories. Simply provide the initial premise, characters, and setting, and let our AI weave together a tapestry of plot twists, character arcs, and vivid descriptions. Whether you’re writing a short story, novel, or screenplay, our tool adapts to your creative vision, offering suggestions and enhancements along the way. From fantasy realms to dystopian futures, the possibilities are endless with our AI Story Writer by your side. Join the ranks of storytellers who have embraced the future of narrative creation. With our AI Story Writer, you’ll never face writer’s block again. Instead, you’ll embark on a journey of discovery and creativity, exploring new worlds and characters with every click. Experience the magic of collaborative storytelling with our AI Story Writer. Start writing your next masterpiece today and unleash the power of AI to transform your ideas into unforgettable stories. License: Master Resale Rights





<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>AI Story Writing Tool</title>
		<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
		<style>
			.regenerateIcon {
				cursor: pointer;
				display: inline-block;
				margin-left: 10px;
				font-size: 20px;
				/* Adjust size as needed */
			}

			body {
				font-family: 'Arial', sans-serif;
				background-color: #f2f2f2;
				margin: 0;
				padding: 20px;
				box-sizing: border-box;
			}

			#chatContainer {
				background-color: #fff;
				border-radius: 8px;
				overflow: hidden;
				width: 100%;
				max-width: 800px;
				margin: auto;
				box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
			}



			#chatHeader {
				width: 100%;
				padding: 10px;
				margin-bottom: 20px;
				border-radius: 8px;
				border: none;
				color: white;
				text-align: center;
				font-size: 16px;

				cursor: pointer;
				background-image: linear-gradient(to right, #6a11cb 0%, #2575fc 100%);
				transition: all 0.3s ease;
				text-decoration: none;
				/* Remove underline from download link */
				display: inline-block;
				/* Needed for anchor to behave like a button */
				text-align: center;
				/* Ensure text is centered in download link */
			}

			#chatBody {
				padding: 20px;
				max-height: 300px;
				overflow-y: auto;
			}

			.messageContainer {
				display: flex;
				justify-content: flex-end;
				margin-bottom: 10px;
			}

			.message {
				background-color: #e2f0cb;
				padding: 10px;
				border-radius: 5px;
				max-width: 70%;
				word-wrap: break-word;
			}

			#prompt {
				width: calc(100% - 40px - 10px);
				margin: 10px 20px;
				padding: 12px;
				border-radius: 5px;
				border: 1px solid #ccc;
			}

			button {
				width: 100%;
				padding: 10px;
				margin-bottom: 20px;
				border-radius: 8px;
				border: none;
				color: white;
				text-align: center;
				font-size: 15px;

				cursor: pointer;
				background-image: linear-gradient(to right, #6a11cb 0%, #2575fc 100%);
				transition: all 0.3s ease;
				text-decoration: none;
				/* Remove underline from download link */
				display: inline-block;
				/* Needed for anchor to behave like a button */
				text-align: center;
				/* Ensure text is centered in download link */
			}

			button:hover {
				transform: translateY(-2px);
				box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
			}

			#copyButton {
				background-color: #007bff;
			}

			#progressOverlay {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.5);
				z-index: 1000;
			}

			#progressOverlay > div {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				color: white;
				font-size: 20px;
			}

			/* Add styles for formatted text */
			.formatted-text {
				white-space: pre-wrap;
				/* Keeps white space and line breaks */
			}

			.formatted-text a {
				color: #007bff;
				text-decoration: none;
			}

			.formatted-text a:hover {
				text-decoration: underline;
			}

			/* Dropdown Styles */
			#storyCategory,
			#languageSelection {
				width: calc(50% - 25px);
				/* Adjust width to fit side by side with some space */
				padding: 10px;
				margin: 10px;
				border-radius: 5px;
				border: 1px solid #ccc;
				background-color: #fff;
				font-family: 'Arial', sans-serif;
				font-size: 16px;
				box-sizing: border-box;
				/* Ensure padding and border are included in width */
				display: inline-block;
				/* Display side by side */
				cursor: pointer;
			}

			#storyCategory:disabled,
			#languageSelection:disabled {
				background-color: #e9ecef;
				cursor: not-allowed;
			}

			/* Adjust margin for the prompt to align with the new dropdowns */
			#prompt {
				margin: 0 10px 10px 10px;
			}

			/* Style adjustments for button to align with the new layout */
			button {
				width: calc(100% - 20px);
				margin: 10px;
			}

			/* Ensure the container width accommodates new elements */
			#chatContainer {
				padding-bottom: 10px;
				/* Add some padding at the bottom */
			}

			.message.code {
				background-color: #f5f5f5;
				/* Light grey background */
				color: #333;
				/* Darker text for contrast */
				font-family: monospace;
				/* Monospace font for code-like appearance */
				white-space: pre-wrap;
				/* Allows text to wrap and preserves formatting */
				word-wrap: break-word;
				/* Allows long lines to break and wrap to the next line */
				padding: 10px;
				/* Padding inside the preformatted text block */
				border-radius: 5px;
				/* Rounded corners like other messages */
			}
		</style>
	</head>

	<body>

		<div id="chatContainer">
			<div id="chatHeader">AI Story Writing Tool</div>

			<select id="storyCategory" class="dropdown">
				<option value="Moral">Moral</option>
				<option value="Educational">Educational</option>
				<option value="Historical">Historical</option>
				<option value="Magical">Magical</option>
				<option value="Adventure">Adventure</option>
				<option value="Science Fiction">Science Fiction</option>
				<option value="Fantasy">Fantasy</option>
				<option value="Mystery">Mystery</option>
				<option value="Romance">Romance</option>
				<option value="Horror">Horror</option>
				<option value="Thriller">Thriller</option>
				<option value="Biographical">Biographical</option>
				<option value="Inspirational">Inspirational</option>
				<option value="Comedy">Comedy</option>
				<option value="Drama">Drama</option>
				<option value="Documentary">Documentary</option>
				<option value="Action">Action</option>
				<option value="Satire">Satire</option>

			</select>

			<select id="languageSelection" class="dropdown">
				<option value="">Default (English)</option>
				<option value="Assamese">Assamese</option>
				<option value="Bengali">Bengali</option>
				<option value="Gujarati">Gujarati</option>
				<option value="Hindi">Hindi</option>
				<option value="Kannada">Kannada</option>
				<option value="Kashmiri">Kashmiri</option>
				<option value="Konkani">Konkani</option>
				<option value="Malayalam">Malayalam</option>
				<option value="Marathi">Marathi</option>
				<option value="Nepali">Nepali</option>
				<option value="Odia">Odia</option>
				<option value="Punjabi">Punjabi</option>
				<option value="Sanskrit">Sanskrit</option>
				<option value="Sindhi">Sindhi</option>
				<option value="Tamil">Tamil</option>
				<option value="Telugu">Telugu</option>
				<option value="Urdu">Urdu</option>
				<!-- Add more languages as needed -->
			</select>

			<textarea id="prompt" placeholder="Type a message..." rows="3"></textarea>
			<button id="generateStory" onclick="generateStory()">Generate Story</button>
			<div id="chatBody"></div>
		</div>

		<div id="progressOverlay">
			<div>Thinking...</div>
		</div>

		<script>
			function generateStory() {
				var prompt = $("#prompt").val();
				var category = $("#storyCategory").val();
				var language = $("#languageSelection").val(); // Get the value of the selected option

				var storyPrompt = `Write a ${category} story for "${prompt}" in ${language} language`;

				$('#progressOverlay').show(); // Show progress overlay


				  // how to get API key
                                                                        // https://allfreestore.com/wp-content/uploads/2024/03/Get%20OpenAI%20API%20Key.mp4
				var apiKey = 'your_api_key'; // Replace with your actual OpenAI API key
				var apiUrl = 'https://api.openai.com/v1/chat/completions';

				var requestBody = {
					model: 'gpt-3.5-turbo',
					messages: [{
						role: 'user',
						content: storyPrompt
					}],
					temperature: 0.7
				};

				$.ajax({
					type: 'POST',
					url: apiUrl,
					headers: {
						'Content-Type': 'application/json',
						'Authorization': 'Bearer ' + apiKey
					},
					data: JSON.stringify(requestBody),
					success: function(response) {
						$('#progressOverlay').hide(); // Hide progress overlay
						addTypewriterEffect(response.choices[0].message.content, 'chatBody');
					},
					error: function(error) {
						$('#progressOverlay').hide(); // Hide progress overlay on error
						console.error('Error generating privacy policy:', error);
					}
				});
			}

			function formatResponseText(text) {
				// Convert URLs into hyperlinks
				text = text.replace(/(https?:\/\/[^\s]+)/g, '<a href="$1" target="_blank">$1</a>');

				// Detect headings and make them bold
				text = text.replace(/^##\s?(.+)/gm, '<strong>$1</strong>');

				// Replace newline characters with <p> tags for paragraphs
				//  text = text.replace(/\n/g, '</p><p>');

				// Wrap the text in <p> tags to ensure it starts and ends as a paragraph
				return '<p>' + text + '</p>';
			}

			function addTypewriterEffect(text, elementId) {
				var formattedText = formatResponseText(text);
				var container = $('<div class="messageContainer"></div>').appendTo('#' + elementId);
				var message = $('<div class="message formatted-text" style="background-color: #f5f5f5;"></div>').appendTo(container);

				var i = 0;
				var speed = 10; // Typing speed in milliseconds

				function typeWriter() {
					if (i < formattedText.length) {
						var charToAdd = formattedText.charAt(i);
						if (formattedText.substring(i).startsWith('<a href=') || formattedText.substring(i).startsWith('<br>') || formattedText.substring(i).startsWith('<strong>')) {
							var tagEnd = formattedText.indexOf('>', i) + 1;
							charToAdd = formattedText.substring(i, tagEnd);
							i = tagEnd;
						} else if (formattedText.charAt(i) === '<') {
							var tagEnd = formattedText.indexOf('>', i) + 1;
							charToAdd = formattedText.substring(i, tagEnd);
							i = tagEnd - 1;
						}
						message.append(charToAdd);
						i++;
						setTimeout(typeWriter, speed);
					} else {
						var copyIcon = $('<div class="copyIcon">📋</div>').appendTo(container);
						copyIcon.click(function() {
							var textToCopy = message.text();
							navigator.clipboard.writeText(textToCopy).then(function() {
								alert('Text copied to clipboard!');
							}, function(err) {
								console.error('Could not copy text: ', err);
							});
						});

						var regenerateIcon = $('<div class="regenerateIcon">&#x1F501;</div>').appendTo(container);
						regenerateIcon.click(function() {
							$('#chatBody').html(''); // Clear the previous messages
						    generateStory(); // Call generatePrivacyPolicy function to regenerate the policy
						});
					}
				}

				typeWriter();
			}

			function formatResponseText(text) {
				text = text.replace(/(https?:\/\/[^\s]+)/g, '<a href="$1" target="_blank">$1</a>');
				text = text.replace(/^##\s?(.+)/gm, '<strong>$1</strong>');
				text = text.replace(/^(\s*(?:-|\*|\d+\.)\s+.+)$/gm, '$1<br>');
				return text;
			}
		</script>
		<style>
			.regenerateIcon,
			.copyIcon {
				cursor: pointer;
				display: inline-block;
				margin-left: 10px;
				font-size: 20px;
				/* Adjust size as needed */
			}

			.userMessage .message {
				background-color: #e2f0cb;
			}

			#progressOverlay {
				display: none;
				/* Initially hidden */
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: rgba(0, 0, 0, 0.5);
				z-index: 1000;
			}

			#progressOverlay > div {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				color: white;
				font-size: 20px;
			}
		</style>
		<div id="progressOverlay">
			<div>Thinking...</div>
		</div>

		</script>
	</body>

</html>
AI Story Writing Tool
AI Story Writing Tool
Thinking...
Thinking...