Stanislav
feat: pre-ready, switch to hf
aa1c1e5
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>🧩 Object Cutter</title>
<link rel="icon" href="/static/favicon.ico" type="image/x-icon">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
background-color: #1e1e1e;
color: #e0e0e0;
font-family: Arial, sans-serif;
margin: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.wrapper {
text-align: center;
width: 100%;
max-width: 400px;
}
h1 {
color: #a0ffaf;
font-size: 28px;
margin-bottom: 30px;
}
form {
display: flex;
flex-direction: column;
gap: 20px;
}
input[type="text"],
input[type="file"] {
padding: 10px;
background-color: #2b2b2b;
border: 1px solid #444;
color: #fff;
border-radius: 5px;
}
input[type="submit"] {
padding: 10px;
background-color: #3e8e41;
color: white;
border: none;
cursor: pointer;
border-radius: 5px;
}
input[type="submit"]:hover {
background-color: #367635;
}
.loading {
display: none;
margin-top: 20px;
font-size: 16px;
color: #a0ffaf;
}
.spinner {
border: 4px solid #2b2b2b;
border-top: 4px solid #3e8e41;
border-radius: 50%;
width: 30px;
height: 30px;
animation: spin 1s linear infinite;
margin: 10px auto;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
</style>
</head>
<body>
<div class="wrapper">
<h1>🧩 Object Cutter</h1>
<form action="/process" method="post" enctype="multipart/form-data" onsubmit="showLoading()">
<label for="image">Choose image:</label>
<input type="file" id="image" name="image" accept="image/*" required>
<label for="prompt">Object description (prompt):</label>
<input type="text" id="prompt" name="prompt" placeholder="e.g., a glass of water" required>
<input type="submit" value="Run Detection">
</form>
<div class="loading" id="loading">
<div class="spinner"></div>
Processing...
</div>
</div>
<script>
function showLoading() {
document.getElementById('loading').style.display = 'block';
}
</script>
</body>
</html>