Text

Summarize text into English (Short, Detailed, or Structured JSON)

Summarize conversational transcripts or documents into concise, grounded English summaries. ### Summary Styles - **`short`**: 2-4 sentences executive summary capturing core intent and resolution. - **`detailed`**: 5-8 sentences comprehensive summary including nuances, dates, amounts, and outcomes. - **`structured`**: Strict JSON object with 6 standardized keys: - `summary`: High-level summary string. - `customer_issue`: Primary reason for contact (or null). - `sentiment`: Customer sentiment (`positive`, `neutral`, `frustrated`, `negative`, or null). - `resolution_status`: Status of resolution (`resolved`, `pending`, `escalated`, or null). - `next_action`: Agreed follow-up step (or null). - `important_entities`: Array of key names, products, or reference identifiers. ### Notes - **Output Language**: Summarization output is always generated in **English**, regardless of source language. - **Streaming**: Supported for `short` and `detailed` styles (`stream: true`). `structured` JSON must be requested synchronously without streaming.

POST
/api/v1/text/summarize

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. Output summary is always returned in English.

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

streamStream

If true, streams output tokens as Server-Sent Events (SSE) text/event-stream. Supported for translation, redaction, and short/detailed summarization. (Not supported for structured summarization).

Default: false

styleSummaryStyle

Summary format and length:

  • short: 2-4 sentences executive summary.
  • detailed: 5-8 sentences comprehensive summary.
  • structured: 6-key JSON object (summary, customer_issue, sentiment, resolution_status, next_action, important_entities). Note: Cannot stream.
Default: "short"Value in: "short" | "detailed" | "structured"

text
Required
Text

Input transcript, dialogue, or document text to process.

Minimum length: 1
curl -X POST "https://api.orbitalsai.com/api/v1/text/summarize" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "banking",
    "language": "Hausa",
    "stream": false,
    "style": "short",
    "text": "Agent: Sannu, yaya zan taimaka maka yau?\nCustomer: Ina so in duba asusuna ne."
  }'

Summarization completed successfully.

{
  "job_id": 501,
  "missing_ranges": [],
  "model_name": "Perigee-1-text",
  "processing_time": 1.24,
  "result": "string",
  "result_structured": {
    "customer_issue": "Debit card not received after 5 business days.",
    "important_entities": [
      "Debit Card",
      "Express Delivery"
    ],
    "next_action": "Dispatch team tracking number resent via SMS.",
    "resolution_status": "in_progress",
    "sentiment": "neutral",
    "summary": "Customer called regarding a delayed debit card delivery."
  },
  "route": "single_pass",
  "sections": [
    {
      "end": 45.2,
      "failed": false,
      "index": 0,
      "start": 0,
      "summary": "Customer reported transfer failure."
    }
  ],
  "status": "complete",
  "units": {
    "failed": 0,
    "succeeded": 1,
    "total": 1
  },
  "usage": {
    "calls": 1,
    "completion_tokens": 58,
    "cost": 0.0004,
    "prompt_tokens": 142,
    "total_tokens": 200
  }
}

Guide

Summarization guide