Skip to main content

Uploading Files and Managing Projects

This guide walks you through the core workflow for using the Taia Public API: uploading files, starting translation, and retrieving results.

πŸ§‘β€πŸ’Ό Note: API access is available only to users and organizations on the Pro plan.


πŸ“ Overview: Project Lifecycle​

Here’s a full example flow:

  1. POST /projects
    β†’ Upload file(s) and define source/target languages

  2. POST /projects/{id}/convert
    β†’ Trigger document conversion and analysis

  3. GET /projects/{id}/status
    β†’ Poll until project is converted

  4. POST /projects/{id}/instant-mt
    β†’ Start instant AI translation

  5. GET /projects/{id}/final-files
    β†’ Download final output file(s)


πŸ” Authentication​

All requests require:

Authorization: Api-Key YOUR_API_KEY

Get your API key from your dashboard under Settings β†’ API Access. Only available to Pro users.


1️⃣ Create a Project​

POST /projects
Content-Type: multipart/form-data
Authorization: Api-Key YOUR_API_KEY

Required fields:​

  • project_name – e.g., "Product Sheet Spring 2025"
  • source_language – e.g., en-US
  • target_languages – e.g., fr-FR,de-DE (comma-separated)
  • files[] – one or more files in supported formats

Optional:​

  • glossaries[] – UUIDs of glossaries (Pro only)
  • translation_memories[] – UUIDs of TMs (Pro only)

2️⃣ Start File Conversion​

POST /projects/{project_id}/convert

Converts and segments your files into translation-ready format.

  • Transforms files into XLIFF
  • Analyzes word count
  • Detects and applies structure for proper formatting preservation

Use:

GET /projects/{id}/status

…until status becomes:

{ "status": "converted" }

3️⃣ Start AI Translation​

POST /projects/{project_id}/instant-mt

Applies AI translation to all jobs in the project. Glossary and translation memory support is applied automatically (if provided).


4️⃣ Poll Status​

GET /projects/{project_id}/status

Possible values:

  • pending
  • converting
  • converted
  • translating
  • completed

Poll every 5–10 seconds until the status is "completed".


5️⃣ Download Final Files​

GET /projects/{project_id}/final-files

Returns download links for translated files in their original format:

{
"final_files": [
{
"name": "product_fr.docx",
"file_path": "https://signed-url.s3.amazonaws.com/product_fr.docx"
}
]
}

These links are temporary (signed URLs). Download promptly or re-request.


πŸ” Additional Endpoints​

  • GET /projects β€” List your recent projects
  • GET /projects/{id} β€” View project metadata, file states, job details

πŸ§ͺ Postman Collection​

Explore and test all endpoints using our official public collection: πŸ‘‰ View on Postman β†’


🚧 Coming Soon​

  • Quote API: POST /projects/quote
  • Order professional translation: POST /projects/{id}/order
  • Webhooks for job completion

Currently, ordering professional services is only available via the legacy platform.


Have questions or want help automating this workflow? Talk to us β†’