---
title: "Train Custom Datasets for Search and LLM (Language Model)"
method: POST
path: "/api/ai/datasets/train-datasets"
tags: ["AI Dataset Management"]
---

# Train Custom Datasets for Search and LLM (Language Model)

`POST /api/ai/datasets/train-datasets`

## Request

- Base URL: `https://api.worqhat.com`
- URL: `https://api.worqhat.com/api/ai/datasets/train-datasets`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/worqhat/apis/worqhat-ai-api-endpoints-2/docs/api/ai/datasets/train-datasets/post.ts> (a function with typed inputs; its response is checked against the schema)

Train Custom Datasets for Search and LLM (Language Model). You can train your own custom datasets for Search and LLM (Language Model) using this endpoint. You can pass in the Dataset Name, the Dataset Type and the Dataset File and we will train the dataset for you.

## Request body `multi-part/form-data`

- object
  - `datasetId` string: The ID of the Dataset that you want to train. This is optional. If you don't pass a Dataset ID, we will generate a random ID for you. *Make sure this is unique*. You can pass in a old id if you want to add in more data to your existing Trained Dataset.
  - `dataset_name` string: The Name of the Dataset that you want to train.
  - `dataset_type` 'self' | 'org': The Type of the Training Dataset after Saving. It can be either `self` or `org`.
  - `json_data` string: The JSON Data that you want to train. You can pass in the JSON Data in the form of a stringified JSON.
  - `training_file` string, binary: The Training File that you want to train. You can pass in the Training File in the form of a CSV or a PDF file.

## Response `200`

Successful response

- object
  - `status` string: Status indicating the success of the Dataset Creation Process.
  - `data` object: The information about the created dataset.
    - `dataset_id` string: The ID of the created dataset.
    - `dataset_name` string: The name of the created dataset.
    - `dataset_description` string: The description of the created dataset.
    - `training_for` string: The type of training for the dataset.
    - `status` string: The status of the dataset.
    - `dataset_timestamp` object
      - `_seconds` integer: The seconds component of the dataset timestamp.
      - `_clock_hash` integer: The clock hash component of the dataset timestamp.
  - `processing_time` integer: The time taken to process the request, in milliseconds.
  - `processing_id` string: A universally unique identifier for the request. This can be used to track the request in the logs.
  - `processing_count` integer: The number of times the request has been processed. This is what is considered in the Billing Process. This is either the number of times the image is processed or the number of words that the server processes.

## Other responses

- `400`: Bad Request. This mostly happens because of invalid image sizes. Neither `height` nor `width` of the image should be less than 128px. Only one of the sides of the image should be greater than or equal to 512px. (Eg: 512x512, 512x768, 768x512) Maximum dimensions supported is 512x896.
- `401`: Unauthorized
- `404`: Not Found
- `406`: Not Acceptable
- `500`: Internal Server Error

## Changes

- **2023-10-20** `871850b7231f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/worqhat/apis/worqhat-ai-api-endpoints-2/changes/api/ai/datasets/train-datasets/post.md)

---

[API](https://skmtc.dev/worqhat/apis/worqhat-ai-api-endpoints-2.md) - [All operations](https://skmtc.dev/worqhat/apis/worqhat-ai-api-endpoints-2/llms.txt) - [OpenAPI document](https://skmtc.dev/worqhat/apis/worqhat-ai-api-endpoints-2/revisions/fc369f69a3e6?raw)
