HebrewCore by baba Hebrew

Hebrew translation that keeps prices, names and dates exact, RTL display, nikud, clinical Hebrew.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
99%
Integridad del esquema
85%
Calidad de los nombres
88%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~15,486Tokens (definiciones de herramientas)
~9.7 KBTamaño de respuesta típico
Impacto significativo en la atención (12.10% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "hebrewcore": {
      "url": "https://hc.itsbaba.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://hc.itsbaba.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (16)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡translate(text, source_lang, target_lang, transliterate, quality, ...)

Translate one text between Hebrew, English, Russian and the other languages from list_languages. Use it for product, support, interface, finance, legal and general clinical text. Returns the translation with its direction metadata. Protected translation: set `protect: true`, a `domain` (`general`, `clinical`, `finance`, `legal`) or any protection field, and prices, quantities, numbers, dates, codes, identifiers, product names, interface variables ({name}, %s) and `protected_terms` are kept exactly as written, and every sentence is verified; a sentence that cannot be verified comes back in the source language (status `fallback`) instead of a wrong value. `finance` also protects IBANs, card and account numbers and checks credit/debit direction; `legal` keeps clause references, citations and defined terms and checks shall/may modality; `clinical` protects drugs, doses and lab values. Gender: `listener_gender` is the reader ("you"), `speaker_gender` the speaker ("I", e.g. an assistant). `glossary` maps source terms to required renderings; `redact_terms` keeps names exact and hidden from the model. `message_format: "icu"` translates an ICU MessageFormat string and rewrites plural branches for Hebrew and Russian. `quality`: `fast`, `balanced` (default) or `smartest`. Uses the monthly character quota. For many short strings use translate_batch; for full English clinical documents into Hebrew use clinical_translate.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "Text to translate, 1 to 20,000 characters. Counts toward the monthly character quota.",
      "examples": [
        "Welcome to your account"
      ]
    },
    "source_lang": {
      "type": "string",
      "description": "BCP 47 source language, or `auto` (default) to detect it.",
      "examples": [
        "auto"
      ]
    },
    "target_lang": {
      "type": "string",
      "description": "BCP 47 target language, e.g. `he`, `en`, `ru`. See GET /v1/languages.",
      "examples": [
        "he"
      ]
    },
    "transliterate": {
      "type": "boolean",
      "default": false,
      "description": "Include a Latin transliteration when the target is Hebrew.",
      "examples": [
        false
      ]
    },
    "quality": {
      "type": "string",
      "enum": [
        "fast",
        "balanced",
        "smartest"
      ],
      "default": "balanced",
      "description": "`fast`: lowest latency, for high volume and short strings. `balanced`: the default. `smartest`: maximum nuance for long or sensitive text.",
      "examples": [
        "balanced"
      ]
    },
    "gender": {
      "type": "string",
      "enum": [
        "male",
        "female",
        "general"
      ],
      "description": "Grammatical gender for the reader where the target language marks it. For assistants, prefer `listener_gender` and `speaker_gender`.",
      "examples": [
        "general"
      ]
    },
    "message_format": {
      "type": "string",
      "enum": [
        "icu"
      ],
      "description": "`icu`: the text is an ICU MessageFormat message. The result is a valid ICU message in the target language: arguments ({name}, {count, number}, {d, date, short}) and `#` are kept, plural and selectordinal branches are rewritten for the target language's CLDR categories (Hebrew one, two, other; Russian one, few, many, other; English one, other; exact matches such as =0 kept), and select keys are kept. A plural or select inside a sentence is moved to the top so every branch is a whole sentence; `protection.segments` lists each branch sentence. Always protected; Hebrew, English and Russian. Invalid ICU returns 400 `invalid_message_format`; a message that cannot be verified comes back unchanged with `protection.status: \"fallback\"`.",
      "examples": [
        "icu"
      ]
    },
    "protect": {
      "type": "boolean",
      "description": "Keep prices, quantities, numbers, dates, codes, identifiers, product names, interface variables ({name}, %s) and <keep>…</keep> text exactly as written, and verify every sentence. Implied by any protection field. Hebrew, English and Russian. Account terms switch it on automatically for these pairs.",
      "examples": [
        true
      ]
    },
    "domain": {
      "type": "string",
      "enum": [
        "general",
        "clinical",
        "finance",
        "legal"
      ],
      "description": "`general` (default) for product, commerce, support and interface text. `clinical` adds clinical register and drug, dose, lab and abbreviation detection. `finance` adds a formal banking register, protects IBANs, SWIFT/BIC codes, bank account numbers (including Israeli bank-branch-account), Israeli ID numbers and card numbers (check digits verified; these values are never shown to the model), invoice, policy and transaction references, signed amounts, rates and basis points, and checks that every money direction (credit/debit, deposit/withdrawal, buy/sell, increase/decrease, gain/loss, who owes whom) is kept. `legal` adds a formal legal register, protects clause and section references (Section 4.2, Clause 7(b), סעיף 12(א), § 3) and case and statute citations, renders each defined term (\"the Company\") the same way throughout, and checks that modality (shall, may, shall not, is not required to) is kept. Any value implies `protect`.",
      "examples": [
        "finance"
      ]
    },
    "audience": {
      "type": "string",
      "enum": [
        "clinician",
        "patient"
      ],
      "description": "Clinical domain register. `clinician` (default) keeps shorthand such as BID and PO; `patient` writes it as plain words.",
      "examples": [
        "patient"
      ]
    },
    "protected_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 500,
      "description": "Terms kept exactly as written: product names, brand names, SKUs. Up to 500, each up to 200 characters. Added to the account terms list for this request.",
      "examples": [
        [
          "Wireless Earbuds Pro",
          "A-10234"
        ]
      ]
    },
    "redact_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 200,
      "description": "Kept exactly and never shown to the model: customer names and other personal data. Up to 200.",
      "examples": [
        [
          "Dana Levi"
        ]
      ]
    },
    "glossary": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "description": "Source term → required rendering in the target language. Up to 500 entries. Wins over an account term with the same text.",
      "examples": [
        {
          "Checkout": "לתשלום"
        }
      ]
    },
    "listener_gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Gender of the reader (\"you\"): תרצי / תרצה. Hebrew and Russian mark it; English does not. Without it, Hebrew interface text uses neutral forms.",
      "examples": [
        "female"
      ]
    },
    "speaker_gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Gender of the speaker (\"I\"), for an assistant or brand voice: מצאתי, я нашла / я нашёл.",
      "examples": [
        "female"
      ]
    },
    "patient_gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Clinical domain: gender of a patient referred to in the third person.",
      "examples": [
        "male"
      ]
    },
    "date_order": {
      "type": "string",
      "enum": [
        "MDY",
        "DMY"
      ],
      "description": "How to read ambiguous numeric dates such as 04/03/2026. Default MDY for English sources, DMY for Hebrew and Russian.",
      "examples": [
        "MDY"
      ]
    },
    "date_style": {
      "type": "string",
      "enum": [
        "hebrew",
        "iso",
        "keep"
      ],
      "description": "`hebrew` (default) spells the month out in the target language (\"4 במרץ 2026\", \"4 марта 2026 г.\"); `iso`; `keep` (unambiguous dates only).",
      "examples": [
        "hebrew"
      ]
    },
    "bidi": {
      "type": "string",
      "enum": [
        "isolate",
        "none"
      ],
      "description": "`isolate` wraps protected values in Unicode isolates in Hebrew output. Default none; see /v1/wrap.",
      "examples": [
        "none"
      ]
    }
  },
  "required": [
    "text",
    "target_lang"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Request identifier. Include it when you contact support.",
      "examples": [
        "txn_a1b2c3d4e5f6"
      ]
    },
    "source": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "dir": {
              "type": "string",
              "enum": [
                "ltr",
                "rtl"
              ],
              "description": "Paragraph base direction. With `base: \"auto\"` this follows the Unicode first-strong rule, matching CSS `dir=\"auto\"`.",
              "examples": [
                "rtl"
              ]
            },
            "mixed": {
              "type": "boolean",
              "description": "True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.",
              "examples": [
                true
              ]
            },
            "lang": {
              "type": "string",
              "description": "Dominant BCP 47 language, from the dominant script.",
              "examples": [
                "he"
              ]
            },
            "script": {
              "type": "string",
              "description": "Dominant ISO 15924 script.",
              "examples": [
                "Hebr"
              ]
            },
            "runs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The run text. Equals `input.slice(start, end)`.",
                    "examples": [
                      "שלום "
                    ]
                  },
                  "dir": {
                    "type": "string",
                    "enum": [
                      "ltr",
                      "rtl"
                    ],
                    "description": "Resolved direction of the run.",
                    "examples": [
                      "rtl"
                    ]
                  },
                  "script": {
                    "type": "string",
                    "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                    "examples": [
                      "Hebr"
                    ]
                  },
                  "lang": {
                    "type": "string",
                    "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                    "examples": [
                      "he"
                    ]
                  },
                  "start": {
                    "type": "integer",
                    "description": "UTF-16 offset of the first character, inclusive.",
                    "examples": [
                      0
                    ]
                  },
                  "end": {
                    "type": "integer",
                    "description": "UTF-16 offset after the last character, exclusive.",
                    "examples": [
                      5
                    ]
                  }
                },
                "description": "A maximal stretch of text with one direction, in logical order."
              },
              "description": "Runs exactly as the Unicode Bidirectional Algorithm resolves them."
            },
            "display_runs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The run text. Equals `input.slice(start, end)`.",
                    "examples": [
                      "שלום "
                    ]
                  },
                  "dir": {
                    "type": "string",
                    "enum": [
                      "ltr",
                      "rtl"
                    ],
                    "description": "Resolved direction of the run.",
                    "examples": [
                      "rtl"
                    ]
                  },
                  "script": {
                    "type": "string",
                    "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                    "examples": [
                      "Hebr"
                    ]
                  },
                  "lang": {
                    "type": "string",
                    "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                    "examples": [
                      "he"
                    ]
                  },
                  "start": {
                    "type": "integer",
                    "description": "UTF-16 offset of the first character, inclusive.",
                    "examples": [
                      0
                    ]
                  },
                  "end": {
                    "type": "integer",
                    "description": "UTF-16 offset after the last character, exclusive.",
                    "examples": [
                      5
                    ]
                  }
                },
                "description": "A maximal stretch of text with one direction, in logical order."
              },
              "description": "Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap."
            }
          },
          "description": "Directionality metadata for one string."
        },
        {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "description": "The source text as sent.",
              "examples": [
                "Welcome to your account"
              ]
            }
          }
        }
      ],
      "description": "The source text with its directionality metadata."
    },
    "translation": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "dir": {
              "type": "string",
              "enum": [
                "ltr",
                "rtl"
              ],
              "description": "Paragraph base direction. With `base: \"auto\"` this follows the Unicode first-strong rule, matching CSS `dir=\"auto\"`.",
              "examples": [
                "rtl"
              ]
            },
            "mixed": {
              "type": "boolean",
              "description": "True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.",
              "examples": [
                true
              ]
            },
            "lang": {
              "type": "string",
              "description": "Dominant BCP 47 language, from the dominant script.",
              "examples": [
                "he"
              ]
            },
            "script": {
              "type": "string",
              "description": "Dominant ISO 15924 script.",
              "examples": [
                "Hebr"
              ]
            },
            "runs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The run text. Equals `input.slice(start, end)`.",
                    "examples": [
                      "שלום "
                    ]
                  },
                  "dir": {
                    "type": "string",
                    "enum": [
                      "ltr",
                      "rtl"
                    ],
                    "description": "Resolved direction of the run.",
                    "examples": [
                      "rtl"
                    ]
                  },
                  "script": {
                    "type": "string",
                    "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                    "examples": [
                      "Hebr"
                    ]
                  },
                  "lang": {
                    "type": "string",
                    "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                    "examples": [
                      "he"
                    ]
                  },
                  "start": {
                    "type": "integer",
                    "description": "UTF-16 offset of the first character, inclusive.",
                    "examples": [
                      0
                    ]
                  },
                  "end": {
                    "type": "integer",
                    "description": "UTF-16 offset after the last character, exclusive.",
                    "examples": [
                      5
                    ]
                  }
                },
                "description": "A maximal stretch of text with one direction, in logical order."
              },
              "description": "Runs exactly as the Unicode Bidirectional Algorithm resolves them."
            },
            "display_runs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The run text. Equals `input.slice(start, end)`.",
                    "examples": [
                      "שלום "
                    ]
                  },
                  "dir": {
                    "type": "string",
                    "enum": [
                      "ltr",
                      "rtl"
                    ],
                    "description": "Resolved direction of the run.",
                    "examples": [
                      "rtl"
                    ]
                  },
                  "script": {
                    "type": "string",
                    "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                    "examples": [
                      "Hebr"
                    ]
                  },
                  "lang": {
                    "type": "string",
                    "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                    "examples": [
                      "he"
                    ]
                  },
                  "start": {
                    "type": "integer",
                    "description": "UTF-16 offset of the first character, inclusive.",
                    "examples": [
                      0
                    ]
                  },
                  "end": {
                    "type": "integer",
                    "description": "UTF-16 offset after the last character, exclusive.",
                    "examples": [
                      5
                    ]
                  }
                },
                "description": "A maximal stretch of text with one direction, in logical order."
              },
              "description": "Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap."
            }
          },
          "description": "Directionality metadata for one string."
        },
        {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "description": "The translation, or the source text for sentences that fell back.",
              "examples": [
                "ברוכים הבאים לחשבון שלך"
              ]
            },
            "transliteration": {
              "type": [
                "string",
                "null"
              ],
              "description": "Latin transliteration of a Hebrew result when `transliterate` was true, otherwise null.",
              "examples": [
                "Bruchim haba'im lakheshbon shelkha"
              ]
            },
            "protection": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "ok",
                    "retried",
                    "fallback",
                    "passthrough"
                  ],
                  "description": "Worst sentence status. `ok`: verified first time. `retried`: a sentence was retried with a stronger model and then passed. `fallback`: at least one sentence could not be verified and is returned in the source language. `passthrough`: no model was needed.",
                  "examples": [
                    "ok"
                  ]
                },
                "source_lang": {
                  "type": "string",
                  "description": "Source language used for protection (detected when `source_lang` is `auto`).",
                  "examples": [
                    "en"
                  ]
                },
                "spans": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "description": "What was protected: `term`, `glossary`, `number`, `ordinal`, `date`, `identifier`, `email`, `url`, `template` (interface variables), `keep`, `markup`, `code_inline`, `name` (redacted); in the clinical domain `drug`, `dose`, `abbreviation`, `code`; in the finance domain `account` (IBAN, BIC, bank account), `id_number`, `card` (all three redacted), `reference`; in the legal domain `clause`, `citation`, `defined_term` (its `render` is the rendering used throughout).",
                        "examples": [
                          "date"
                        ]
                      },
                      "value": {
                        "type": "string",
                        "description": "The protected source value. Omitted for redacted values.",
                        "examples": [
                          "04/03/2026"
                        ]
                      },
                      "render": {
                        "type": "string",
                        "description": "How the value was written in the translation, when it was rewritten (dates).",
                        "examples": [
                          "3 באפריל 2026"
                        ]
                      },
                      "ambiguous_date": {
                        "type": "boolean",
                        "description": "True when a numeric date could be read two ways and `date_order` decided it.",
                        "examples": [
                          true
                        ]
                      }
                    }
                  },
                  "description": "Every protected value, in source order."
                },
                "issues": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "description": "Check that failed, e.g. `term_missing`, `date_missing`, `number_added`, `digits_added`, `negation_lost`, `laterality_lost`, `gender_mismatch`, `meaning`, `placeholder_missing`; finance: `direction_swapped` (error), `direction_lost` (warning); legal: `modality_changed`, `defined_term_changed`.",
                        "examples": [
                          "term_missing"
                        ]
                      },
                      "severity": {
                        "type": "string",
                        "enum": [
                          "error",
                          "warning"
                        ],
                        "examples": [
                          "error"
                        ]
                      },
                      "detail": {
                        "type": "string",
                        "examples": [
                          "\"A-10234\" (term) is missing or altered."
                        ]
                      }
                    }
                  },
                  "description": "Problems found by the checks. Empty when every sentence passed."
                },
                "segments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "examples": [
                          "Would you like me to schedule delivery for 04/03/2026?"
                        ]
                      },
                      "text": {
                        "type": "string",
                        "examples": [
                          "האם תרצי שאקבע את המשלוח ל־3 באפריל 2026?"
                        ]
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "ok",
                          "retried",
                          "fallback",
                          "passthrough"
                        ],
                        "examples": [
                          "ok"
                        ]
                      }
                    }
                  },
                  "description": "Per-sentence result, in order."
                }
              },
              "description": "Present when the request used protected translation."
            }
          }
        }
      ],
      "description": "The translation with its directionality metadata."
    },
    "quality": {
      "type": "string",
      "description": "Quality tier used.",
      "examples": [
        "balanced"
      ]
    },
    "usage": {
      "type": "object",
      "properties": {
        "characters": {
          "type": "integer",
          "description": "Characters charged to the monthly quota for this request.",
          "examples": [
            23
          ]
        }
      },
      "description": "What this request consumed."
    }
  }
}
⚪translate_batch(items, target_lang, source_lang, transliterate, quality, ...)

Translate 1 to 50 strings (each up to 5,000 characters) into one target language in a single call; results come back in input order. Use it for the interface strings of a screen, a string file, or the fields of a product. Takes every option of translate: `protect`, `domain` (`general`, `clinical`, `finance`, `legal`), `protected_terms`, `glossary`, `listener_gender`, `speaker_gender`, `message_format: "icu"` and `quality`. With protection, interface variables such as {count}, {{name}} and %s, numbers, prices and dates stay exactly as written, and each item carries its own verification status. Uses the monthly character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 5000
      },
      "minItems": 1,
      "maxItems": 50,
      "description": "1 to 50 strings, each up to 5,000 characters. A protected batch carries at most 20,000 characters in total.",
      "examples": [
        [
          "{count} items in your cart",
          "Checkout",
          "Last updated %s ago"
        ]
      ]
    },
    "target_lang": {
      "type": "string",
      "description": "BCP 47 target language, applied to every item.",
      "examples": [
        "he"
      ]
    },
    "source_lang": {
      "type": "string",
      "description": "BCP 47 source language, or `auto` (default).",
      "examples": [
        "auto"
      ]
    },
    "transliterate": {
      "type": "boolean",
      "default": false,
      "description": "Include a Latin transliteration when the target is Hebrew.",
      "examples": [
        false
      ]
    },
    "quality": {
      "type": "string",
      "enum": [
        "fast",
        "balanced",
        "smartest"
      ],
      "default": "balanced",
      "description": "Quality tier, applied to every item.",
      "examples": [
        "balanced"
      ]
    },
    "gender": {
      "type": "string",
      "enum": [
        "male",
        "female",
        "general"
      ],
      "description": "Grammatical gender for the reader where the target language marks it.",
      "examples": [
        "general"
      ]
    },
    "message_format": {
      "type": "string",
      "enum": [
        "icu"
      ],
      "description": "`icu`: every item is an ICU MessageFormat message. Each result is a valid ICU message in the target language: arguments ({name}, {count, number}, {d, date, short}) and `#` are kept, plural and selectordinal branches are rewritten for the target language's CLDR categories (Hebrew one, two, other; Russian one, few, many, other; English one, other; exact matches such as =0 kept), and select keys are kept. A plural or select inside a sentence is moved to the top so every branch is a whole sentence; `protection.segments` lists each branch sentence. Always protected; Hebrew, English and Russian. Invalid ICU returns 400 `invalid_message_format`; a message that cannot be verified comes back unchanged with `protection.status: \"fallback\"`.",
      "examples": [
        "icu"
      ]
    },
    "protect": {
      "type": "boolean",
      "description": "Keep prices, quantities, numbers, dates, codes, identifiers, product names, interface variables ({name}, %s) and <keep>…</keep> text exactly as written, and verify every sentence. Implied by any protection field. Hebrew, English and Russian. Account terms switch it on automatically for these pairs.",
      "examples": [
        true
      ]
    },
    "domain": {
      "type": "string",
      "enum": [
        "general",
        "clinical",
        "finance",
        "legal"
      ],
      "description": "`general` (default) for product, commerce, support and interface text. `clinical` adds clinical register and drug, dose, lab and abbreviation detection. `finance` adds a formal banking register, protects IBANs, SWIFT/BIC codes, bank account numbers (including Israeli bank-branch-account), Israeli ID numbers and card numbers (check digits verified; these values are never shown to the model), invoice, policy and transaction references, signed amounts, rates and basis points, and checks that every money direction (credit/debit, deposit/withdrawal, buy/sell, increase/decrease, gain/loss, who owes whom) is kept. `legal` adds a formal legal register, protects clause and section references (Section 4.2, Clause 7(b), סעיף 12(א), § 3) and case and statute citations, renders each defined term (\"the Company\") the same way throughout, and checks that modality (shall, may, shall not, is not required to) is kept. Any value implies `protect`.",
      "examples": [
        "finance"
      ]
    },
    "audience": {
      "type": "string",
      "enum": [
        "clinician",
        "patient"
      ],
      "description": "Clinical domain register. `clinician` (default) keeps shorthand such as BID and PO; `patient` writes it as plain words.",
      "examples": [
        "patient"
      ]
    },
    "protected_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 500,
      "description": "Terms kept exactly as written: product names, brand names, SKUs. Up to 500, each up to 200 characters. Added to the account terms list for this request.",
      "examples": [
        [
          "Wireless Earbuds Pro",
          "A-10234"
        ]
      ]
    },
    "redact_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 200,
      "description": "Kept exactly and never shown to the model: customer names and other personal data. Up to 200.",
      "examples": [
        [
          "Dana Levi"
        ]
      ]
    },
    "glossary": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "description": "Source term → required rendering in the target language. Up to 500 entries. Wins over an account term with the same text.",
      "examples": [
        {
          "Checkout": "לתשלום"
        }
      ]
    },
    "listener_gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Gender of the reader (\"you\"): תרצי / תרצה. Hebrew and Russian mark it; English does not. Without it, Hebrew interface text uses neutral forms.",
      "examples": [
        "female"
      ]
    },
    "speaker_gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Gender of the speaker (\"I\"), for an assistant or brand voice: מצאתי, я нашла / я нашёл.",
      "examples": [
        "female"
      ]
    },
    "patient_gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Clinical domain: gender of a patient referred to in the third person.",
      "examples": [
        "male"
      ]
    },
    "date_order": {
      "type": "string",
      "enum": [
        "MDY",
        "DMY"
      ],
      "description": "How to read ambiguous numeric dates such as 04/03/2026. Default MDY for English sources, DMY for Hebrew and Russian.",
      "examples": [
        "MDY"
      ]
    },
    "date_style": {
      "type": "string",
      "enum": [
        "hebrew",
        "iso",
        "keep"
      ],
      "description": "`hebrew` (default) spells the month out in the target language (\"4 במרץ 2026\", \"4 марта 2026 г.\"); `iso`; `keep` (unambiguous dates only).",
      "examples": [
        "hebrew"
      ]
    },
    "bidi": {
      "type": "string",
      "enum": [
        "isolate",
        "none"
      ],
      "description": "`isolate` wraps protected values in Unicode isolates in Hebrew output. Default none; see /v1/wrap.",
      "examples": [
        "none"
      ]
    }
  },
  "required": [
    "items",
    "target_lang"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "dir": {
                "type": "string",
                "enum": [
                  "ltr",
                  "rtl"
                ],
                "description": "Paragraph base direction. With `base: \"auto\"` this follows the Unicode first-strong rule, matching CSS `dir=\"auto\"`.",
                "examples": [
                  "rtl"
                ]
              },
              "mixed": {
                "type": "boolean",
                "description": "True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.",
                "examples": [
                  true
                ]
              },
              "lang": {
                "type": "string",
                "description": "Dominant BCP 47 language, from the dominant script.",
                "examples": [
                  "he"
                ]
              },
              "script": {
                "type": "string",
                "description": "Dominant ISO 15924 script.",
                "examples": [
                  "Hebr"
                ]
              },
              "runs": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "The run text. Equals `input.slice(start, end)`.",
                      "examples": [
                        "שלום "
                      ]
                    },
                    "dir": {
                      "type": "string",
                      "enum": [
                        "ltr",
                        "rtl"
                      ],
                      "description": "Resolved direction of the run.",
                      "examples": [
                        "rtl"
                      ]
                    },
                    "script": {
                      "type": "string",
                      "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                      "examples": [
                        "Hebr"
                      ]
                    },
                    "lang": {
                      "type": "string",
                      "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                      "examples": [
                        "he"
                      ]
                    },
                    "start": {
                      "type": "integer",
                      "description": "UTF-16 offset of the first character, inclusive.",
                      "examples": [
                        0
                      ]
                    },
                    "end": {
                      "type": "integer",
                      "description": "UTF-16 offset after the last character, exclusive.",
                      "examples": [
                        5
                      ]
                    }
                  },
                  "description": "A maximal stretch of text with one direction, in logical order."
                },
                "description": "Runs exactly as the Unicode Bidirectional Algorithm resolves them."
              },
              "display_runs": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "The run text. Equals `input.slice(start, end)`.",
                      "examples": [
                        "שלום "
                      ]
                    },
                    "dir": {
                      "type": "string",
                      "enum": [
                        "ltr",
                        "rtl"
                      ],
                      "description": "Resolved direction of the run.",
                      "examples": [
                        "rtl"
                      ]
                    },
                    "script": {
                      "type": "string",
                      "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                      "examples": [
                        "Hebr"
                      ]
                    },
                    "lang": {
                      "type": "string",
                      "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                      "examples": [
                        "he"
                      ]
                    },
                    "start": {
                      "type": "integer",
                      "description": "UTF-16 offset of the first character, inclusive.",
                      "examples": [
                        0
                      ]
                    },
                    "end": {
                      "type": "integer",
                      "description": "UTF-16 offset after the last character, exclusive.",
                      "examples": [
                        5
                      ]
                    }
                  },
                  "description": "A maximal stretch of text with one direction, in logical order."
                },
                "description": "Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap."
              }
            },
            "description": "Directionality metadata for one string."
          },
          {
            "type": "object",
            "properties": {
              "text": {
                "type": "string",
                "description": "The translation, or the source text for sentences that fell back.",
                "examples": [
                  "ברוכים הבאים לחשבון שלך"
                ]
              },
              "transliteration": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Latin transliteration of a Hebrew result when `transliterate` was true, otherwise null.",
                "examples": [
                  "Bruchim haba'im lakheshbon shelkha"
                ]
              },
              "protection": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "ok",
                      "retried",
                      "fallback",
                      "passthrough"
                    ],
                    "description": "Worst sentence status. `ok`: verified first time. `retried`: a sentence was retried with a stronger model and then passed. `fallback`: at least one sentence could not be verified and is returned in the source language. `passthrough`: no model was needed.",
                    "examples": [
                      "ok"
                    ]
                  },
                  "source_lang": {
                    "type": "string",
                    "description": "Source language used for protection (detected when `source_lang` is `auto`).",
                    "examples": [
                      "en"
                    ]
                  },
                  "spans": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "What was protected: `term`, `glossary`, `number`, `ordinal`, `date`, `identifier`, `email`, `url`, `template` (interface variables), `keep`, `markup`, `code_inline`, `name` (redacted); in the clinical domain `drug`, `dose`, `abbreviation`, `code`; in the finance domain `account` (IBAN, BIC, bank account), `id_number`, `card` (all three redacted), `reference`; in the legal domain `clause`, `citation`, `defined_term` (its `render` is the rendering used throughout).",
                          "examples": [
                            "date"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "description": "The protected source value. Omitted for redacted values.",
                          "examples": [
                            "04/03/2026"
                          ]
                        },
                        "render": {
                          "type": "string",
                          "description": "How the value was written in the translation, when it was rewritten (dates).",
                          "examples": [
                            "3 באפריל 2026"
                          ]
                        },
                        "ambiguous_date": {
                          "type": "boolean",
                          "description": "True when a numeric date could be read two ways and `date_order` decided it.",
                          "examples": [
                            true
                          ]
                        }
                      }
                    },
                    "description": "Every protected value, in source order."
                  },
                  "issues": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "description": "Check that failed, e.g. `term_missing`, `date_missing`, `number_added`, `digits_added`, `negation_lost`, `laterality_lost`, `gender_mismatch`, `meaning`, `placeholder_missing`; finance: `direction_swapped` (error), `direction_lost` (warning); legal: `modality_changed`, `defined_term_changed`.",
                          "examples": [
                            "term_missing"
                          ]
                        },
                        "severity": {
                          "type": "string",
                          "enum": [
                            "error",
                            "warning"
                          ],
                          "examples": [
                            "error"
                          ]
                        },
                        "detail": {
                          "type": "string",
                          "examples": [
                            "\"A-10234\" (term) is missing or altered."
                          ]
                        }
                      }
                    },
                    "description": "Problems found by the checks. Empty when every sentence passed."
                  },
                  "segments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "source": {
                          "type": "string",
                          "examples": [
                            "Would you like me to schedule delivery for 04/03/2026?"
                          ]
                        },
                        "text": {
                          "type": "string",
                          "examples": [
                            "האם תרצי שאקבע את המשלוח ל־3 באפריל 2026?"
                          ]
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "ok",
                            "retried",
                            "fallback",
                            "passthrough"
                          ],
                          "examples": [
                            "ok"
                          ]
                        }
                      }
                    },
                    "description": "Per-sentence result, in order."
                  }
                },
                "description": "Present when the request used protected translation."
              }
            }
          }
        ],
        "description": "The translation with its directionality metadata."
      },
      "description": "One translation per item, in input order."
    },
    "usage": {
      "type": "object",
      "properties": {
        "characters": {
          "type": "integer",
          "description": "Characters charged to the monthly quota for this request.",
          "examples": [
            23
          ]
        }
      },
      "description": "What this request consumed."
    }
  }
}
🟢analyze_direction(text, fields, base)

Resolve the right-to-left / left-to-right structure of mixed Hebrew text: base direction, whether it mixes directions, dominant language and script, and the runs to render, where every left-to-right unit (a Latin term, a price, a range such as 10–20%, a date, a model number) stays whole. Send one `text`, or `fields` (a map of name → string, up to 100) to analyze a whole record at once. `base`: `auto` (default), `ltr` or `rtl`. Deterministic and free: no model, no character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "A single string, up to 20,000 characters. Send this or `fields`.",
      "examples": [
        "שלום world"
      ]
    },
    "fields": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "maxLength": 20000
      },
      "description": "A map of field name → string, up to 100 fields and 20,000 characters in total. Send this or `text`.",
      "examples": [
        {
          "title": "מסמך Q3 ready",
          "subtitle": "Read the summary"
        }
      ]
    },
    "base": {
      "type": "string",
      "enum": [
        "auto",
        "ltr",
        "rtl"
      ],
      "default": "auto",
      "description": "Paragraph direction to resolve against. `auto` (default) uses the first strong letter.",
      "examples": [
        "auto"
      ]
    }
  },
  "title": "AnalyzeRequest",
  "description": "Provide exactly one of `text` (a single string) or `fields` (a map of name → string). Max 20,000 chars per string; up to 100 fields."
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "analysis": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "dir": {
              "type": "string",
              "enum": [
                "ltr",
                "rtl"
              ],
              "description": "Paragraph base direction. With `base: \"auto\"` this follows the Unicode first-strong rule, matching CSS `dir=\"auto\"`.",
              "examples": [
                "rtl"
              ]
            },
            "mixed": {
              "type": "boolean",
              "description": "True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.",
              "examples": [
                true
              ]
            },
            "lang": {
              "type": "string",
              "description": "Dominant BCP 47 language, from the dominant script.",
              "examples": [
                "he"
              ]
            },
            "script": {
              "type": "string",
              "description": "Dominant ISO 15924 script.",
              "examples": [
                "Hebr"
              ]
            },
            "runs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The run text. Equals `input.slice(start, end)`.",
                    "examples": [
                      "שלום "
                    ]
                  },
                  "dir": {
                    "type": "string",
                    "enum": [
                      "ltr",
                      "rtl"
                    ],
                    "description": "Resolved direction of the run.",
                    "examples": [
                      "rtl"
                    ]
                  },
                  "script": {
                    "type": "string",
                    "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                    "examples": [
                      "Hebr"
                    ]
                  },
                  "lang": {
                    "type": "string",
                    "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                    "examples": [
                      "he"
                    ]
                  },
                  "start": {
                    "type": "integer",
                    "description": "UTF-16 offset of the first character, inclusive.",
                    "examples": [
                      0
                    ]
                  },
                  "end": {
                    "type": "integer",
                    "description": "UTF-16 offset after the last character, exclusive.",
                    "examples": [
                      5
                    ]
                  }
                },
                "description": "A maximal stretch of text with one direction, in logical order."
              },
              "description": "Runs exactly as the Unicode Bidirectional Algorithm resolves them."
            },
            "display_runs": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The run text. Equals `input.slice(start, end)`.",
                    "examples": [
                      "שלום "
                    ]
                  },
                  "dir": {
                    "type": "string",
                    "enum": [
                      "ltr",
                      "rtl"
                    ],
                    "description": "Resolved direction of the run.",
                    "examples": [
                      "rtl"
                    ]
                  },
                  "script": {
                    "type": "string",
                    "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                    "examples": [
                      "Hebr"
                    ]
                  },
                  "lang": {
                    "type": "string",
                    "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                    "examples": [
                      "he"
                    ]
                  },
                  "start": {
                    "type": "integer",
                    "description": "UTF-16 offset of the first character, inclusive.",
                    "examples": [
                      0
                    ]
                  },
                  "end": {
                    "type": "integer",
                    "description": "UTF-16 offset after the last character, exclusive.",
                    "examples": [
                      5
                    ]
                  }
                },
                "description": "A maximal stretch of text with one direction, in logical order."
              },
              "description": "Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap."
            }
          },
          "description": "Directionality metadata for one string."
        },
        {
          "description": "Present when the request sent `text`."
        }
      ]
    },
    "fields": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "dir": {
            "type": "string",
            "enum": [
              "ltr",
              "rtl"
            ],
            "description": "Paragraph base direction. With `base: \"auto\"` this follows the Unicode first-strong rule, matching CSS `dir=\"auto\"`.",
            "examples": [
              "rtl"
            ]
          },
          "mixed": {
            "type": "boolean",
            "description": "True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.",
            "examples": [
              true
            ]
          },
          "lang": {
            "type": "string",
            "description": "Dominant BCP 47 language, from the dominant script.",
            "examples": [
              "he"
            ]
          },
          "script": {
            "type": "string",
            "description": "Dominant ISO 15924 script.",
            "examples": [
              "Hebr"
            ]
          },
          "runs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "The run text. Equals `input.slice(start, end)`.",
                  "examples": [
                    "שלום "
                  ]
                },
                "dir": {
                  "type": "string",
                  "enum": [
                    "ltr",
                    "rtl"
                  ],
                  "description": "Resolved direction of the run.",
                  "examples": [
                    "rtl"
                  ]
                },
                "script": {
                  "type": "string",
                  "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                  "examples": [
                    "Hebr"
                  ]
                },
                "lang": {
                  "type": "string",
                  "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                  "examples": [
                    "he"
                  ]
                },
                "start": {
                  "type": "integer",
                  "description": "UTF-16 offset of the first character, inclusive.",
                  "examples": [
                    0
                  ]
                },
                "end": {
                  "type": "integer",
                  "description": "UTF-16 offset after the last character, exclusive.",
                  "examples": [
                    5
                  ]
                }
              },
              "description": "A maximal stretch of text with one direction, in logical order."
            },
            "description": "Runs exactly as the Unicode Bidirectional Algorithm resolves them."
          },
          "display_runs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "The run text. Equals `input.slice(start, end)`.",
                  "examples": [
                    "שלום "
                  ]
                },
                "dir": {
                  "type": "string",
                  "enum": [
                    "ltr",
                    "rtl"
                  ],
                  "description": "Resolved direction of the run.",
                  "examples": [
                    "rtl"
                  ]
                },
                "script": {
                  "type": "string",
                  "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
                  "examples": [
                    "Hebr"
                  ]
                },
                "lang": {
                  "type": "string",
                  "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
                  "examples": [
                    "he"
                  ]
                },
                "start": {
                  "type": "integer",
                  "description": "UTF-16 offset of the first character, inclusive.",
                  "examples": [
                    0
                  ]
                },
                "end": {
                  "type": "integer",
                  "description": "UTF-16 offset after the last character, exclusive.",
                  "examples": [
                    5
                  ]
                }
              },
              "description": "A maximal stretch of text with one direction, in logical order."
            },
            "description": "Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap."
          }
        },
        "description": "Directionality metadata for one string."
      },
      "description": "Present when the request sent `fields`: one analysis per field name."
    }
  }
}
🟢detect_language(text)

Detect the dominant language, script and direction of a string, with one segment per language. Built for short, code-switched input (chat messages, search queries, voice transcripts): a brand or acronym such as "PayPal" or "API" inside a Hebrew or Russian sentence does not change the dominant language. Use it to pick `source_lang` or the reply language before translating. Latin script is tagged `en`. Deterministic and free: no character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "Text to classify, up to 20,000 characters. Built for short, code-switched input.",
      "examples": [
        "Можно оплатить через PayPal сегодня?"
      ]
    }
  },
  "required": [
    "text"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "lang": {
      "type": "string",
      "description": "Dominant language (BCP 47). Latin script is tagged `en`.",
      "examples": [
        "ru"
      ]
    },
    "script": {
      "type": "string",
      "description": "Dominant ISO 15924 script.",
      "examples": [
        "Cyrl"
      ]
    },
    "dir": {
      "type": "string",
      "enum": [
        "ltr",
        "rtl"
      ],
      "description": "Base direction of the dominant language.",
      "examples": [
        "ltr"
      ]
    },
    "confidence": {
      "type": "number",
      "description": "Share of letters in the dominant language, 0 to 1.",
      "examples": [
        0.941
      ]
    },
    "segments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "examples": [
              "PayPal "
            ]
          },
          "start": {
            "type": "integer",
            "examples": [
              21
            ]
          },
          "end": {
            "type": "integer",
            "examples": [
              28
            ]
          },
          "script": {
            "type": "string",
            "examples": [
              "Latn"
            ]
          },
          "lang": {
            "type": "string",
            "examples": [
              "en"
            ]
          }
        }
      },
      "description": "Same-script stretches in order, e.g. ru · en (\"CBC\") · ru. Latin script is tagged en."
    },
    "languages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "lang": {
            "type": "string",
            "examples": [
              "ru"
            ]
          },
          "share": {
            "type": "number",
            "description": "Share of letters, 0 to 1.",
            "examples": [
              0.941
            ]
          }
        }
      },
      "description": "Every language found, largest share first."
    }
  }
}
🟢wrap_for_display(text, format, base)

Make one mixed Hebrew/English display line render correctly: every left-to-right unit (a Latin term, a price, a number with its unit, a range such as "10–20%", a date, a comparison such as "<5") is kept whole and in order, so nothing is reversed or mirrored inside a Hebrew line. `format`: `html` (dir spans, for web and React), `isolate` (Unicode isolates, for iOS, Android 7+ and browsers) or `marks` (LRM/RLM, for any renderer including older Android). Pass `base: "rtl"` for a Hebrew line that starts with a Latin term. Deterministic and free: no character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "The display line, up to 20,000 characters.",
      "examples": [
        "הנחה: 10–20% על Galaxy S25 עד 31/12"
      ]
    },
    "format": {
      "type": "string",
      "enum": [
        "html",
        "isolate",
        "marks"
      ],
      "default": "html",
      "description": "`html` for the web; `isolate` (Unicode isolates) for modern text engines; `marks` (LRM/RLM) for every renderer, including older Android.",
      "examples": [
        "html"
      ]
    },
    "base": {
      "type": "string",
      "enum": [
        "auto",
        "ltr",
        "rtl"
      ],
      "default": "auto",
      "description": "Paragraph direction of the display surface. Pass `rtl` for a Hebrew line even when it starts with a Latin term.",
      "examples": [
        "rtl"
      ]
    }
  },
  "required": [
    "text"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "dir": {
      "type": "string",
      "enum": [
        "ltr",
        "rtl"
      ],
      "description": "Paragraph direction used.",
      "examples": [
        "rtl"
      ]
    },
    "format": {
      "type": "string",
      "description": "Format used.",
      "examples": [
        "html"
      ]
    },
    "output": {
      "type": "string",
      "description": "Render-ready text: HTML with `dir` spans, or the text with Unicode isolates or direction marks inserted.",
      "examples": [
        "<span dir=\"rtl\">הנחה: <span dir=\"ltr\" lang=\"und\">10–20%</span> על <span dir=\"ltr\" lang=\"en\">Galaxy S25</span> עד <span dir=\"ltr\" lang=\"und\">31/12</span></span>"
      ]
    },
    "runs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The run text. Equals `input.slice(start, end)`.",
            "examples": [
              "שלום "
            ]
          },
          "dir": {
            "type": "string",
            "enum": [
              "ltr",
              "rtl"
            ],
            "description": "Resolved direction of the run.",
            "examples": [
              "rtl"
            ]
          },
          "script": {
            "type": "string",
            "description": "ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.",
            "examples": [
              "Hebr"
            ]
          },
          "lang": {
            "type": "string",
            "description": "Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).",
            "examples": [
              "he"
            ]
          },
          "start": {
            "type": "integer",
            "description": "UTF-16 offset of the first character, inclusive.",
            "examples": [
              0
            ]
          },
          "end": {
            "type": "integer",
            "description": "UTF-16 offset after the last character, exclusive.",
            "examples": [
              5
            ]
          }
        },
        "description": "A maximal stretch of text with one direction, in logical order."
      },
      "description": "The display runs the output was built from."
    }
  }
}
🟡transliterate(text, direction)

Romanize Hebrew into Latin letters (`direction: "he-to-latin"`, the default), or write Latin spelling in Hebrew letters (`direction: "latin-to-he"`) for name entry and search. Up to 5,000 characters. Uses the monthly character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 5000,
      "description": "Text to transliterate, up to 5,000 characters.",
      "examples": [
        "שלום"
      ]
    },
    "direction": {
      "type": "string",
      "enum": [
        "he-to-latin",
        "latin-to-he"
      ],
      "default": "he-to-latin",
      "description": "`he-to-latin` (default) romanizes Hebrew. `latin-to-he` writes Latin spelling in Hebrew letters, for name entry and search.",
      "examples": [
        "he-to-latin"
      ]
    }
  },
  "required": [
    "text"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The input.",
      "examples": [
        "שלום"
      ]
    },
    "transliteration": {
      "type": "string",
      "description": "The transliterated text.",
      "examples": [
        "shalom"
      ]
    },
    "scheme": {
      "type": "string",
      "description": "Romanization scheme used.",
      "examples": [
        "general"
      ]
    },
    "direction": {
      "type": "string",
      "description": "Direction used.",
      "examples": [
        "he-to-latin"
      ]
    }
  }
}
🟡add_nikud(text)

Add full nikud (vowel points) to Hebrew text, for learners, vocalized display and text-to-speech, where unvocalized Hebrew is ambiguous. English terms and numbers pass through unchanged. The result is verified: `verified: true` means removing the points gives back the input; when false, `nikud` is the input unchanged. Up to 10,000 characters. Uses the monthly character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000,
      "description": "Hebrew text to vocalize, up to 10,000 characters. English terms and numbers pass through.",
      "examples": [
        "שלום עולם"
      ]
    }
  },
  "required": [
    "text"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The input.",
      "examples": [
        "שלום עולם"
      ]
    },
    "nikud": {
      "type": "string",
      "description": "The vocalized text, or the input unchanged when `verified` is false.",
      "examples": [
        "שָׁלוֹם עוֹלָם"
      ]
    },
    "verified": {
      "type": "boolean",
      "description": "True when removing the points gives back exactly the input. When false, `nikud` is the input unchanged: send it to speech unvocalized or retry.",
      "examples": [
        true
      ]
    }
  }
}
🟢strip_nikud(text)

Remove nikud, dagesh and cantillation marks from Hebrew text, keeping punctuation such as the maqaf. Use it to normalize text for search keys, comparison and de-duplication, or to get display text back from vocalized text. Deterministic and free: no character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "Hebrew text with nikud or cantillation, up to 20,000 characters.",
      "examples": [
        "שָׁלוֹם"
      ]
    }
  },
  "required": [
    "text"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The input.",
      "examples": [
        "שָׁלוֹם"
      ]
    },
    "stripped": {
      "type": "string",
      "description": "The text without nikud, dagesh or cantillation. Punctuation such as the maqaf is kept.",
      "examples": [
        "שלום"
      ]
    }
  }
}
🟢list_languages

List every language HebrewCore translates to and from, with its code (use it as `source_lang` / `target_lang`), English and native name, and writing direction. Protected translation covers Hebrew, English and Russian. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "languages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "BCP 47 code to pass as `source_lang` or `target_lang`.",
            "examples": [
              "he"
            ]
          },
          "name": {
            "type": "string",
            "description": "English name.",
            "examples": [
              "Hebrew"
            ]
          },
          "native": {
            "type": "string",
            "description": "Name in the language itself.",
            "examples": [
              "עברית"
            ]
          },
          "dir": {
            "type": "string",
            "enum": [
              "ltr",
              "rtl"
            ],
            "description": "Writing direction.",
            "examples": [
              "rtl"
            ]
          }
        }
      },
      "description": "Every supported language."
    }
  }
}
🟢list_terms

List the account's protected terms: drug, product and brand names that every protected translation on the account keeps exactly as written (or renders with the term's per-language translation when one is set). Returns each term's id, which delete_term needs. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "terms": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "examples": [
              "3f2c1a9e-8b7d-4c6e-9f10-2a3b4c5d6e7f"
            ]
          },
          "term": {
            "type": "string",
            "examples": [
              "Acamol"
            ],
            "description": "Kept exactly as written in every protected translation."
          },
          "translations": {
            "type": "object",
            "properties": {
              "he": {
                "type": "string"
              },
              "en": {
                "type": "string"
              },
              "ru": {
                "type": "string"
              }
            },
            "examples": [
              {
                "he": "אקמול"
              }
            ],
            "description": "Optional required rendering per target language. When set for the target, it replaces the term; otherwise the term is kept verbatim."
          },
          "note": {
            "type": [
              "string",
              "null"
            ],
            "examples": [
              "paracetamol 500 mg brand"
            ],
            "description": "Your own note, up to 500 characters."
          },
          "created_at": {
            "type": "string",
            "examples": [
              "2026-01-15T09:30:00.000Z"
            ],
            "description": "ISO 8601 timestamp."
          }
        }
      }
    },
    "limit": {
      "type": "integer"
    }
  }
}
🔴add_terms(terms)

Add protected terms to the account, or update existing ones (matched by exact term text). Every later protected translation on the account (translate, translate_batch and the clinical tools) keeps these terms exactly as written, or uses `translations.he` / `.en` / `.ru` for that target language when set. Sending a term that already exists replaces its translations and note. Up to 2,000 terms per account, each up to 200 characters. Changes apply to new requests within 30 seconds. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "terms": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "term": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "examples": [
              "Optalgin"
            ]
          },
          "translations": {
            "type": "object",
            "properties": {
              "he": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "en": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "ru": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              }
            },
            "additionalProperties": false,
            "examples": [
              {
                "he": "אופטלגין",
                "ru": "Оптальгин"
              }
            ]
          },
          "note": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500
          }
        },
        "required": [
          "term"
        ]
      },
      "minItems": 1,
      "maxItems": 2000
    }
  },
  "required": [
    "terms"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "terms": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "examples": [
              "3f2c1a9e-8b7d-4c6e-9f10-2a3b4c5d6e7f"
            ]
          },
          "term": {
            "type": "string",
            "examples": [
              "Acamol"
            ],
            "description": "Kept exactly as written in every protected translation."
          },
          "translations": {
            "type": "object",
            "properties": {
              "he": {
                "type": "string"
              },
              "en": {
                "type": "string"
              },
              "ru": {
                "type": "string"
              }
            },
            "examples": [
              {
                "he": "אקמול"
              }
            ],
            "description": "Optional required rendering per target language. When set for the target, it replaces the term; otherwise the term is kept verbatim."
          },
          "note": {
            "type": [
              "string",
              "null"
            ],
            "examples": [
              "paracetamol 500 mg brand"
            ],
            "description": "Your own note, up to 500 characters."
          },
          "created_at": {
            "type": "string",
            "examples": [
              "2026-01-15T09:30:00.000Z"
            ],
            "description": "ISO 8601 timestamp."
          }
        }
      }
    },
    "count": {
      "type": "integer"
    }
  }
}
🔴delete_term(id)

Permanently delete one account term by its id (from list_terms or add_terms). Protected translations stop using it within 30 seconds. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The term id, from list_terms or add_terms.",
      "examples": [
        "3f2c1a9e-8b7d-4c6e-9f10-2a3b4c5d6e7f"
      ]
    }
  },
  "required": [
    "id"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "deleted": {
      "type": "boolean"
    }
  }
}
⚪clinical_translate(audience, reader_gender, patient_gender, protected_terms, redact_terms, ...)

Translate a complete English clinical text (a discharge summary, patient instructions, a visit note, a model's answer) into Israeli medical Hebrew for a clinician or a patient. Drug names, doses, lab values, units, ICD-10 codes, clinical abbreviations, identifiers and every number are kept exactly; every sentence is checked for numbers, negation and laterality and reviewed for meaning. A sentence that fails is retried, then returned in English with status `fallback`: unverified Hebrew is never returned. Treat fallback sentences as untranslated. `audience`: `clinician` (default, keeps BID/PO shorthand) or `patient` (plain words). Pass the patient's medication and problem lists as `protected_terms`, names as `redact_terms` (hidden from the model), `reader_gender` and `patient_gender` when known, and `date_order` (US records are MDY). Counts 3× toward the monthly character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "audience": {
      "type": "string",
      "enum": [
        "clinician",
        "patient"
      ],
      "default": "clinician",
      "description": "Who reads the Hebrew. `clinician` (default) keeps shorthand such as BID and PO; `patient` writes dosing shorthand (BID, PRN) as plain words.",
      "examples": [
        "patient"
      ]
    },
    "reader_gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Gender of the reader, the person the text calls \"you\". Omit when unknown.",
      "examples": [
        "female"
      ]
    },
    "patient_gender": {
      "type": "string",
      "enum": [
        "male",
        "female"
      ],
      "description": "Gender of the patient in third-person references. Inferred from he/she when omitted.",
      "examples": [
        "male"
      ]
    },
    "protected_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 500,
      "description": "Kept verbatim. Pass the patient's medication and problem lists from the record. Up to 500, each up to 200 characters. Added to the account terms list for this request.",
      "examples": [
        [
          "Eliquis 5 mg BID",
          "atrial fibrillation"
        ]
      ]
    },
    "redact_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 200,
      "description": "Kept verbatim and never shown to the model (patient and staff names). Up to 200.",
      "examples": [
        [
          "Dana Levi"
        ]
      ]
    },
    "glossary": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "description": "English term → required Hebrew rendering. Up to 500 entries.",
      "examples": [
        {
          "hypertension": "יתר לחץ דם"
        }
      ]
    },
    "date_order": {
      "type": "string",
      "enum": [
        "MDY",
        "DMY"
      ],
      "default": "MDY",
      "description": "How to read ambiguous numeric dates in the source. US records are MDY.",
      "examples": [
        "MDY"
      ]
    },
    "date_style": {
      "type": "string",
      "enum": [
        "hebrew",
        "iso",
        "keep"
      ],
      "default": "hebrew",
      "description": "`hebrew` writes \"4 במרץ 2026\"; `iso` writes 2026-03-04; `keep` leaves unambiguous dates as written (an ambiguous one is still rewritten). A two-digit year is kept as written.",
      "examples": [
        "hebrew"
      ]
    },
    "bidi": {
      "type": "string",
      "enum": [
        "isolate",
        "none"
      ],
      "default": "isolate",
      "description": "`isolate` wraps English values in Unicode isolates so \"5 mg\" never renders as \"mg 5\". `none` returns plain text.",
      "examples": [
        "isolate"
      ]
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "English text, 1 to 20,000 characters. Markdown lists, headings and tables keep their structure. Counts toward the monthly character quota.",
      "examples": [
        "Based on your records, you are taking Eliquis 5 mg twice a day. Your dose was changed on 03/04/2026."
      ]
    }
  },
  "required": [
    "text"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Request identifier.",
      "examples": [
        "med_a1b2c3d4e5f6"
      ]
    },
    "text": {
      "type": "string",
      "description": "The whole Hebrew document: every segment joined with its prefix and suffix.",
      "examples": [
        "את נוטלת Eliquis 5 mg פעמיים ביום. המינון שלך שונה ב־4 במרץ 2026."
      ]
    },
    "segments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "description": "Position of the sentence, from 0.",
            "examples": [
              0
            ]
          },
          "prefix": {
            "type": "string",
            "description": "Markdown structure emitted before the text (list marker, heading).",
            "examples": [
              "- "
            ]
          },
          "suffix": {
            "type": "string",
            "description": "Whitespace or structure after the text. Join `prefix + text + suffix` for every segment to rebuild the document.",
            "examples": [
              "\n"
            ]
          },
          "source": {
            "type": "string",
            "description": "The English sentence.",
            "examples": [
              "You are taking Eliquis 5 mg twice a day."
            ]
          },
          "text": {
            "type": "string",
            "description": "Verified Hebrew, or the English source when status is `fallback`.",
            "examples": [
              "את נוטלת Eliquis 5 mg פעמיים ביום."
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "retried",
              "fallback",
              "passthrough"
            ],
            "description": "`ok`: verified first time. `retried`: passed after one retry with a stronger model. `fallback`: no translation passed, `text` is the English. `passthrough`: structure or values only, no model needed.",
            "examples": [
              "ok"
            ]
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Check that failed: `term_missing`, `date_missing`, `number_added`, `digits_added`, `negation_lost`, `laterality_lost`, `laterality_swapped`, `gender_mismatch`, `meaning`, `placeholder_missing`, `length_ratio`, `provider_error` and others.",
                  "examples": [
                    "negation_lost"
                  ]
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "error",
                    "warning"
                  ],
                  "description": "`error` blocks the sentence; `warning` is informational.",
                  "examples": [
                    "error"
                  ]
                },
                "detail": {
                  "type": "string",
                  "description": "Human-readable explanation.",
                  "examples": [
                    "The source says \"no known allergies\"; the translation drops the negation."
                  ]
                }
              }
            },
            "description": "Why a sentence was retried or fell back. Empty for `ok`."
          },
          "spans": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "What was protected: `drug`, `dose`, `abbreviation`, `code`, `number`, `date`, `term`, `glossary`, `identifier`, `name` and others.",
                  "examples": [
                    "dose"
                  ]
                },
                "value": {
                  "type": "string",
                  "description": "The protected source value. Omitted for names and identifiers.",
                  "examples": [
                    "5 mg"
                  ]
                },
                "render": {
                  "type": "string",
                  "description": "How the value was written in the Hebrew, when it was rewritten (dates).",
                  "examples": [
                    "4 במרץ 2026"
                  ]
                },
                "ambiguous_date": {
                  "type": "boolean",
                  "description": "True when a numeric date could be read two ways and `date_order` decided it.",
                  "examples": [
                    true
                  ]
                }
              }
            },
            "description": "Protected values in this sentence. Redacted names and identifiers are left out."
          }
        }
      },
      "description": "One entry per sentence, in order."
    },
    "stats": {
      "type": "object",
      "properties": {
        "segments": {
          "type": "integer",
          "description": "Total sentences.",
          "examples": [
            2
          ]
        },
        "ok": {
          "type": "integer",
          "examples": [
            2
          ]
        },
        "retried": {
          "type": "integer",
          "examples": [
            0
          ]
        },
        "fallback": {
          "type": "integer",
          "description": "Sentences returned in English. Treat them as untranslated.",
          "examples": [
            0
          ]
        },
        "passthrough": {
          "type": "integer",
          "examples": [
            0
          ]
        }
      }
    },
    "usage": {
      "type": "object",
      "properties": {
        "characters": {
          "type": "integer",
          "description": "Characters charged.",
          "examples": [
            77
          ]
        }
      }
    }
  }
}
🟢clinical_query(text, known_terms, glossary)

Turn a Hebrew clinical question (up to 2,000 characters) into an English query for a record search or an English model. English terms, numbers and dates are kept exactly, and Hebrew spellings of drug names are mapped back to English, preferring the patient's own terms in `known_terms` and the account terms. Counts 3× toward the monthly character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "The Hebrew question, up to 2,000 characters.",
      "examples": [
        "האם המטופלת עדיין לוקחת מטפורמין?"
      ]
    },
    "known_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 500,
      "description": "English terms from the patient's record, used to map Hebrew spellings back. Up to 500. Account terms are added automatically.",
      "examples": [
        [
          "metformin",
          "lisinopril"
        ]
      ]
    },
    "glossary": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "description": "English term → Hebrew rendering, used to map the Hebrew back to English.",
      "examples": [
        {
          "metformin": "מטפורמין"
        }
      ]
    }
  },
  "required": [
    "text"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "English query for your record search.",
      "examples": [
        "Is the patient still taking metformin?"
      ]
    },
    "terms": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "hebrew": {
            "type": "string",
            "examples": [
              "מטפורמין"
            ]
          },
          "english": {
            "type": "string",
            "examples": [
              "metformin"
            ]
          },
          "source": {
            "type": "string",
            "enum": [
              "known_terms",
              "lexicon",
              "glossary"
            ],
            "description": "Where the mapping came from.",
            "examples": [
              "known_terms"
            ]
          }
        }
      },
      "description": "Hebrew spellings that were mapped back to English terms."
    },
    "usage": {
      "type": "object",
      "properties": {
        "characters": {
          "type": "integer",
          "examples": [
            33
          ]
        }
      }
    }
  }
}
🟢clinical_verify(source, translation, protected_terms, redact_terms, glossary, ...)

Check Hebrew that was produced some other way (for example by your own model) against its English clinical source: every drug, dose, lab value, code and number must appear exactly, no number may be added, dates must be unambiguous, and negation and laterality must survive. `verification: "strict"` adds an independent model review for meaning changes; `standard` (default) is deterministic. Returns pass or fail with every issue. Counts 3× toward the monthly character quota.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "The English source, up to 20,000 characters.",
      "examples": [
        "Metformin 500 mg BID since 03/04/2026."
      ]
    },
    "translation": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40000,
      "description": "The Hebrew to check, up to 40,000 characters.",
      "examples": [
        "Metformin 50 mg BID מאז 03/04/2026."
      ]
    },
    "protected_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 500,
      "description": "Terms that must appear verbatim. Up to 500.",
      "examples": [
        [
          "Metformin"
        ]
      ]
    },
    "redact_terms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "maxItems": 200,
      "description": "Names replaced before the reviewer sees the text. Up to 200.",
      "examples": [
        [
          "Dana Levi"
        ]
      ]
    },
    "glossary": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "description": "English term → required Hebrew rendering.",
      "examples": [
        {
          "hypertension": "יתר לחץ דם"
        }
      ]
    },
    "date_order": {
      "type": "string",
      "enum": [
        "MDY",
        "DMY"
      ],
      "default": "MDY",
      "description": "How to read ambiguous numeric dates in the source.",
      "examples": [
        "MDY"
      ]
    },
    "verification": {
      "type": "string",
      "enum": [
        "strict",
        "standard"
      ],
      "default": "standard",
      "description": "`standard` (default) runs the deterministic checks. `strict` adds an independent model review for meaning changes.",
      "examples": [
        "standard"
      ]
    }
  },
  "required": [
    "source",
    "translation"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "pass": {
      "type": "boolean",
      "description": "True when no issue has severity `error`.",
      "examples": [
        false
      ]
    },
    "issues": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Check that failed: `term_missing`, `date_missing`, `number_added`, `digits_added`, `negation_lost`, `laterality_lost`, `laterality_swapped`, `gender_mismatch`, `meaning`, `placeholder_missing`, `length_ratio`, `provider_error` and others.",
            "examples": [
              "negation_lost"
            ]
          },
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning"
            ],
            "description": "`error` blocks the sentence; `warning` is informational.",
            "examples": [
              "error"
            ]
          },
          "detail": {
            "type": "string",
            "description": "Human-readable explanation.",
            "examples": [
              "The source says \"no known allergies\"; the translation drops the negation."
            ]
          }
        }
      },
      "description": "Every problem found."
    },
    "usage": {
      "type": "object",
      "properties": {
        "characters": {
          "type": "integer",
          "description": "Characters charged: source plus translation.",
          "examples": [
            72
          ]
        }
      }
    }
  }
}
🟢health

Check that the HebrewCore API is up and its database reachable. Needs no API key and uses no quota.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "`ok` when the API is serving.",
      "examples": [
        "ok"
      ]
    },
    "db": {
      "type": "string",
      "description": "`ok`, or `error` when the database check failed.",
      "examples": [
        "ok"
      ]
    },
    "version": {
      "type": "string",
      "description": "API version.",
      "examples": [
        "1.0.0"
      ]
    }
  }
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada16 herramientas