# Browser translator: Route A model licence gate and pinned inventory

No third-party ONNX claim is relied on.

We converted the four ORIGINAL Helsinki-NLP checkpoints below ourselves with
scripts/convert_translate.py. No Xenova or other third-party ONNX export is used.
The original cards are retained verbatim alongside the complete Apache-2.0 and
CC-BY-4.0 licence texts. The pinned model repositories supply no separate LICENSE
or NOTICE file; their full cards preserve the supplied attribution and citations.
There is no inference from a third-party model's parent licence.

| Original checkpoint | Full immutable revision | Licence declared by original card | Decision |
| --- | --- | --- | --- |
| [Helsinki-NLP/opus-mt-en-es](https://huggingface.co/Helsinki-NLP/opus-mt-en-es/blob/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/README.md) | `5bc4493d463cf000c1f0b50f8d56886a392ed4ab` | Apache-2.0 | PASS, Route A |
| [Helsinki-NLP/opus-mt-es-en](https://huggingface.co/Helsinki-NLP/opus-mt-es-en/blob/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/README.md) | `c96e2c5399ebfae4fc43d9669556b9afa74bb69d` | Apache-2.0 | PASS, Route A |
| [Helsinki-NLP/opus-mt-en-de](https://huggingface.co/Helsinki-NLP/opus-mt-en-de/blob/6183067f769a302e3861815543b9f312c71b0ca4/README.md) | `6183067f769a302e3861815543b9f312c71b0ca4` | CC-BY-4.0 | PASS, Route A |
| [Helsinki-NLP/opus-mt-de-en](https://huggingface.co/Helsinki-NLP/opus-mt-de-en/blob/1a922f3b32a8e809e17a47d4b32142d8105924e5/README.md) | `1a922f3b32a8e809e17a47d4b32142d8105924e5` | Apache-2.0 | PASS, Route A |

## Attribution and modification notice

Models by **Helsinki-NLP / OPUS-MT**, Language Technology Research Group at the
University of Helsinki. API Tool Calls converted the models to ONNX and quantized
them. English→German is [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/);
the other three are [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).
No endorsement is implied. The same credit, source and licence links, and change
notice are visible on /translate/. All upstream cards and their citations remain
available below, including the CC-BY disclaimer of warranties in the full text.

## Conversion and deployment

Throwaway CPU venv and originals live only in gitignored .scratch/translate/.
Python 3.12.3; torch 2.5.1+cpu; transformers 4.46.3; optimum 1.23.3; onnx 1.17.0;
onnxruntime 1.20.1; numpy 1.26.4; sentencepiece 0.2.0; protobuf 5.29.3;
tokenizers 0.20.3; huggingface-hub 0.27.1; safetensors 0.5.2; sacremoses 0.1.1.
conversion-versions.json records the actual conversion versions.

Export is opset 17, with dynamic sequence/batch dimensions, a separate encoder
and merged decoder with KV cache. Dynamic int8 quantization uses per-tensor full
range weights and uint8 activations, including If subgraphs; Gather's embedding
weights use ONNX Runtime's uint8 representation. The original source and target
SentencePiece scores are merged into the Marian Unigram tokenizer layout that
our existing Transformers.js 3.8.1 expects. No training or weight interpolation.
Generation uses greedy decoding in batches of one, at most 192 new tokens per
prose fragment; long input is split into fragments of at most 320 characters.
Batch size one keeps EOS independent: mixed-length Marian batches in the existing
runtime can continue punctuation after a sequence should have finished.
Numbers, URLs, email addresses, line breaks and subtitle markup are held outside
model generation and restored verbatim, which can make adjacent prose less natural.

Every encoder and decoder exceeds 25 MB, so all eight ONNX files are gitignored.
They are served by us from site/vendor/translate/, with no browser CDN or remote
model fallback. On deploy run python3 scripts/fetch_models.py: valid binaries
are reused; missing translation files are rebuilt with convert_translate.py
--bootstrap --pair. Smaller tokenizer/config JSONs and retained notices stay in
the working tree as ordinary files. No original checkpoints or venv is shipped.

Quantized ONNX output may not be byte-reproducible across environments. Optimum
chooses merged initializer names through sets; PYTHONHASHSEED=0 removes that
observed source of variation. assets.json pins SHA-256 and bytes of the files
actually shipped, not theoretical conversion results. Default rebuilds verify
those pins and fail closed before replacing files when bytes differ. Maintainers
must review differences and explicitly use --record to refresh both assets.json
and this inventory; deployment never silently changes pins.

Only the selected pair loads, after Translate. Downloads and Cache API reads
verify bytes and SHA-256; cache names contain the hash. Cache storage failure
allows verified in-memory inference. Cancel terminates the native worker. Text
never enters the cache. Same-origin GETs only; no upload or POST.

The already-vendored Transformers.js 3.8.1 is Apache-2.0. It reuses the existing
ORT 1.22.0 WASM companions (MIT), with explicit mjs/wasm URLs, one thread and no
WebGPU or second runtime. Full runtime notices remain in their existing folders.

## Exact source and output inventories

Output URLs identify our conversion of the immutable original checkpoint and
the local output path. They are provenance, not third-party ONNX download URLs.
Browser fetches use /vendor/translate/<asset>. sources.json supplies source pins,
assets.json supplies shipped output pins, notice-assets.json supplies notice pins,
and shared-assets.json records reused runtime files without duplicating them.

### Original conversion inputs

| File | Exact URL / conversion | SHA-256 | Bytes |
| --- | --- | --- | ---: |
| opus-mt-en-es/README.md | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/README.md | `7831f4fa1eda04c91a5aa7b57006db58355c78337a552c5ff0252d0c049710d8` | 2,401 |
| opus-mt-en-es/config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/config.json | `666ad3c2943674b6a789e311d221e44ec23e27f1bd9727930754bf773ec8e464` | 1,473 |
| opus-mt-en-es/generation_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/generation_config.json | `837839ed0534a27084f9b980fc33f47729052dd89cb26cca7ac830765ed30e49` | 293 |
| opus-mt-en-es/pytorch_model.bin | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/pytorch_model.bin | `befce0f620e8e63f83bbb7f0818eb51d541cba28057a7cc14b00466d85c4994c` | 312,087,523 |
| opus-mt-en-es/source.spm | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/source.spm | `4dd547c24816a335e7b0b2e63376a8f1b3cbfc671eda5ab808dd44fdadaa8791` | 801,636 |
| opus-mt-en-es/target.spm | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/target.spm | `e236ee6d866b635c0142114f8647f39831f9d92534aa2aad75c942f6a78ad0e3` | 825,924 |
| opus-mt-en-es/tokenizer_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/tokenizer_config.json | `9859e3f8f73e2f50ab3e5cc2de432645347432956df4772d33209a346dd97f3b` | 44 |
| opus-mt-en-es/vocab.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/vocab.json | `257f346d7a6b2ecceafcca8ba05648ce2fd68dfaf105fb0e913dca7198f3f6d5` | 1,590,040 |
| opus-mt-es-en/README.md | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/README.md | `d67ee971854b4c166da1cc281b58fbdc8596e0412441ef71fb0d422263230e0a` | 2,427 |
| opus-mt-es-en/config.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/config.json | `374443eacf8986c21386503e2fcd52eae6952ac09c87fd36695f5c12259a4cd1` | 1,438 |
| opus-mt-es-en/generation_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/generation_config.json | `837839ed0534a27084f9b980fc33f47729052dd89cb26cca7ac830765ed30e49` | 293 |
| opus-mt-es-en/pytorch_model.bin | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/pytorch_model.bin | `586a4e69e0804459ac7c176a5dc76852652100d9af1ee0db796de719899a5deb` | 312,087,523 |
| opus-mt-es-en/source.spm | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/source.spm | `e236ee6d866b635c0142114f8647f39831f9d92534aa2aad75c942f6a78ad0e3` | 825,924 |
| opus-mt-es-en/target.spm | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/target.spm | `4dd547c24816a335e7b0b2e63376a8f1b3cbfc671eda5ab808dd44fdadaa8791` | 801,636 |
| opus-mt-es-en/tokenizer_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/tokenizer_config.json | `dd009536f1cd954180a3004be20e9963eaf3d68b485d062ea1b90d3b9ded2bc5` | 44 |
| opus-mt-es-en/vocab.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/vocab.json | `257f346d7a6b2ecceafcca8ba05648ce2fd68dfaf105fb0e913dca7198f3f6d5` | 1,590,040 |
| opus-mt-en-de/README.md | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/README.md | `7625de996b7c4c51c217095941cf2e27d2b5cc5b4cd695c382882679f2f53710` | 3,312 |
| opus-mt-en-de/config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/config.json | `41c7890e6f6c1f72c5c626569cfe739a8362080940edbb1747f25173f541653b` | 1,335 |
| opus-mt-en-de/generation_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/generation_config.json | `e5cccf365761fb31175fc978a75f5e857a822f173d0e447aa3a25d7cbcda15a4` | 293 |
| opus-mt-en-de/pytorch_model.bin | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/pytorch_model.bin | `da068344b1b0c20e6d4a8f77f48e06646b90d679029006b18579e68977206bdd` | 297,928,209 |
| opus-mt-en-de/source.spm | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/source.spm | `678f2a1177d8389f67b66299762dcc4fc567e89b07e212ba91b0c56daecf47ce` | 768,489 |
| opus-mt-en-de/target.spm | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/target.spm | `bbd1f495eea99c8e21ae086d9146e0fa7b096c3dfdd9ba07ab8b631889df5c9b` | 796,845 |
| opus-mt-en-de/tokenizer_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/tokenizer_config.json | `052c28be2c51ea3398bf9b9de92004270e29a51f8404f9921ec025986ffbefae` | 42 |
| opus-mt-en-de/vocab.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/vocab.json | `0d70d89fee4a8b4ef99a56d712163baadcabd5600a597f71515547ee70306329` | 1,273,232 |
| opus-mt-de-en/README.md | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/README.md | `ae6f262ce3e16c3ee213703b6e89bdc744e6c8d784a1f286a3de8abc86667e89` | 1,372 |
| opus-mt-de-en/config.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/config.json | `89368ef76ea89581025cdf605caac75b8a22af2c1a90ec57c8a5001f10537eeb` | 1,381 |
| opus-mt-de-en/generation_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/generation_config.json | `e5cccf365761fb31175fc978a75f5e857a822f173d0e447aa3a25d7cbcda15a4` | 293 |
| opus-mt-de-en/pytorch_model.bin | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/pytorch_model.bin | `e743c3070f61f477cb62fe95ef2c9be2e77f3e488cb6b8030ff8a19e8295c87d` | 297,928,209 |
| opus-mt-de-en/source.spm | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/source.spm | `bbd1f495eea99c8e21ae086d9146e0fa7b096c3dfdd9ba07ab8b631889df5c9b` | 796,845 |
| opus-mt-de-en/target.spm | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/target.spm | `678f2a1177d8389f67b66299762dcc4fc567e89b07e212ba91b0c56daecf47ce` | 768,489 |
| opus-mt-de-en/tokenizer_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/tokenizer_config.json | `51c3c3260d27cb7c4d11d0c53752b8fe87f2367129d7636fa917ce588b97306c` | 42 |
| opus-mt-de-en/vocab.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/vocab.json | `0d70d89fee4a8b4ef99a56d712163baadcabd5600a597f71515547ee70306329` | 1,273,232 |

### Shipped conversion outputs

| File | Exact URL / conversion | SHA-256 | Bytes |
| --- | --- | --- | ---: |
| opus-mt-en-es/config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/pytorch_model.bin#conversion=scripts/convert_translate.py;output=config.json | `0095fd9f1374ee4e4a7ccdfdf58ab5f49ce11df1a934390d5bed177e19173fee` | 1,524 |
| opus-mt-en-es/generation_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/pytorch_model.bin#conversion=scripts/convert_translate.py;output=generation_config.json | `ef5a5f5887b80e65a68301d15af68783c08f8b2f9b970d38dd66eb81cb37d54c` | 288 |
| opus-mt-en-es/onnx/decoder_model_merged_quantized.onnx | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/pytorch_model.bin#conversion=scripts/convert_translate.py;output=onnx/decoder_model_merged_quantized.onnx | `cf9d88fc837ea9c62d07edc8283efaf80e853e69b33779fc623a355530ccdac7` | 93,283,032 |
| opus-mt-en-es/onnx/encoder_model_quantized.onnx | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/pytorch_model.bin#conversion=scripts/convert_translate.py;output=onnx/encoder_model_quantized.onnx | `63e7ebb352e3bf5220c6a3140748b81fc828980be29bbf6ba881c0f4f6cbdf4b` | 52,761,699 |
| opus-mt-en-es/special_tokens_map.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/pytorch_model.bin#conversion=scripts/convert_translate.py;output=special_tokens_map.json | `5e4d1f5e759d74cb1c2fe1d165cfc62b5237aa904de759380cd6f43042eec723` | 74 |
| opus-mt-en-es/tokenizer.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/pytorch_model.bin#conversion=scripts/convert_translate.py;output=tokenizer.json | `20d1c7541bd490e0b0584939b8e8f80327e708d642096b384dcfd575122685c3` | 4,157,397 |
| opus-mt-en-es/tokenizer_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/pytorch_model.bin#conversion=scripts/convert_translate.py;output=tokenizer_config.json | `a624a40ef3832b508a069b302070e9a7856bd27de92a856de6606f706ec10004` | 819 |
| opus-mt-es-en/config.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/pytorch_model.bin#conversion=scripts/convert_translate.py;output=config.json | `1b111e56743c0fb0fed171d1e580efbfdf0182e15ef3b54a0a764517f5969966` | 1,489 |
| opus-mt-es-en/generation_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/pytorch_model.bin#conversion=scripts/convert_translate.py;output=generation_config.json | `ef5a5f5887b80e65a68301d15af68783c08f8b2f9b970d38dd66eb81cb37d54c` | 288 |
| opus-mt-es-en/onnx/decoder_model_merged_quantized.onnx | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/pytorch_model.bin#conversion=scripts/convert_translate.py;output=onnx/decoder_model_merged_quantized.onnx | `9a13b6da2ff508a9421fff614b11db3a03237a680ad07eea863414eddce8debb` | 93,283,031 |
| opus-mt-es-en/onnx/encoder_model_quantized.onnx | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/pytorch_model.bin#conversion=scripts/convert_translate.py;output=onnx/encoder_model_quantized.onnx | `1f70a91c7e551bfbf58c0a7e2d0bb106ed160136c4097b97029c4e601e5a99f1` | 52,761,698 |
| opus-mt-es-en/special_tokens_map.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/pytorch_model.bin#conversion=scripts/convert_translate.py;output=special_tokens_map.json | `5e4d1f5e759d74cb1c2fe1d165cfc62b5237aa904de759380cd6f43042eec723` | 74 |
| opus-mt-es-en/tokenizer.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/pytorch_model.bin#conversion=scripts/convert_translate.py;output=tokenizer.json | `20d1c7541bd490e0b0584939b8e8f80327e708d642096b384dcfd575122685c3` | 4,157,397 |
| opus-mt-es-en/tokenizer_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/pytorch_model.bin#conversion=scripts/convert_translate.py;output=tokenizer_config.json | `8628d8df7045896a954a953f6f28052f14cd7a73973d6547be45068618c5fff6` | 819 |
| opus-mt-en-de/config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/pytorch_model.bin#conversion=scripts/convert_translate.py;output=config.json | `ad1af2ce7cad90c1c1da7a2f87c4c54beaf32c9f5cfbcc5e1f903d72c580ebae` | 1,467 |
| opus-mt-en-de/generation_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/pytorch_model.bin#conversion=scripts/convert_translate.py;output=generation_config.json | `fd97ab185296a0459b20319e521d58dd656ac437881bf720bb3bdac54bdc4188` | 288 |
| opus-mt-en-de/onnx/decoder_model_merged_quantized.onnx | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/pytorch_model.bin#conversion=scripts/convert_translate.py;output=onnx/decoder_model_merged_quantized.onnx | `4ca0a33c796c998945a472728f40d2335e8f04f6c7447691d00d9d1bd0bcaf8e` | 86,189,831 |
| opus-mt-en-de/onnx/encoder_model_quantized.onnx | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/pytorch_model.bin#conversion=scripts/convert_translate.py;output=onnx/encoder_model_quantized.onnx | `7104a546941c1a2b2f0341c0df0043fae9f895db1c343dd8214dd64aecfb509e` | 49,228,898 |
| opus-mt-en-de/special_tokens_map.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/pytorch_model.bin#conversion=scripts/convert_translate.py;output=special_tokens_map.json | `5e4d1f5e759d74cb1c2fe1d165cfc62b5237aa904de759380cd6f43042eec723` | 74 |
| opus-mt-en-de/tokenizer.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/pytorch_model.bin#conversion=scripts/convert_translate.py;output=tokenizer.json | `1eed26727794157652f5371e475d333300ce91577e3cf85f38504afca08471cc` | 3,706,184 |
| opus-mt-en-de/tokenizer_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/pytorch_model.bin#conversion=scripts/convert_translate.py;output=tokenizer_config.json | `29521b73c86e92342db7b41abdfa5093f722c2f55c7b9066e4268a0958e437ab` | 817 |
| opus-mt-de-en/config.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/pytorch_model.bin#conversion=scripts/convert_translate.py;output=config.json | `314f99191967456909aefd7a889b216c3aeaa3dc2bdd4be70bdf69e44f53e01c` | 1,432 |
| opus-mt-de-en/generation_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/pytorch_model.bin#conversion=scripts/convert_translate.py;output=generation_config.json | `fd97ab185296a0459b20319e521d58dd656ac437881bf720bb3bdac54bdc4188` | 288 |
| opus-mt-de-en/onnx/decoder_model_merged_quantized.onnx | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/pytorch_model.bin#conversion=scripts/convert_translate.py;output=onnx/decoder_model_merged_quantized.onnx | `55aa42f553b623a9764273e4220e2f4200ceadcd5c50962e796ddc05c79ef083` | 86,189,832 |
| opus-mt-de-en/onnx/encoder_model_quantized.onnx | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/pytorch_model.bin#conversion=scripts/convert_translate.py;output=onnx/encoder_model_quantized.onnx | `65b61efafe4284bd418beeef6b667270db7e5c7f7f1a7c26441da82d5da79e9f` | 49,228,899 |
| opus-mt-de-en/special_tokens_map.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/pytorch_model.bin#conversion=scripts/convert_translate.py;output=special_tokens_map.json | `5e4d1f5e759d74cb1c2fe1d165cfc62b5237aa904de759380cd6f43042eec723` | 74 |
| opus-mt-de-en/tokenizer.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/pytorch_model.bin#conversion=scripts/convert_translate.py;output=tokenizer.json | `1eed26727794157652f5371e475d333300ce91577e3cf85f38504afca08471cc` | 3,706,184 |
| opus-mt-de-en/tokenizer_config.json | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/pytorch_model.bin#conversion=scripts/convert_translate.py;output=tokenizer_config.json | `09b41009a89db3b85fd56f88f0f06ec34562efd5b3df05e67828c9c06a814f2f` | 817 |

### Retained upstream notices and licence texts

| File | Exact URL / conversion | SHA-256 | Bytes |
| --- | --- | --- | ---: |
| opus-mt-en-es-README.md | https://huggingface.co/Helsinki-NLP/opus-mt-en-es/resolve/5bc4493d463cf000c1f0b50f8d56886a392ed4ab/README.md | `7831f4fa1eda04c91a5aa7b57006db58355c78337a552c5ff0252d0c049710d8` | 2,401 |
| opus-mt-es-en-README.md | https://huggingface.co/Helsinki-NLP/opus-mt-es-en/resolve/c96e2c5399ebfae4fc43d9669556b9afa74bb69d/README.md | `d67ee971854b4c166da1cc281b58fbdc8596e0412441ef71fb0d422263230e0a` | 2,427 |
| opus-mt-en-de-README.md | https://huggingface.co/Helsinki-NLP/opus-mt-en-de/resolve/6183067f769a302e3861815543b9f312c71b0ca4/README.md | `7625de996b7c4c51c217095941cf2e27d2b5cc5b4cd695c382882679f2f53710` | 3,312 |
| opus-mt-de-en-README.md | https://huggingface.co/Helsinki-NLP/opus-mt-de-en/resolve/1a922f3b32a8e809e17a47d4b32142d8105924e5/README.md | `ae6f262ce3e16c3ee213703b6e89bdc744e6c8d784a1f286a3de8abc86667e89` | 1,372 |
| LICENSE-Apache-2.0.txt | https://www.apache.org/licenses/LICENSE-2.0.txt | `cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30` | 11,358 |
| LICENSE-CC-BY-4.0.txt | https://creativecommons.org/licenses/by/4.0/legalcode.txt | `9ba9550ad48438d0836ddab3da480b3b69ffa0aac7b7878b5a0039e7ab429411` | 18,657 |

### Reused runtime

| File | Exact URL / conversion | SHA-256 | Bytes |
| --- | --- | --- | ---: |
| ../transformers/transformers.min.js | https://registry.npmjs.org/@huggingface/transformers/-/transformers-3.8.1.tgz#member=package/dist/transformers.min.js | `aa5002b70e789798da263f5f99c62bd3e8fcd0c119258a493c40c180648365fa` | 888,173 |
| ../transformers/LICENSE | https://registry.npmjs.org/@huggingface/transformers/-/transformers-3.8.1.tgz#member=package/LICENSE | `cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30` | 11,358 |
| ../onnxruntime-1.22.0/ort-wasm-simd-threaded.mjs | https://registry.npmjs.org/onnxruntime-web/-/onnxruntime-web-1.22.0.tgz#member=package/dist/ort-wasm-simd-threaded.mjs | `30dd851d9c00622940500f71ddd2ff8820c5cb65270816080175b958705385a8` | 20,856 |
| ../onnxruntime-1.22.0/ort-wasm-simd-threaded.wasm | https://registry.npmjs.org/onnxruntime-web/-/onnxruntime-web-1.22.0.tgz#member=package/dist/ort-wasm-simd-threaded.wasm | `71aef04959c5c1b6de461b6538e2058e306610034a85aad2742d0c7fd4533fe4` | 11,210,254 |
| ../onnxruntime-1.22.0/LICENSE | https://raw.githubusercontent.com/microsoft/onnxruntime/v1.22.0/LICENSE | `2f07c72751aed99790b8a4869cf2311df85a860b22ded05fa22803587a48922c` | 1,073 |
