Files
lang-quiz/prompt.txt
Victor Giers 1d9e7cbcbb auto-git:
[add] README.md
 [add] client/.gitignore
 [add] client/README.md
 [add] client/eslint.config.js
 [add] client/index.html
 [add] client/package.json
 [add] client/public/vite.svg
 [add] client/src/App.css
 [add] client/src/App.tsx
 [add] client/src/api.ts
 [add] client/src/assets/react.svg
 [add] client/src/components/EntryCard.tsx
 [add] client/src/components/ItemPanels.tsx
 [add] client/src/components/QuizRunner.tsx
 [add] client/src/components/VideoPlayer.tsx
 [add] client/src/index.css
 [add] client/src/main.tsx
 [add] client/src/pages/EntryPage.tsx
 [add] client/src/pages/OverviewPage.tsx
 [add] client/src/pages/QuizPage.tsx
 [add] client/src/types.ts
 [add] client/tsconfig.app.json
 [add] client/tsconfig.json
 [add] client/tsconfig.node.json
 [add] client/vite.config.ts
 [add] gemini_replicate_batch.py
 [add] package.json
 [add] prompt.txt
 [add] server/package.json
 [add] server/src/index.ts
 [add] server/tsconfig.json
2026-01-07 18:35:20 +01:00

116 lines
3.7 KiB
Plaintext
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.

You analyze an Instagram-style Japanese language video.
The video is either Japanese-only or English+Japanese.
Goal: Create a compact learning JSON for a custom quiz website.
The website will ask the user questions; if the user is wrong or taps "Don't know",
we will show the explanation from this JSON and the original IG media.
TOKEN BUDGET:
Be concise. Do not duplicate explanations inside questions.
STRICT RULES:
1) Do not invent. Only include words/phrases/grammar that clearly appear in the video.
2) For every Japanese string containing kanji, provide a full hiragana reading in a separate field "kana".
3) Keep it small:
- grammar: max 2
- vocab: max 10
- conversation lines: max 10
- key_phrases: max 10
4) NO timestamps. NO evidence_quote. NO source fields. NO confidence fields.
5) Questions MUST reference items by id (do not repeat long explanations in questions).
6) Provide 13 questions per item (depending on usefulness). Prefer: cloze, multiple choice, match, register-choice.
OUTPUT:
Return ONLY valid JSON (no markdown). UTF-8 Japanese.
SCHEMA:
{
"meta": {
"mode": "ja_only|en+ja",
"type": "grammar|vocab|conversation|mixed|unknown",
"title_en": "short title (5-8 words max)"
},
"items": {
"grammar": [
{
"id": "g1",
"pattern": "string",
"meaning_en": "one line",
"use_note_en": "1-2 lines max",
"register": "polite|neutral|casual|slang|formal|unknown",
"example": {
"jp": "string",
"kana": "string (hiragana reading; required if jp has kanji)",
"en": "string"
}
}
],
"vocab": [
{
"id": "v1",
"jp": "surface form",
"kana": "hiragana reading (required if jp has kanji; for kana-only words keep as-is)",
"meaning_en": "short",
"register": "polite|neutral|casual|slang|formal|unknown",
"note_en": "optional, 1 line max",
"example": {
"jp": "optional",
"kana": "optional",
"en": "optional"
}
}
],
"conversation": [
{
"id": "c1",
"jp": "exact line",
"kana": "hiragana reading (required if jp has kanji)",
"en": "translation",
"register": "polite|neutral|casual|slang|mixed|unknown"
}
],
"key_phrases": [
{
"id": "k1",
"jp": "phrase",
"kana": "reading (hiragana if needed)",
"meaning_en": "short",
"when_to_use_en": "1-2 lines max",
"register": "polite|neutral|casual|slang|formal|unknown"
}
]
},
"quiz": [
{
"id": "q1",
"targets": ["k1"],
"type": "mc_meaning|mc_register|cloze|match|choose_best_reply",
"prompt_en": "string",
"payload": {
"sentence_jp": "optional",
"sentence_kana": "optional",
"blanked": "optional (use ____ for blank)",
"options": ["A", "B", "C", "D"],
"pairs": [{"left":"", "right":""}]
},
"answer": {
"correct_index": 0,
"correct_text": "optional (for non-mc types)"
}
}
],
"ui_hints": {
"recommended_order": ["g1","k1","k2","v1"],
"show_first": "quiz",
"explain_on_fail": true
}
}
QUESTION GUIDELINES:
- For each grammar item: make at least 1 cloze question from the example, and 1 meaning or usage question.
- For vocab/key_phrases: make at least 1 meaning multiple-choice and optionally 1 register or “best situation” question.
- For conversation lines: optionally make “choose the best reply” or “what does this line mean” questions.
- Keep prompts short. Do not restate long explanations. The website will show explanations after.
Now analyze the video and output ONLY the JSON.