Dataset

Add translated rows to a dataset

Changed on

Translates a sample of this dataset’s rows into each target language and returns the result as a new dataset, leaving this one unchanged. The new dataset carries this dataset’s rows alongside the translated ones, so it can be trained on or downloaded directly. Poll GET /datasets/{dataset_id}/status on the returned id until it reaches succeeded. To adapt rows to a country as well as a language, use POST /datasets/{dataset_id}/localize. Set estimate=true to price the request without starting a run.

post/api/v1/datasets/{dataset_id}/translate

Request

Path parameters

dataset_idstring required

Request body

sample_ratenumber required

Fraction of this dataset’s rows to expand, per target. At 0.25 with two targets, a 1,000-row dataset gains 500 rows and the new dataset holds 1,500.

estimateboolean

When true, validates the request and returns the estimated credit cost without starting a run or creating a dataset.

idempotency_keystring

Opaque key that makes a retried request safe. A second request carrying the same key returns the dataset the first one created instead of starting and charging for a second run.

languagesstring[] required

Target languages, as ISO 639-1 codes. Each sampled row gains one translated row per language. Unsupported codes are rejected with a sample of the supported ones.

Example request

{
  "sample_rate": 0.25,
  "languages": [
    "es",
    "fr"
  ]
}

Response

dataset_idstring nullable required

The expanded dataset. It carries this dataset’s rows plus the new ones, and is ready to download once its status reaches succeeded. Null for an estimate, which creates nothing.

status'pending' | 'running' | 'awaiting_input' | 'succeeded' | 'failed' nullable required

Status of the expanded dataset at the moment this response was sent, in the same vocabulary GET /datasets/{dataset_id}/status reports. Poll that endpoint until it reaches succeeded or failed. An idempotent replay of a finished run returns its terminal status here.

estimated_credits_consumednumber required

Credits this run consumes, charged against the rows it adds. Zero on an idempotent replay: the earlier run reserved the credits, and this call charges nothing.

estimateboolean required

Whether this was an estimate-only request (no run started).

estimated_new_rowsnumber required

Rows this run adds, which is what the credit cost is charged against. Zero on an idempotent replay, which adds none.

Example response

{
  "dataset_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "running",
  "estimated_credits_consumed": 5,
  "estimated_new_rows": 500
}

Changes