561 Group Market

Mandarin Interlinear Reading

Read Mandarin Chinese at every level at once for language learning and close reading: the text segmented into words, tone-marked pinyin, an English gloss for each word, and, if asked, grammatical, natural and localized sentence translations beneath. Word levels come from open lexicons (jieba, CC-CEDICT) with no model call; plain text or SRT/WebVTT subtitles, up to 4000 source characters.

Price
$0.01 USDC per request
Network
Base mainnet, eip155:8453, settled in USDC through the Coinbase CDP facilitator
Method and URL
POST https://market.561.group/v1/translate/zh-en/interlinear
Response type
application/json
Seller
Causeway Services (561 Group)

Input contract

Input that fails this contract is refused with a 4xx status before any payment is requested.

{
  "maxBytes": 102400,
  "bodySchema": {
    "type": "object",
    "properties": {
      "text": {
        "type": "string",
        "description": "Mandarin Chinese text; paragraphs are separated by blank lines. Send this or subtitles, not both. At most 4000 source characters, spaces excluded."
      },
      "subtitles": {
        "type": "string",
        "description": "A Mandarin subtitle file, SRT or WebVTT. It comes back in the same format with cue numbers and timings unchanged and only the text translated. At most 4000 source characters."
      },
      "module": {
        "enum": [
          "general",
          "cdrama-subtitles"
        ],
        "description": "The translation module whose glossary the reading and any model levels use; general by default.",
        "type": "string"
      },
      "levels": {
        "type": "array",
        "items": {
          "enum": [
            "hanzi",
            "pinyin",
            "gloss",
            "grammatical",
            "natural",
            "localized"
          ],
          "type": "string"
        },
        "description": "The levels to read at, in order: hanzi (the source segmented into words), pinyin (tone-marked), gloss (each word's English), and the model's grammatical, natural and localized translations. Default hanzi, pinyin, gloss, which call no model."
      },
      "glossary": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "Your own terms, up to 200 objects { source: Chinese, target: English }; they override the module's glossary and the series memory, and each one in the source is checked in the English."
      },
      "memory": {
        "type": "object",
        "description": "Series memory, { entries: [{ source, target }, ...] } up to 1000 entries: send back the memory the previous episode's response returned, so names and terms are rendered the same way in every episode. Each response returns the memory with any newly romanized names added."
      }
    }
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/translate/zh-en/interlinear",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "text": "少爷,老夫人让您回家吃饭。",
    "module": "cdrama-subtitles",
    "levels": [
      "hanzi",
      "pinyin",
      "gloss",
      "natural"
    ]
  }
}

Output

{
  "schema": {
    "type": "object",
    "required": [
      "kind",
      "module",
      "format",
      "levels",
      "segments",
      "text",
      "sources"
    ],
    "properties": {
      "kind": {
        "const": "mandarin-interlinear/v1"
      },
      "levels": {
        "type": "array"
      },
      "segments": {
        "type": "array",
        "description": "Each paragraph or cue: its source, its words at the requested word levels, and its sentence at each requested model level."
      },
      "text": {
        "type": "string",
        "description": "A plain-text interlinear layout: hanzi over pinyin over glosses, then each model level."
      },
      "sources": {
        "type": "object",
        "description": "The lexicons the word levels rest on, with their licences."
      }
    }
  },
  "example": {
    "kind": "mandarin-interlinear/v1",
    "module": "cdrama-subtitles",
    "format": "text",
    "levels": [
      "hanzi",
      "pinyin",
      "gloss",
      "natural"
    ],
    "models": [
      "@cf/qwen/qwen3.8-27b"
    ],
    "segments": [
      {
        "source": "少爷,老夫人让您回家吃饭。",
        "words": [
          {
            "hanzi": "少爷",
            "pinyin": "shàoye",
            "gloss": "Young Master",
            "source": "glossary"
          },
          {
            "hanzi": "老夫人",
            "pinyin": "lǎofūrén",
            "gloss": "Madam (the family matriarch)",
            "source": "glossary"
          },
          {
            "hanzi": "让",
            "pinyin": "ràng",
            "gloss": "to yield",
            "source": "lexicon"
          },
          {
            "hanzi": "您",
            "pinyin": "nín",
            "gloss": "you",
            "source": "lexicon"
          },
          {
            "hanzi": "回家",
            "pinyin": "huíjiā",
            "gloss": "to return home",
            "source": "lexicon"
          },
          {
            "hanzi": "吃饭",
            "pinyin": "chīfàn",
            "gloss": "to have a meal",
            "source": "lexicon"
          }
        ],
        "targets": {
          "natural": "Young Master, Madam is asking you to come home for dinner."
        }
      }
    ],
    "text": "少爷 老夫人 让 您 回家 吃饭\nshàoye lǎofūrén ràng nín huíjiā chīfàn\nYoung Master | Madam (the family matriarch) | to yield | you | to return home | to have a meal\nnatural: Young Master, Madam is asking you to come home for dinner.",
    "translations": {
      "natural": "Young Master, Madam is asking you to come home for dinner."
    },
    "sources": {
      "segmentation": {
        "source": "https://github.com/fxsjy/jieba/blob/master/jieba/dict.txt, fetched 2026-09-27",
        "license": "MIT, Copyright (c) 2013 Sun Junyi (the jieba project's LICENSE)",
        "threshold": 10,
        "count": 105157
      },
      "pronunciationAndGloss": {
        "source": "CC-CEDICT, https://www.mdbg.net/chinese/export/cedict/cedict_1_0_ts_utf-8_mdbg.txt.gz, published 2026-09-2
… (truncated; the full contract is in /v1/catalog)

How to buy with x402

  1. Send the request without payment. The server answers 402 Payment Required with a base64 JSON PAYMENT-REQUIRED header holding the amount, asset, network and payee.
  2. Have your wallet sign an EIP-3009 transferWithAuthorization for exactly those terms (an x402 client library does this for you).
  3. Repeat the identical request with the signed payload in the PAYMENT-SIGNATURE header.
  4. The server verifies, runs the operation, settles, and returns 200 with the result and a PAYMENT-RESPONSE header carrying the settlement receipt.

Read the price without paying

curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"text":"少爷,老夫人让您回家吃饭。","module":"cdrama-subtitles","levels":["hanzi","pinyin","gloss","natural"]}' --url 'https://market.561.group/v1/translate/zh-en/interlinear'

This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.

Machine-readable