Text

Submit an asynchronous background text processing job

Queue an asynchronous background job for long documents, transcripts, or batch workflows that exceed HTTP request timeouts. ### Task Types (`task`) - `translate`: Asynchronously translates text to `target_language`. - `redact`: Asynchronously masks PII into standardized placeholders. - `summarize`: Asynchronously generates a summary (`short`, `detailed`, or `structured`). ### Processing Architecture - Work is queued to a dedicated Celery LLM worker pool at batch priority. - Celery worker auto-retries and absorbs model cold starts gracefully without holding HTTP connections open. - Provenance tracking via optional `source_audio_id` links text jobs to original audio transcription records.

POST
/api/v1/text/{task}/jobs

Authorization

Authorization
Required
Bearer <token>

In: header

Request Body

application/jsonRequired

domainAny properties in TextDomain

Optional industry vertical domain for vocabulary specialization. Defaults to 'general conversation' if omitted.

language
Required
Language

Source language of the input text. Must be one of the 19 supported African or global languages.

Value in: "Afrikaans" | "Amharic" | "Arabic" | "English" | "French" | "German" | "Hausa" | "Igbo" | "Isixhosa" | "Italian" | "Kinyarwanda" | "Sesotho" | "Setswana" | "Shona" | "Spanish" | "Swahili" | "Twi" | "Yoruba" | "Zulu"

source_audio_idSource Audio Id

Optional ID of the originating audio transcription record to preserve end-to-end data lineage.

styleSummaryStyle

Summary format. Applicable only when submitting a summarization job.

Default: "short"Value in: "short" | "detailed" | "structured"

target_languageAny properties in Language

Target language for translation. Required when submitting a translation job.

text
Required
Text

Full text or transcript to process asynchronously.

Minimum length: 1

Path Parameters

task
Required
TextTask

Text processing task type to execute asynchronously ('translate', 'redact', 'summarize')

Value in: "translate" | "redact" | "summarize"
curl -X POST "https://api.orbitalsai.com/api/v1/text/translate/jobs" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "banking",
    "language": "English",
    "source_audio_id": 42,
    "style": "short",
    "target_language": "Yoruba",
    "text": "Agent: Welcome to support. Customer: I have an inquiry about my recent transfer of 45,000 NGN."
  }'

Job accepted and queued for background processing.

{
  "job_id": 101,
  "job_type": "translate",
  "poll": "/api/v1/text/jobs/101",
  "status": "pending"
}