Skip to content

Default

LILT
API integration

Ship Default features without building the integration. Full LILT API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
LILT

Use Cases

Why integrate with LILT

Common scenarios for SaaS companies building LILT integrations for their customers.

01

Embed AI Localization in Marketing Platforms

Let your users localize email templates, landing pages, and campaigns into multiple languages without leaving your platform. LILT's contextual AI applies their brand voice and terminology automatically.

02

Automate Knowledge Base Translation in Helpdesks

Trigger translation jobs whenever your users publish a new support article, then sync the verified localized versions back via webhooks. Eliminates manual handoffs to localization vendors.

03

Add Native Multilingual Content Generation to CMS Tools

Use LILT Create to generate net-new content directly in target languages from prompts and preferences, rather than translating from a source. Lets your CMS users author region-specific content in one step.

04

Localize Course Materials in LMS Platforms

Upload subtitle files, quiz strings, and course metadata to LILT and deliver multilingual training to global learners. Course creators get parallel-language delivery without managing separate localization workflows.

05

Real-time Translation for Support and Chat

Translate agent replies and customer messages on the fly using your users' Translation Memory for brand-consistent phrasing. Enables global support teams to work in their native language.

What You Can Build

Ship these features with Truto + LILT

Concrete product features your team can ship faster by leveraging Truto’s LILT integration instead of building from scratch.

01

One-click File Translation Jobs

Upload XLIFF, HTML, or SRT files and kick off multi-language translation jobs in a single flow, with status tracked through job webhooks.

02

Webhook-driven Translation Delivery

Subscribe to LILT job delivery events so your platform automatically pulls down completed translations and updates user content without polling.

03

In-app Translation Memory Editor

Let users search, add, and remove segments from their LILT memories directly inside your UI so brand terminology stays current.

04

LILT Create Content Studio

Expose LILT Create preferences and content generation so users can produce on-brand multilingual articles, product descriptions, or marketing copy from structured prompts.

05

Large Asset Multipart Uploads

Handle large video transcripts or document bundles using LILT's S3 multipart upload flow, with chunked upload and completion managed end-to-end.

06

Project & Job Lifecycle Dashboard

Show your users a live view of their LILT projects, jobs, activities, and downloadable deliveries with archive, reactivate, and delete controls built in.

SuperAI

LILT AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

delete_a_lilt_create_content_by_id

Delete a piece of Lilt Create content by id. Returns an empty 204 response on success.

list_all_lilt_create_content

List all content generated by Lilt Create. Returns a collection of content items; each item includes id and language.

get_single_lilt_create_content_by_id

Get a single piece of Lilt Create content by id. Returns: id, language.

update_a_lilt_create_content_by_id

Update a piece of Lilt Create content by id. Returns: id, language.

create_a_lilt_create_content

Create a new piece of Lilt Create content. Returns: id, language.

create_a_lilt_create

Generate new Lilt Create content from a specified template and language parameters. Returns the generated content object including id and template-specific attributes. Accepts language, template, templateParams (contentLength, summary, sections), and preferences.

get_single_lilt_create_content_by_id

Get a Lilt Create content item by id. Returns: id.

get_single_lilt_create_preference_by_id

Get the stored Lilt Create preferences. Returns: tone, styleguide.

update_a_lilt_create_preference_by_id

Update the stored Lilt Create preferences. Returns the updated preferences including tone and styleguide.

create_a_lilt_create_terms_and_condition

Sign the Lilt Create terms and conditions, which must be accepted before using Lilt Create features. Returns an empty 204 response on success. Required: signedAgreement.

get_single_lilt_document_by_id

Download a Lilt document as a binary file in XLIFF 1.2 format (default) or its original uploaded format. Returns a binary file stream — not a JSON object; write the response body directly to disk. Set is_xliff=false to retrieve the file in its original format instead of XLIFF 1.2. This call will fail if an export or pre-translation operation is currently in progress. Required: id.

create_a_lilt_document

Upload a file to Lilt to create a new Document in any supported format. Returns the created document object including id, name, project_id, and status. File names must contain only US-ASCII characters; URI-encode or transliterate names with non-ASCII characters before sending. Required: name, project_id.

list_all_lilt_domains

List Domains in lilt associated with the Organization's API key. Returns each Domain record including its models, filterConfigs, and domainMetadata arrays representing the models, filter configurations, and domain-specific options configured for each domain.

create_a_lilt_file_label

Add a label to a file in Lilt. Returns the updated file object including id, name, labels, detected_lang, file_hash, category, created_at, and updated_at. Required: id (file ID) and name (label name).

delete_a_lilt_file_label_by_id

Remove a label from a file in Lilt. Returns the updated file object including id, name, labels, detected_lang, file_hash, category, created_at, and updated_at.

delete_a_lilt_file_by_id

Delete a Lilt file by id. Returns an empty 204 response on success. Required: id.

get_single_lilt_file_by_id

Get a Lilt file by id, including asynchronous language detection results. Returns: id, name, detected_lang, detected_lang_confidence. Required: id.

create_a_lilt_file

Upload a file to Lilt in any supported format. Language detection runs asynchronously; poll GET /v2/files to monitor results. Returns: id, name, detected_lang, detected_lang_confidence. Required: name.

list_all_lilt_files

List files in Lilt, including language detection results for each file. Returns: id, name, detected_lang, detected_lang_confidence.

update_a_lilt_job_by_id

Update a lilt job by id. Returns: id, name, due, srcLang, srcLocale, jobInstructions, languagePairs, enablePostProcessing, status. Required: id.

create_a_lilt_job

Create a new lilt job as a collection of projects targeting multiple language pairs. Returns: id, name, due, srcLang, srcLocale, languagePairs, enablePostProcessing, customProperties, status. Required: name.

delete_a_lilt_job_by_id

Delete a lilt job by id, permanently removing all associated projects, documents, and translation memory segments. Returns an empty 204 response on success. Required: id.

get_single_lilt_job_by_id

Get a single lilt job by id. Returns: id, name, due, srcLang, srcLocale, jobInstructions, languagePairs, enablePostProcessing, customProperties, status. Required: id.

list_all_lilt_jobs

List all lilt jobs. Returns: id, name, due, srcLang, srcLocale, languagePairs, enablePostProcessing, customProperties, status. Optionally filter by isArchived.

list_all_lilt_languages

List all supported languages in lilt. Returns a collection of language objects representing the languages available for use in translation projects. No parameters required.

create_a_lilt_memory

Create a new Lilt Memory — a private container for source/target sentence pairs for a specific language pair, used to train the MT system, populate TM, and update the lexicon. Returns: id, name, srclang, trglang. Required: name, srclang, trglang.

delete_a_lilt_memory_by_id

Delete a Lilt Memory by id. Returns an empty 204 response on success. Required: id.

list_all_lilt_memories

List all Lilt Memories accessible to your account. Returns id, name, srclang, and trglang for each Memory in the collection.

get_single_lilt_memory_by_id

Retrieve a specific Lilt Memory by id. Returns: id, name, srclang, trglang. Required: id. If you receive a 401 error, verify the Memory has been shared with your account.

update_a_lilt_memory_by_id

Update the name of a Lilt Memory. Returns: id, name, srclang, trglang. Required: id, name.

lilt_memories_search

Query a Lilt Memory for translation segments matching a source string. Returns: source, target, score, metadata. Segments scoring below 75 are automatically discarded. Required: id, query.

delete_a_lilt_memory_segment_by_id

Delete a segment from a lilt memory. Returns an empty 204 response on success. Required: id, segment_id.

create_a_lilt_project

Create a new lilt project — a collection of Documents associated with exactly one Memory. Projects appear in the lilt dashboard. Returns: id, srclang, trglang. Required: memory_id.

delete_a_lilt_project_by_id

Delete a lilt project by id. Returns an empty 204 response on success. Required: id.

list_all_lilt_projects

List lilt projects including their associated documents. Optionally filter by one or more project ids (comma-separated), source language, or target language. Returns: id, srclang, trglang.

create_a_lilt_segment

Create a Segment in Lilt and add it to a Memory or Document. A Segment is a source/target pair used to train the machine translation system and populate the translation memory. Returns: id, source, target. Required: source. Max source length is 5,000 characters.

delete_a_lilt_segment_by_id

Delete a Segment from memory in Lilt by id. Note: this does not delete the segment from a document. Returns an empty 204 response on success. Required: id.

get_single_lilt_segment_by_id

Retrieve a single Segment in Lilt by id. Returns: id, source, target. Required: id.

update_a_lilt_segment_by_id

Update a Segment in Lilt. Returns: id, source, target. Required: id.

list_all_lilt_segments

List Segments in Lilt. Returns: id, source, target per segment.

get_single_lilt_translated_file_by_id

Download a translated file from lilt by its id. Returns the raw translated file content as a binary stream rather than a structured JSON payload. Required: id.

create_a_lilt_translation

Translate a source string in lilt, returning an array of translation candidates. TM fuzzy matches are ranked first, followed by machine translation results. Returns: target (translated text), score (model confidence), and align (word alignments). Required: source. Maximum source length is 5,000 characters.

delete_a_lilt_upload_by_id

Cancel a multipart S3 upload in Lilt by id, aborting the operation and cleaning up any uploaded parts. Returns an empty 204 response on success. Required: id.

create_a_lilt_upload

Request S3 upload parameters in Lilt to initiate a file upload, supplying the filename and content type. Returns: uploadId, key. Required: filename, type.

list_all_lilt_uploads

List all pending uploads in Lilt for the current user and organization, optionally filtered by upload IDs or statuses. Returns: id, status, filename, type.

get_single_lilt_upload_by_id

Get a specific upload record in Lilt by id. Returns: id, status, filename, type. Required: id.

create_a_lilt_webhook_configuration

Create a new webhook configuration for your Lilt organization. Returns: id, url, events. Required: url.

delete_a_lilt_webhook_configuration_by_id

Delete a specific Lilt webhook configuration by id. Returns an empty 204 response on success. Required: id.

list_all_lilt_webhook_configurations

List all webhook configurations available to your Lilt organization. Returns: id, url, events.

get_single_lilt_webhook_configuration_by_id

Get a specific Lilt webhook configuration by id. Deleted configurations are not returned. Returns: id, url, events. Required: id.

update_a_lilt_webhook_configuration_by_id

Update a specific Lilt webhook configuration by id. Only fields provided in the request body are modified. Returns: id, url, events. Required: id.

list_all_lilt_workflow_templates

List all workflow templates available to the team in lilt. Returns each template's id, which can be passed to subsequent requests such as creating a new Job with a specific Workflow.

list_all_lilt_activities

List lilt audit logs for your organization. Returns: timestamp, userName, userId, teamId, type, requestResult, correlationId, and additional action-type-specific fields (resourceType, action, urlSlug, loginType, etc.). Required: organizationId, userId.

get_single_lilt_create_content_regeneration_by_id

Get content regenerations for a specific lilt Create content item. Returns: id. Required: content_id.

get_single_lilt_file_download_by_id

Download a file from lilt via the /v2/files/download endpoint. Returns the raw file content as a binary stream whose format depends on the content-type of the file being downloaded.

list_all_lilt_file_translations

List file translation requests in lilt. Returns: id, attributes (translation-specific fields whose shape depends on the source file and translation configuration). No required parameters.

create_a_lilt_file_translation

Create a file translation request in lilt using a previously uploaded file. A File ID must be obtained from the lilt file upload process before submitting. Returns: id, attributes (translation-specific fields).

create_a_lilt_job_archive

Archive a job in lilt by submitting a request to the archive endpoint for the specified job. Returns an empty 204 response on success. Required: job_id.

create_a_lilt_job_unarchive

Unarchive a job in Lilt, restoring it from an archived state. Returns the unarchived job object including its id, name, and due date. Required: job_id.

create_a_lilt_job_delivery

Deliver a Lilt job, marking it as delivered and triggering the JOB_DELIVER webhook event. Returns an empty 204 response on success. Required: job_id.

create_a_lilt_job_reactivation

Reactivate a closed or archived lilt job. Required: job_id. Returns an empty 204 response on success.

get_single_lilt_job_export_by_id

Download the exported translation file for a lilt job. Returns the raw file content as an opaque binary download whose format and content type depend on the job's source file type (e.g. XLIFF, DOCX). Required: job_id.

get_single_lilt_job_download_by_id

Download the translated output files for a lilt job. Returns a binary file download containing the job's translated content — the response is a file stream rather than a JSON object. Required: job_id.

create_a_lilt_job_stat

Retrieve TM leverage statistics for a lilt job. Returns new, exact, and fuzzy match statistics representing translation memory coverage across the job's segments. Required: job_id.

create_a_lilt_memory_import

Import a translation memory or termbase file into a specific LILT memory. Supports TMX, SDLTM, SDLXLIFF (with optional custom filters), XLIFF, TMQ, CSV, and TBX formats. Returns an empty 204 response on success. Required: name, memory_id.

create_a_lilt_memory_termbase_export

Export termbase entries for a lilt memory to a CSV file, initiating a background process. Poll `GET /2/memories` and check that `is_processing` equals 0 before downloading the result via `POST /2/memories/termbase/download`. Returns an empty 204 response on success. Required: id.

get_single_lilt_memory_termbase_download_by_id

Download the termbase export for a lilt memory as a CSV file. Returns a CSV file download; you must first call the termbase export endpoint (`/v2/memories/termbase/export`) to initiate the background export process before downloading. Required: id.

get_single_lilt_segment_tag_by_id

Get segment tags in Lilt. Returns: id. No required parameters. Note: per-endpoint source documentation was not found; consult the Lilt API reference for the full response shape.

create_a_lilt_segment_review_unlock

Unaccept and unlock segments in lilt by setting their "Review Done" status to false. Confirmed segments remain confirmed. Returns an empty 204 response on success. Required: segmentIds.

get_single_lilt_upload_s_3_param_by_id

Get S3 upload parameters for a single file upload in Lilt. Returns: url, headers — a presigned S3 URL and the additional headers needed to PUT the file directly to S3.

create_a_lilt_upload_s_3_param

Initiate a single file upload in Lilt and retrieve the S3 presigned upload parameters. Returns: url, headers — a presigned S3 URL and supplemental headers to use when PUTting the file directly to S3. Required: filename, type.

create_a_lilt_upload_multipart

Initiate a multipart upload in lilt for a large file, returning the identifiers needed to upload individual parts and complete the upload. Returns: uploadId, key. Required: filename, type.

get_single_lilt_upload_multipart_part_by_id

Get a presigned S3 URL for uploading a specific part in a Lilt multipart upload workflow. Returns: url (presigned S3 URL to PUT the chunk to). Required: upload_id, part_number, s3Key.

create_a_lilt_upload_multipart_completion

Complete a multipart upload in Lilt by assembling all previously uploaded parts into the final file on S3. Required: upload_id (the multipart upload identifier), parts (array of objects each containing ETag and PartNumber for every uploaded part), and s3Key (the S3 path for the file). Returns an empty 204 response on success.

delete_a_lilt_upload_multipart_cancellation_by_id

Cancel and abort an in-progress multipart upload in Lilt, cleaning up any parts that were already uploaded to S3. Returns an empty 204 response on success. Required: id, key.

Why Truto

Why use Truto’s MCP server for LILT

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 500+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with LILT in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s LILT account

Use Truto’s frontend SDK to connect your customer’s LILT account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call LILT

Truto’s Proxy API is a 1-to-1 mapping of the LILT API. You call us, we call LILT, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate LILT’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about LILT on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work when my users connect their LILT accounts?

Truto handles LILT credential collection, secure storage, and token management for each of your end users. Your application calls Truto with a tenant identifier and we attach the correct LILT credentials per request.

Can I avoid polling for translation job status?

Yes. Use create_a_lilt_webhook_configuration to subscribe to job lifecycle events like JOB_DELIVER, and Truto will normalize delivery so your platform reacts to completed translations in near real time.

Does the integration support large file uploads?

Yes. In addition to standard create_a_lilt_file uploads, the multipart suite (create_a_lilt_upload_multipart, get_single_lilt_upload_multipart_part_by_id, create_a_lilt_upload_multipart_completion) lets you chunk large assets through S3-backed uploads with cancellation support.

Can my users update their Translation Memory from inside my product?

Yes. The memory endpoints (list_all_lilt_memories, lilt_memories_search, create_a_lilt_memory, create_a_lilt_segment, delete_a_lilt_memory_segment_by_id) let you build UI for managing memories, segments, and termbases without sending users back to LILT.

Does this support multilingual content generation, not just translation?

Yes. The LILT Create endpoints (create_a_lilt_create, create_a_lilt_create_content, get_single_lilt_create_preference_by_id, update_a_lilt_create_preference_by_id) let you generate net-new content in a target language using user-defined tone and style preferences.

What file formats and language metadata are exposed?

You can list supported languages and domains via list_all_lilt_languages and list_all_lilt_domains, retrieve XLIFF documents via get_single_lilt_document_by_id, and download translated assets via get_single_lilt_translated_file_by_id and get_single_lilt_job_download_by_id.

Can I manage the full job lifecycle programmatically?

Yes. Beyond create, read, update, and delete on jobs, you can call create_a_lilt_job_archive, create_a_lilt_job_unarchive, create_a_lilt_job_delivery, create_a_lilt_job_reactivation, and create_a_lilt_job_stat to drive end-to-end workflow automation.

LILT

Get LILT integrated into your app

Our team understands what it takes to make a LILT integration successful. A short, crisp 30 minute call with folks who understand the problem.