> ## Documentation Index
> Fetch the complete documentation index at: https://docs.camb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Translation Stream

> Deprecated: Convert text between languages in real-time with contextual adaptations, delivering translated content as it's generated for immediate use in conversational interfaces and live applications.

<Warning>
  This endpoint is deprecated. For new integrations, use the standard translation task flow with [`POST /translation`](create-translation), then poll task status and fetch the completed result.
</Warning>

This endpoint provides instantaneous text translation with adaptive context handling, streaming results character-by-character as they're processed. This approach enables real-time subtitling, live chat translation, and dynamic content localization without waiting for full document processing.

## Customizing Your translation

### Contextual Adaptation Parameters

Enhance your translations with linguistic context controls:

* **Formality Level** (Optional):
  | Setting | Value | Use Case                                                     |
  | :------ | :---- | :----------------------------------------------------------- |
  | Formal  | 1     | Business documents, academic papers, official correspondence |
  | Casual  | 2     | Chat messages, social media, casual communication            |

* **Grammatical Gender** (Optional):

  *Applies to languages with gender-specific grammar*

  | Setting       | Value |
  | :------------ | :---- |
  | Not Specified | 0     |
  | Male          | 1     |
  | Female        | 2     |
  | Neutral       | 9     |

### Language Support

* Configure your translation pipeline using:

  * [`/source-languages`](get-source-languages) - Supported input languages

  * [`/target-languages`](get-target-langauages) - Available output languages

## Implementation Guide

Streaming Translation Workflow:

<CodeGroup>
  ```python Streaming using Sync Python [expandable] theme={null}
  import requests

  translation_config = {
      "text": "Jupiter, the largest planet in our solar system...",
      "source_language": 1,   # English
      "target_language": 81,  # Hindi
      "formality": 2,         # Formal
      "gender": 1             # Male grammatical gender
  }

  def sync_translation_stream(config):
      """Handle translation stream synchronously"""
      headers = {"x-api-key": "your_api_key_here"}

      with requests.post(
          "https://client.camb.ai/apis/translation/stream",
          json=config,
          headers=headers,
          stream=True
      ) as response:

          # Verify successful connection
          response.raise_for_status()

          # Display credit cost
          print(f"Credits required: {response.headers.get('X-Credits-Required', 'Unknown')}")

          # Process stream chunks
          full_translation = ""
          for chunk in response.iter_content(chunk_size=128):
              try:
                  decoded = chunk.decode('utf-8')
                  full_translation += decoded
                  print(decoded, end='', flush=True)
              except UnicodeDecodeError:
                  print("�", end='')  # Error placeholder

          return full_translation

  # Execute the translation
  translated_text = sync_translation_stream(translation_config)
  print("\nComplete Translation:\n", translated_text)
  ```

  ```python Streaming using Async Python [expandable] theme={null}
  import aiohttp
  import asyncio

  translation_config = {
      "text": "Jupiter, the largest planet in our solar system...",
      "source_language": 1,   # English
      "target_language": 81,  # Hindi
      "formality": 2,         # Formal translation
      "gender": 1             # Male grammatical gender
  }

  async def stream_translation(session, config):
      """Process real-time translation stream"""
      async with session.post(
          "https://client.camb.ai/apis/translation/stream",
          json=config,
          headers={"x-api-key": "your_api_key_here"}
      ) as response:

          # Verify successful stream initiation
          if response.status != 200:
              print(f"Error: {await response.text()}")
              return ""

          # Process stream chunks
          full_translation = ""
          async for chunk in response.content.iter_any():
              try:
                  decoded_chunk = chunk.decode('utf-8')
                  full_translation += decoded_chunk
                  print(decoded_chunk, end='', flush=True)
              except UnicodeDecodeError:
                  print("�", end='')  # Error placeholder

          return full_translation

  async def main():
      async with aiohttp.ClientSession() as session:
          translated = await stream_translation(session, translation_config)
          print("\nFinal Translation:\n", translated)

  asyncio.run(main())
  ```
</CodeGroup>

<Tip title="Implementation Choice">
  **When to use synchronous vs asynchronous:**

  * Use synchronous (`requests`) for:
    * Simple scripts
    * Low-concurrency applications
    * Quick prototyping

  * Use asynchronous (`aiohttp`) for:
    * High-performance applications
    * Parallel translation streams
    * Web servers with async frameworks
</Tip>

## Response Handling

* **Stream Format**: UTF-8 encoded text/event-stream with incremental translations.

* **Credit Tracking**: `X-Credits-Required` header shows computational resources used.

* **Error Handling**: Failed streams immediately terminate with error message.

## Use Case Examples

* **Live Caption Translation**: Convert spoken language subtitles in real-time

* **Chat Localization**: Instant message translation for multilingual support teams

* **Document Preview**: Stream translated content while full processing continues

This streaming solution is ideal for applications requiring immediate partial results while maintaining full translation context awareness. The character-level streaming allows for dynamic UI updates and progressive content rendering.


## OpenAPI

````yaml post /translation/stream
openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.0
servers:
  - url: https://client.camb.ai/apis
security: []
paths:
  /translation/stream:
    post:
      tags:
        - Apis
      summary: Create Translation Stream (Deprecated)
      description: >-
        Deprecated. Stream real-time text translation between languages. For new
        integrations, use the standard translation task flow with `POST
        /translation`.
      operationId: create_translation_stream
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTranslationStreamRequestPayload'
      responses:
        '200':
          description: Text translation stream
          headers:
            X-Credits-Required:
              schema:
                type: string
                description: Number of credits required for this request
          content:
            text/event-stream:
              schema:
                type: string
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
        - APIKeyHeader: []
components:
  schemas:
    CreateTranslationStreamRequestPayload:
      properties:
        text:
          type: string
          title: Text
        source_language:
          $ref: '#/components/schemas/SourceLanguages'
        target_language:
          $ref: '#/components/schemas/Languages'
        formality:
          anyOf:
            - $ref: '#/components/schemas/Formalities'
            - type: 'null'
          default: 2
        gender:
          anyOf:
            - $ref: '#/components/schemas/Gender'
            - type: 'null'
          default: 1
      type: object
      required:
        - text
        - source_language
        - target_language
      title: CreateTranslationStreamRequestPayload
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SourceLanguages:
      type: integer
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
        - 20
        - 21
        - 22
        - 23
        - 24
        - 25
        - 26
        - 27
        - 28
        - 29
        - 30
        - 31
        - 32
        - 33
        - 34
        - 35
        - 36
        - 37
        - 38
        - 39
        - 40
        - 41
        - 42
        - 43
        - 44
        - 45
        - 46
        - 47
        - 48
        - 49
        - 50
        - 51
        - 52
        - 53
        - 54
        - 55
        - 56
        - 57
        - 58
        - 59
        - 60
        - 61
        - 62
        - 63
        - 64
        - 65
        - 66
        - 67
        - 68
        - 69
        - 70
        - 71
        - 73
        - 74
        - 75
        - 76
        - 78
        - 79
        - 80
        - 81
        - 82
        - 83
        - 84
        - 85
        - 86
        - 87
        - 88
        - 90
        - 91
        - 92
        - 93
        - 94
        - 95
        - 96
        - 97
        - 98
        - 99
        - 100
        - 101
        - 102
        - 103
        - 104
        - 106
        - 107
        - 108
        - 109
        - 110
        - 111
        - 112
        - 113
        - 114
        - 115
        - 116
        - 117
        - 118
        - 119
        - 120
        - 121
        - 122
        - 123
        - 124
        - 125
        - 126
        - 127
        - 128
        - 129
        - 130
        - 131
        - 132
        - 133
        - 134
        - 135
        - 136
        - 139
        - 140
        - 141
        - 142
        - 143
        - 144
        - 145
        - 146
        - 148
      default: 1
    Languages:
      type: integer
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
        - 20
        - 21
        - 22
        - 23
        - 24
        - 25
        - 26
        - 27
        - 28
        - 29
        - 30
        - 31
        - 32
        - 33
        - 34
        - 35
        - 36
        - 37
        - 38
        - 39
        - 40
        - 41
        - 42
        - 43
        - 44
        - 45
        - 46
        - 47
        - 48
        - 49
        - 50
        - 51
        - 52
        - 53
        - 54
        - 55
        - 56
        - 57
        - 58
        - 59
        - 60
        - 61
        - 62
        - 63
        - 64
        - 65
        - 66
        - 67
        - 68
        - 69
        - 70
        - 71
        - 72
        - 73
        - 74
        - 75
        - 76
        - 77
        - 78
        - 79
        - 80
        - 81
        - 82
        - 83
        - 84
        - 85
        - 86
        - 87
        - 88
        - 89
        - 90
        - 91
        - 92
        - 93
        - 94
        - 95
        - 96
        - 97
        - 98
        - 99
        - 100
        - 101
        - 102
        - 103
        - 104
        - 105
        - 106
        - 107
        - 108
        - 109
        - 110
        - 111
        - 112
        - 113
        - 114
        - 115
        - 116
        - 117
        - 118
        - 119
        - 120
        - 121
        - 122
        - 123
        - 124
        - 125
        - 126
        - 127
        - 128
        - 129
        - 130
        - 131
        - 132
        - 133
        - 134
        - 135
        - 136
        - 139
        - 140
        - 141
        - 142
        - 143
        - 144
        - 145
        - 146
        - 147
        - 148
        - 149
        - 150
      title: Languages
      default: 1
    Formalities:
      type: integer
      enum:
        - 1
        - 2
      title: Formalities
    Gender:
      type: integer
      enum:
        - 0
        - 1
        - 2
        - 9
      title: Gender
      description: The gender of the speaker.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        The `x-api-key` is a custom header required for authenticating requests
        to our API. Include this header in your request with the appropriate API
        key value to securely access our endpoints. You can find your API key(s)
        in the 'API' section of our studio website.

````