---
title: "POST /transcribe/s3"
method: POST
path: "/transcribe/s3"
---

# POST /transcribe/s3

`POST /transcribe/s3`

## Request

- The document declares no server URL.
- Auth: none declared

Transcribe a remote file and upload to S3

## Request body

- object
  - `url` string, required
  - `callbackUrl` string
  - `externalId` string: Optional external ID for tracking the subtitling job
  - `language` string
  - `prompt` string: Optional prompt to guide the transcription process. This can be used to provide context or specific instructions for the transcription.
  - `format` 'srt' | 'vtt'
  - `model` 'whisper-1' | 'gpt-4o-transcribe' | 'gpt-4o-mini-transcribe' | 'gpt-4o-mini-transcribe-2025-12-15' | 'gpt-4o-transcribe-diarize': Transcription model to use. Default: whisper-1. Note: gpt-4o-transcribe-diarize supports speaker identification.
  - `speakerNames` string[]: Known speaker names for diarization (max 4). Only used with gpt-4o-transcribe-diarize model.
  - `bucket` string, required
  - `key` string, required
  - `region` string
  - `endpoint` string

## Response `200`

Default Response

- object
  - `workerId` string

## Other responses

- `400`: Validation Error
- `500`: Default Response

## Changes

- **2026-07-17** `022664e97a99`: 1 info
  - added the non-success response with the status `400`
- **2025-06-27** `3d32be121cca`: 1 info
  - removed the non-success response with the status `400`

[Operation history](https://skmtc.dev/eyevinn/apis/eyevinn-auto-subtitles/changes/transcribe/s3/post.md)

---

[API](https://skmtc.dev/eyevinn/apis/eyevinn-auto-subtitles.md) - [All operations](https://skmtc.dev/eyevinn/apis/eyevinn-auto-subtitles/llms.txt) - [OpenAPI document](https://skmtc.dev/eyevinn/apis/eyevinn-auto-subtitles/revisions/022664e97a99?raw)
