Cascadia ×
Link-U
manga translation test
checking node…

Translate manga pages on your Cascadia node

Drop page files below. Each page goes to the deployed model running on this machine; results stream back page by page with the Japanese and English side by side. Nothing leaves the node.

Drop page files here, or click to choose JSON or JSONL pages (scene_id, bubbles[id, kind, text_ja]), prompt rows (system, user, bubble_ids), or plain text with one bubble per line.

Loaded files are shown below before anything is sent. Each page streams back as the model writes it — bubbles fill in line by line — and a full 8–10 bubble page takes seconds to a couple of minutes on the iGPU. Bubble tags are read tolerantly ([b5], [bb5], b5:).

Input formats and output — what to upload, what comes back

Files are detected per document, in this order: one JSON object or array, then JSONL (one JSON object per line), then plain text. Mixed formats inside one file are not supported. Download the sample file to start from.

1 · Page items (JSON or JSONL) — the simplest format

One object per page with the bubbles in reading order. The console builds the production system prompt for you.

{"scene_id": "vol01-p016", "bubbles": [
  {"id": "b1", "kind": "speech",    "text_ja": "ここの広場は人が多いのですね"},
  {"id": "b2", "kind": "thought",   "text_ja": "護衛から離れてしまった…"},
  {"id": "b3", "kind": "sfx",       "text_ja": "ドキッ"}
]}
fieldrequiredmeaning
scene_idnolabel shown on the result card; defaults to file-001, file-002, …
bubbles[].idnob1, b2, … (a bare number is accepted); defaults to position
bubbles[].kindnospeech · thought · narration · sfx · sign (free text is passed through); defaults to speech
bubbles[].text_jayesthe Japanese; ja or text are accepted as aliases

2 · Prompt rows (JSONL) — the honyaku-bench evaluation format

Exactly what the ft*/*.jsonl prompt files contain: the finished system and user messages. Use this to reproduce an evaluation run bubble for bubble, or to try your own system prompt. Each user line is [bN] (kind) text.

{"scene_id": "minioboe-16-001",
 "system": "You translate Japanese manga into natural English…",
 "user": "[b1] (speech) ここの広場は人が多いのですね\n[b2] (speech) こちらでの出し物は祭りの目玉の一つなのです",
 "bubble_ids": ["b1", "b2"]}
fieldrequiredmeaning
systemyessystem prompt, sent verbatim
useryesuser message, sent verbatim; bubbles are read back from its [bN] lines for the results table
bubble_idsnowhich ids to expect in the answer; defaults to the [bN] tags found in user

3 · Plain text (.txt)

One bubble per line, treated as a single page of speech bubbles with ids b1bN.

おい、待てよ!
もう遅いって言ったでしょ。

What comes back

The model answers one [bN] English line per bubble. The table shows each bubble's Japanese and English side by side; a red no line returned means the model skipped that id or ran out of tokens. “Raw model output” under each card shows the untouched answer. “Download results” saves JSON:

{"model": "gemma-4-31b-honyaku", "pages": [
  {"scene_id": "vol01-p016", "elapsed_s": 6.5, "error": null,
   "usage": {"prompt_tokens": 53, "completion_tokens": 37, "total_tokens": 90},
   "bubbles": [{"id": "b1", "kind": "speech", "ja": "ここの広場は人が多いのですね", "en": "This square is so crowded."}],
   "raw": "[b1] This square is so crowded.\n…"}]}