philippurbschat.de/dinos/prompts.js

94 lines
No EOL
4.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
DINO LERNTAFEL - PROMPT KONFIGURATION (FINAL)
*/
const DinoPrompts = {
// 1. PROMPT FÜR DIE FAKTEN (Gemini Flash)
// Ziel: Sauberes JSON ohne Markdown, Zahlen als echte Numbers
getFacts: (term) => `
Du bist ein Experte für Paläontologie. Erstelle ein Daten-Profil für einen "${term}".
WICHTIG ZUM FORMAT:
- Antworte NUR mit dem rohen JSON-String.
- KEINE Markdown-Formatierung (kein \`\`\`json).
- Alle Text-Werte auf DEUTSCH.
JSON STRUKTUR:
{
"name": "Name des Dinos (z.B. Tyrannosaurus Rex)",
"is_fictional": true, // true bei Fantasie, false bei echten Dinos
// Brücke zum Bild-Generator:
"visual_details": "Beschreibe visuell: Körperbau, Hautstruktur (Schuppen/Federn/Panzer), markante Merkmale (Hörner, Kämme) und Farbe. Sei präzise.",
"fun_fact": "Max. 10 Wörter. Ein spannendes Detail für Kinder.",
"translation": "Namensbedeutung (z.B. 'König der Tyrannenechsen')",
"period": "Zeitraum Name (z.B. Oberkreide)",
"years": "Zeitraum Zahlen (z.B. vor 6866 Mio. Jahren)",
"mya_start": 68, // Zahl (Millionen Jahre)
"mya_end": 66, // Zahl (Millionen Jahre)
"height": 5.5, // Höhe in Metern (nur die Zahl als Number/Float)
"length": 12.0, // Länge in Metern (nur die Zahl als Number/Float)
"weight": 8000, // Gewicht in KG (nur die Zahl als Integer)
"diet": "Fleisch" // Genau einer dieser Werte: 'Pflanzen', 'Fleisch', 'Alles', 'Fisch'
}
`,
// 2. PROMPT FÜR DAS BILD (Generalisiert für alle Habitate)
getImage: (data) => `
[KONZEPT]: Ein "Environmental Wide Shot" (Weitwinklige Landschaftsaufnahme).
[DAS MOTIV]: Eine weite prähistorische Landschaft (${data.period}). In der MITTLEREN DISTANZ befindet sich ein einzelner ${data.name}.
[VISUELLE DETAILS]:
${data.visual_details}
[KOMPOSITION & LAYOUT - DIE "ANTI-CROP" REGELN]:
- DISTANZ: Die Kamera ist weit entfernt. Der ${data.name} darf maximal 70% der gesamten Bildhöhe einnehmen.
- VORDERGRUND: Es muss signifikant viel Umgebung UNTER dem Tier sichtbar sein.
- Wir müssen klar sehen, worauf oder worin das Tier steht (z.B. Waldboden, Wasser, Sand, Fels). Die Füße/Basis dürfen den unteren Bildrand NICHT berühren.
- HINTERGRUND OBEN: Es muss signifikant viel Umgebung ÜBER dem Kopf sichtbar sein (Negativraum).
- Egal ob Himmel, Baumkronen oder Felswand: Dieser Bereich muss visuell "ruhig" und hell genug sein, damit dunkler Text darauf lesbar ist.
[FEHLER-VERMEIDUNG]:
- KEIN enges Portrait. Das Tier muss "atmen" können.
- Wenn das Tier oben oder unten anstößt, ist die Kamera zu nah -> Gehe weiter weg.
[ATMOSPHÄRE]:
- Habitat: Passend zur Spezies (z.B. dichter Dschungel, Sumpf, Küste oder offene Ebene).
- Licht: Helles, diffuses Tageslicht für gute Sichtbarkeit.
[REALISMUS]:
- ${data.is_fictional ? "Glaubwürdige Biologie." : "Wissenschaftlich akkurat."}
- 8k Auflösung, fotorealistisch.
[TECHNISCHES]:
- Seitenverhältnis: 16:10
- Objektiv: Weitwinkel (ca. 24mm).
`,
// 3. PROMPT FÜR DEN ZUFALLSGENERATOR (Gemini Flash)
getRandom: () => `
Nenne mir ein zufälliges, spannendes prähistorisches Tier aus dem Zeitalter der Dinosaurier (Mesozoikum) oder davor.
WICHTIGE REGELN:
1. Die Zeitgrenze ist das Massenaussterben vor 66 Mio. Jahren. (Keine Mammuts etc.)
2. SPRACHE: Die 'tagline' MUSS zwingend auf DEUTSCH sein.
3. VIELFALT: Sei kreativ! Nenne nicht nur die bekanntesten Tiere. Grabe tief in der Datenbank der Paläontologie. Bringe gerne auch unbekanntere, bizarre oder bunte Arten. Wähle jedes Mal etwas ganz anderes.
Erlaubte Gruppen:
- Dinosaurier (Theropoden, Sauropoden, Ornithischia...)
- Flugsaurier (Pterosaurier - aber nicht immer Quetzalcoatlus!)
- Meeresechsen (Mosasaurier, Plesiosaurier, Ichthyosaurier)
- Urzeitliche Krokodile, Amphibien oder frühe Synapsiden (z.B. Dimetrodon).
Antworte als reines JSON:
{
"name": "Name des Tiers (Einfacher Name, z.B. Deinocheirus statt Deinocheirus mirificus )",
"tagline": "Eine sehr kurze, knackige Beschreibung auf Deutsch (max 6-8 Wörter)"
}
`
};