<style>
:root {
--aki-bg-dark: #0A0E2B; /* Haupt-Hintergrund (sehr dunkles Blau) */
--aki-bg-medium: #1D2B4F; /* Formular-Hintergrund (gedecktes Blau) */
--aki-accent-orange: #F97426; /* CTA-Orange für Buttons */
--aki-text-light: #F0F0F0; /* Haupt-Textfarbe (fast weiß) */
--aki-text-dark: #0A0E2B; /* Textfarbe auf hellem Grund */
--aki-border-color: #3a4a6e; /* Randfarbe für Inputs */
}
.aki-json-editor-container {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
background-color: var(--aki-bg-dark);
border: 1px solid var(--aki-border-color);
border-radius: 12px;
padding: 25px;
color: var(--aki-text-light);
max-width: 800px;
margin: 20px auto;
box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}
.aki-json-editor-container h2 {
font-size: 28px;
font-weight: 700;
text-align: center;
margin-top: 0;
margin-bottom: 20px;
color: #fff;
}
.aki-json-editor-container h3 {
font-size: 20px;
margin-top: 30px;
border-bottom: 2px solid var(--aki-accent-orange);
padding-bottom: 8px;
}
.aki-json-editor-container textarea {
width: 100%;
min-height: 180px;
border: 1px solid var(--aki-border-color);
border-radius: 8px;
padding: 12px;
font-family: "Courier New", Courier, monospace;
font-size: 14px;
background-color: var(--aki-bg-medium);
color: var(--aki-text-light);
resize: vertical;
}
.aki-json-editor-container button {
background-color: var(--aki-accent-orange);
color: #fff;
border: none;
padding: 12px 25px;
border-radius: 8px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: transform 0.2s, background-color 0.3s;
margin-top: 15px;
display: block;
width: 100%;
}
.aki-json-editor-container button:hover {
background-color: #e86315;
transform: translateY(-2px);
}
.aki-json-editor-container #interactive-form {
margin-top: 20px;
padding: 20px;
background-color: var(--aki-bg-medium);
border-radius: 8px;
}
.aki-json-editor-container #interactive-form:empty::before {
content: "Der Editor erscheint hier, nachdem ein gültiges JSON verarbeitet wurde.";
color: #aab;
font-style: italic;
}
.aki-json-editor-container fieldset {
border: 1px solid var(--aki-border-color);
border-radius: 8px;
padding: 15px;
margin-bottom: 15px;
}
.aki-json-editor-container legend {
font-weight: bold;
font-size: 18px;
padding: 0 10px;
color: var(--aki-accent-orange);
}
.aki-json-editor-container .form-group {
margin-bottom: 12px;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
}
.aki-json-editor-container .form-group label {
flex: 1 1 150px;
font-weight: 500;
color: var(--aki-text-light);
}
.aki-json-editor-container .form-group input {
flex: 2 1 280px;
padding: 10px;
border: 1px solid var(--aki-border-color);
border-radius: 5px;
background-color: var(--aki-bg-dark);
color: var(--aki-text-light);
font-size: 15px;
}
.aki-json-editor-container .form-group input[type="color"] {
padding: 0;
min-height: 40px;
flex: 0 1 50px;
}
.aki-json-editor-container #error-message {
color: #ff8a80;
margin-top: 10px;
font-weight: bold;
display: none;
}
.aki-json-editor-container .info-box {
background-color: var(--aki-bg-medium);
border-left: 4px solid var(--aki-accent-orange);
padding: 15px;
margin: 25px 0;
border-radius: 4px;
}
.aki-json-editor-container .info-box code {
background-color: var(--aki-bg-dark);
padding: 3px 6px;
border-radius: 4px;
font-family: "Courier New", Courier, monospace;
color: var(--aki-accent-orange);
}
</style>
<div class="aki-json-editor-container">
<h2>Dein Weg zum perfekten KI-Bild</h2>
<div class="info-box">
<p><strong>Anleitung:</strong></p>
<ol>
<li>Fordere von einer KI (z.B. ChatGPT, Gemini) eine Bildbeschreibung im JSON-Format an. Ein guter Prompt ist:
<br><code>Beschreibe ein Bild [deiner Wahl] als detailliertes JSON. Nutze logische englische Schlüssel wie scene, subjects, style, lighting und camera.</code>
</li>
<li>Füge das JSON unten ein und klicke auf "JSON verarbeiten".</li>
<li>Passe die Bildeigenschaften im interaktiven Editor an.</li>
<li>Kopiere den neuen JSON-Code und nutze ihn als perfekten Prompt für deine Bilderstellung.</li>
</ol>
</div>
<h3>1. JSON-Code einfügen</h3>
<textarea id="json-input" placeholder="Fügen Sie hier Ihren JSON-Code ein..."></textarea>
<button id="process-btn">JSON verarbeiten & Editor starten</button>
<p id="error-message"></p>
<h3>2. Bildeigenschaften anpassen</h3>
<div id="interactive-form"></div>
<h3>3. Neuen JSON-Code kopieren</h3>
<textarea id="json-output" readonly placeholder="Ihr bearbeiteter JSON-Code erscheint hier..."></textarea>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
const processBtn = document.getElementById('process-btn');
const jsonInput = document.getElementById('json-input');
const jsonOutput = document.getElementById('json-output');
const formContainer = document.getElementById('interactive-form');
const errorMessage = document.getElementById('error-message');
let jsonObject = {};
// --- Internes Wörterbuch für die Übersetzung der Schlüssel ---
const keyTranslations = {
"scene": "Szene", "description": "Beschreibung", "subjects": "Subjekte/Objekte",
"type": "Typ", "position": "Position", "style": "Stil", "color_palette": "Farbpalette",
"lighting": "Beleuchtung", "mood": "Stimmung", "composition": "Komposition",
"camera": "Kamera", "angle": "Winkel", "distance": "Distanz", "background": "Hintergrund",
"sky": "Himmel", "color": "Farbe", "sun": "Sonne", "size": "Größe",
"main_objects": "Hauptobjekte", "name": "Name", "count": "Anzahl",
"details": "Details", "state": "Zustand", "reflection": "Spiegelung",
"setting": "Schauplatz", "mood": "Stimmung", "artistic_style": "Künstlerischer Stil",
"foreground": "Vordergrund", "midground": "Mittelgrund", "background": "Hintergrund",
"elements": "Elemente", "specifications": "Spezifikationen"
};
// --- Beispiel-JSON, das deine empfohlene Struktur nutzt ---
const placeholderJSON = {
"scene": "Eine mystische Waldlichtung in der Dämmerung",
"subjects": [
{
"type": "Fuchs",
"description": "trägt einen kleinen Zauberhut, sitzt auf einem Baumstumpf",
"position": "Mitte"
}
],
"style": "Bilderbuch-Illustration",
"color_palette": [
"#2E4053", // Waldgrün
"#FFD700", // Gold
"#17202A" // Mitternachtsblau
],
"lighting": "Weiches, gesprenkeltes Sonnenlicht, das durch die Bäume fällt",
"mood": "Launisch und gemütlich",
"camera": {
"angle": "Augenhöhe",
"distance": "Halbnahaufnahme"
}
};
jsonInput.value = JSON.stringify(placeholderJSON, null, 2);
processBtn.addEventListener('click', () => {
errorMessage.style.display = 'none';
formContainer.innerHTML = '';
try {
jsonObject = JSON.parse(jsonInput.value);
createForm(jsonObject, formContainer, []);
updateOutput();
} catch (e) {
errorMessage.textContent = 'Fehler: Ungültiges JSON-Format. Bitte prüfen Sie den Code.';
errorMessage.style.display = 'block';
jsonOutput.value = '';
}
});
function createForm(obj, parentElement, path) {
const isRoot = path.length === 0;
const container = isRoot ? parentElement : document.createElement('fieldset');
if (!isRoot) {
const legend = document.createElement('legend');
legend.textContent = translateAndFormatKey(path[path.length - 1]);
container.appendChild(legend);
}
for (const key in obj) {
if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
const newPath = [...path, key];
const value = obj[key];
if (Array.isArray(value)) {
// Arrays werden als Textarea dargestellt, da dynamische Felder zu komplex wären.
createField(translateAndFormatKey(key), JSON.stringify(value, null, 2), 'textarea', container, newPath, true);
} else if (typeof value === 'object' && value !== null) {
// Für Objekte rekursiv eine neue Gruppe erstellen
createForm(value, container, newPath);
} else {
// Für einfache Werte (String, Zahl, etc.) ein Input-Feld erstellen
createField(translateAndFormatKey(key), value, 'input', container, newPath);
}
}
if (!isRoot) {
parentElement.appendChild(container);
}
}
function createField(labelText, value, type, parentElement, path, isArray = false) {
const formGroup = document.createElement('div');
formGroup.className = 'form-group';
const label = document.createElement('label');
label.textContent = labelText;
formGroup.appendChild(label);
let input;
if (type === 'textarea') {
input = document.createElement('textarea');
input.value = value;
input.rows = value.split('\n').length + 1; // Höhe anpassen
// Manuelle Bearbeitung von Arrays ist komplex, daher hier als Textfeld.
// Zukünftige Erweiterung könnte hier ansetzen.
} else {
input = document.createElement('input');
input.value = value;
if (typeof value === 'number') {
input.type = 'number';
input.step = '0.01';
} else if (typeof value === 'string' && value.startsWith('#') && (value.length === 7 || value.length === 4)) {
input.type = 'color';
const textInput = document.createElement('input');
textInput.type = 'text';
textInput.value = value;
textInput.style.marginLeft = '10px';
textInput.oninput = (e) => {
input.value = e.target.value;
updateValue(path, e.target.value);
};
input.oninput = (e) => {
textInput.value = e.target.value;
updateValue(path, e.target.value);
};
formGroup.appendChild(input);
formGroup.appendChild(textInput);
parentElement.appendChild(formGroup);
return;
} else {
input.type = 'text';
}
}
input.dataset.path = path.join('.');
input.addEventListener('input', (e) => {
let newValue = e.target.value;
if (e.target.type === 'number') {
newValue = parseFloat(newValue) || 0;
}
if(isArray) {
try {
newValue = JSON.parse(newValue);
} catch(err) {
// Falls JSON ungültig ist, als String belassen
}
}
updateValue(path, newValue);
});
formGroup.appendChild(input);
parentElement.appendChild(formGroup);
}
function updateValue(path, value) {
let current = jsonObject;
for (let i = 0; i < path.length - 1; i++) {
current = current[path[i]];
}
current[path[path.length - 1]] = value;
updateOutput();
}
function updateOutput() {
jsonOutput.value = JSON.stringify(jsonObject, null, 2);
}
function translateAndFormatKey(key) {
if (keyTranslations[key]) {
return keyTranslations[key];
}
// Fallback: 'camera_angle' -> 'Camera Angle'
return key.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase());
}
});
</script>
KI Einsparungs- & Produktivitätsrechner
Mitarbeiterzahl
15
Wählen Sie die Mitarbeiterzahl. Für Werte von 1–100 erfolgt eine Schrittweite von 1; ab 101 werden jeweils 100 weitere Mitarbeiter gerechnet (z. B. 101 → 200).
Eingesparte Stunden/Woche
5
Geben Sie an, wie viele Arbeitsstunden pro Mitarbeiter pro Woche eingespart werden können – z.B. durch Automatisierung in den Bereichen Dateneingabe, Analyse oder Kundenservice.
Typischer Bereich: 5–10 Stunden, in speziellen Prozessen bis zu 20 Stunden.
Typischer Bereich: 5–10 Stunden, in speziellen Prozessen bis zu 20 Stunden.
Stundenlohn (€)
30
Wählen Sie einen realistischen Wert. Beispiele: Call-Center 12–18 €, Fachkräfte 30–60 €.
Arbeitswochen/Jahr
46
Berücksichtigen Sie Urlaub, Feiertage und Krankheitstage – typischerweise 46–48 effektive Arbeitswochen in Deutschland.
* Alle Ergebnisse basieren auf Durchschnittsschätzungen. Mit gezielter Schulung kann der Nutzen noch höher ausfallen.
Quellen
- LinkedIn: AI Future Work
- Google Cloud: AI Impact Industries 2025
- The Muse: AI Impact on Jobs
- Artsmart.ai: Productivity Statistics
- LinkedIn: AI Workplace Efficiency
- SSRN: AI Productivity Gains
- GurcanPartners: AI Cost Efficiency
- The Process Hacker: AI Productivity Tools
- Economics Online: AI in Business
- IBM Think: AI Productivity
- TechTarget: 9 Top AI Applications
- CEPR: AI Productivity Gains
- AI for Social Good: Cost Savings
- Choose Acacia: Key Metrics for AI
- FT: AI-driven Cost Optimisation
- Inkyma: AI & Automation Metrics
- Medium: AI Trends 2025
- ProjectOne: AI Implementation Challenges
- Bain: Zero-Based Redesign
- Forbes: AI Implementation Hurdles
- All About AI: AI Replacing Jobs
- SciJournal: AI Employment Trends
- Digital Transformation Skills: AI for Business
- Digital Defynd: AI Case Studies
- Digital Defynd: Generative AI Case Studies
- Built In: Top 15 Companies Using AI
KI Einsparungs- & Produktivitätsrechner
Mitarbeiterzahl
15
Für kleine Unternehmen empfehlen sich etwa 15 Mitarbeiter. Werte von 1–100 werden eins zu eins übernommen; ab 101 wird jeweils ein Mehrwert von 100 Mitarbeitern addiert.
Eingesparte Stunden/Woche
5
Geben Sie an, wie viele Arbeitsstunden pro Mitarbeiter durch KI-gestützte Automatisierung eingespart werden können.
Typischer Bereich: 5–10 Stunden; in datenintensiven Prozessen sind auch bis zu 20 Stunden möglich.
Typischer Bereich: 5–10 Stunden; in datenintensiven Prozessen sind auch bis zu 20 Stunden möglich.
Stundenlohn (€)
30
Wählen Sie einen realistischen durchschnittlichen Stundenlohn – abhängig von Branche und Position (z. B. 12–18 € für Call-Center, 30–60 € für Fachkräfte).
Arbeitswochen/Jahr
46
In Deutschland liegen die effektiven Arbeitswochen typischerweise bei 46 bis 48 pro Jahr (unter Berücksichtigung von Urlaub, Feiertagen und Krankheitstagen).
Hinweis: Die Berechnungen beruhen auf Durchschnittswerten und typischen Branchenparametern. Individuelle Faktoren und Investitionskosten sind nicht berücksichtigt.