Skip to content

Language Server

What is the Language Server?

A unified API platform for accessing AI models and services at one place

Key Features

  • 🎤 Transcription - Convert audio to text with Google and Azure transcription services
  • 🤖 Completion - Generate chat completions from LLMS

Available Services

🎤 Transcription

Convert audio files to text using state-of-the-art speech recognition models

Learn More

🤖 Completion

Generate text completions using advanced language models

Learn More


API Endpoints Overview

Method Path Purpose
POST /v1/task/batch/transcription Create a new batch transcription task
POST /v1/task/transcription Create a new single transcription task
POST /v1/task/batch/completion Create a new batch completion task
POST /v1/task/completion Create a new single completion task
GET /v1/status/{task_id} Get status and result of a specific task
GET /v1/tasks/{user_email} List all tasks created by a user
GET /v1/services List all services provided by the server

Getting Started with Projects and API Keys

Note

These are prerequisites for using the Language Server API

Tip

Heads Up: Remember to replace the current Server-URL in your requests with the new one from the Language Server Team.

What is a Project?

A Project represents a logical grouping of tasks and resources. Each project:

  • ✅ Has a unique project_name
  • ✅ Is associated with specific tags and metadata
  • ✅ Owns a dedicated API key for services

Tip

If you're using the platform for personal or individual use, set project_name to "Individual".

What is an API Key?

An API key is a secure token used to authenticate requests made to the platform:

  • 🔐 Project-specific: Each project has its own API key
  • 🔒 Secure: API keys should be kept secret and not shared between projects
  • Required: Any API request must include a valid key for the associated project

How to Use

  1. Create a Project (currently not accessible through platform, please contact us for project creation)
  2. Obtain the API Key assigned to the project

Include the following in your request:

Header:
X-API-Key: <your_project_api_key>
{
  "project_name": "your_project_name",
  ...
}

Info

The platform will validate that the project_name matches the API key.


Endpoint Details

1. Create Task

Batch Task Creation

  • Endpoint: POST /v1/task/batch/{task_name}
  • Description: Creates a new task, preprocesses the payload, and publishes it to the job queue
  • Task Types: transcription or completion

Parameters: - task_name (path): Name of the task (e.g., transcription, completion) - payload_data (form, required): JSON string with task details

Responses: - 200: Successful Response - 422: Validation Error

Single Task Creation

  • Endpoint: POST /v1/task/{task_name}
  • Description: Creates a new task, preprocesses the payload, and publishes it to the job queue
  • Task Types: transcription or completion

Parameters: - task_name (path): Name of the task (e.g., transcription, completion) - payload_data (form, required): JSON string with task details - files (form, conditional): Array of files - required for transcription (audio files) and batch completion (.jsonl file)

Responses: - 200: Successful Response - 422: Validation Error

2. Get Task Status and Response

  • Endpoint: GET /v1/status/{task_id}
  • Description: Checks the status of a task. If the task is completed, returns the result; otherwise, returns the current status.

Parameters: - task_id (path, required): ID of the task to check

Responses: - 200: Successful Response - 422: Validation Error

3. List Tasks by User

  • Endpoint: GET /v1/tasks/{user_email}
  • Description: Lists all the tasks created by a user.

Parameters: - user_email (path, required): Email of the user

Responses: - 200: Successful Response - 422: Validation Error

4. List Services

  • Endpoint: GET /v1/services
  • Description: Lists all the services provided by the language server.

Parameters: None

Responses: - 200: Successful Response


Example Usage

Create Task

Basic Request Format:

POST /v1/task/batch/{task_name}
Accept: application/json
X-API-Key: YOUR_API_KEY
Content-Type: multipart/form-data

payload_data={"user_email":"user@example.com","task_type":"BATCH","project_name":"Individual",...additional_fields}
files=@your_file_here

Transcription Example

POST /v1/task/batch/transcription
Accept: application/json
X-API-Key: YOUR_API_KEY
Content-Type: multipart/form-data

payload_data={"user_email":"user@example.com", "project_name":"Individual","task_type":"BATCH","provider":"AZURE","locale":"en-US"}
files=@audio_file.wav

Completion Example

POST /v1/task/batch/completion
Accept: application/json
X-API-Key: YOUR_API_KEY
Content-Type: multipart/form-data

payload_data={"user_email":"user@example.com","project_name":"Individual","task_type":"BATCH","models":["gemini-2.5-flash"]}
files=@requests.jsonl

Get Task Status

GET /v1/status/{task_id}

List Tasks by User

GET /v1/tasks/{user_email}

List Services

GET /v1/services

Available Models

Transcription Models

Provider Available Models Default Model
Azure base base
Google long, short, telephony, telephony_short long

Completion Models

Model Status
gemini-2.5-flash Default
gemini-2.0-flash Available
gemini-2.0-flash-lite Available
gemini-2.5-pro Available
gpt-4o Available
gpt-4o-mini Available
claude-3-5-sonnet-v2 Available(Soon to be deprecated)
claude-sonnet-4 Available

How to Use Single Task Endpoint

Info

Single task endpoint format: /task/{task_name} where task_name can be 'completion' or 'transcription'

Transcription Workflow

  1. Prepare your audio files and a JSON payload with required fields
  2. Make a POST request to the transcription endpoint with the payload and files
  3. Receive a response and status of the task

Completion Workflow

  1. Prepare a .jsonl file with each line as a request
  2. Make a POST request to the completion endpoint with the payload and the .jsonl file
  3. Receive a response and task status