| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Image Generation with Flask</title> |
| <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> |
| <style> |
| body { |
| font-family: Arial, sans-serif; |
| text-align: center; |
| padding: 20px; |
| } |
| input, button { |
| margin: 10px 0; |
| padding: 10px; |
| font-size: 16px; |
| } |
| #result { |
| margin-top: 20px; |
| } |
| img { |
| max-width: 100%; |
| height: auto; |
| } |
| #generated-image { |
| display: none; |
| } |
| </style> |
| </head> |
| <body> |
| <h1>Generate an Image from Text</h1> |
| <form id="generate-form"> |
| <label for="model">Model Name:</label> |
| <input type="text" id="model" name="model" value="prompthero/openjourney-v4"><br> |
|
|
| <label for="prompt">Prompt:</label> |
| <input type="text" id="prompt" name="prompt" required><br> |
|
|
| <label for="seed">Seed:</label> |
| <input type="number" id="seed" name="seed" min="0" max="3999999999" value="1"><br> |
|
|
| <button type="submit" id="generate-button">Generate Image</button> |
| </form> |
|
|
| <div id="result"> |
| <h2>Generated Image:</h2> |
| <img id="generated-image" src="" alt="Generated Image"> |
| <a id="download-button" href="#" download style="display:none;">Download Image</a> |
| <p id="error-message" style="color:red;"></p> |
| </div> |
|
|
| <script> |
| $(document).ready(function() { |
| $('#generate-form').on('submit', function(event) { |
| event.preventDefault(); |
| |
| const model = $('#model').val(); |
| const prompt = $('#prompt').val(); |
| const seed = $('#seed').val(); |
| |
| |
| $('#error-message').text(''); |
| $('#generated-image').hide(); |
| $('#download-button').hide(); |
| |
| $.ajax({ |
| url: '/generate_image', |
| method: 'POST', |
| contentType: 'application/json', |
| data: JSON.stringify({ model, prompt, seed }), |
| success: function(response) { |
| $('#generated-image').attr('src', response.image_path).show(); |
| $('#download-button').attr('href', response.image_path).show(); |
| }, |
| error: function(jqXHR) { |
| const errorMessage = jqXHR.responseJSON?.error || 'An error occurred while generating the image.'; |
| $('#error-message').text(errorMessage); |
| } |
| }); |
| }); |
| }); |
| </script> |
| </body> |
| </html> |