PyannoteAI Jobs API
The Jobs API from PyannoteAI — 2 operation(s) for jobs.
The Jobs API from PyannoteAI — 2 operation(s) for jobs.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/pyannoteai:pyannoteai-jobs-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: pyannoteAI Jobs API
description: ''
version: local
contact: {}
termsOfService: https://pyannote.ai/terms-of-use
servers:
- url: https://api.pyannote.ai
tags:
- name: Jobs
paths:
/v1/jobs/{jobId}:
get:
operationId: getJobById
parameters:
- name: jobId
required: true
in: path
description: Job ID to track the progress
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DiarizationJob'
title: Diarization
- $ref: '#/components/schemas/VoiceprintJob'
title: Voiceprint
- $ref: '#/components/schemas/IdentifyJob'
title: Identification
'400':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
'402':
description: Subscription is required
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
security:
- api-key: []
summary: Get job by ID
tags:
- Jobs
x-api-key-permissions:
- jobs:read
/v2/jobs:
get:
operationId: getJobsByTeamV2
parameters:
- name: limit
required: false
in: query
description: Number of jobs to return
schema:
minimum: 1
maximum: 100
default: 10
example: 10
type: number
- name: cursor
required: false
in: query
description: Cursor for pagination. Pass the `nextCursor` value from the previous response.
schema:
format: uuid
example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
type: string
- name: status
required: false
in: query
description: Status of the jobs to return
schema:
example: succeeded
type: string
enum:
- pending
- created
- succeeded
- canceled
- failed
- running
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetJobsResponseV2'
'400':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
'402':
description: Subscription is required
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
security:
- api-key: []
summary: Get all jobs
tags:
- Jobs
x-api-key-permissions:
- jobs:read
components:
schemas:
VoiceprintJob:
type: object
properties:
jobId:
type: string
description: Job ID to track the progress or get the results
example: fb16c565-f3f0-4402-a08c-9d44df0ccc7b
status:
description: Status of the job
allOf:
- $ref: '#/components/schemas/JobStatus'
createdAt:
format: date-time
type: string
description: Date and time the job was created
example: '2024-02-20T12:00:00Z'
updatedAt:
format: date-time
type: string
description: Date and time the job was last updated
example: '2024-02-20T12:00:00Z'
output:
description: Output of a voiceprint job, available for 24 hours after job completion
allOf:
- $ref: '#/components/schemas/VoiceprintJobResults'
TranscriptionSegment:
type: object
properties:
start:
type: number
description: Start time of the segment in seconds
end:
type: number
description: End time of the segment in seconds
text:
type: string
description: The transcribed speech content for this segment
speaker:
type: string
description: Speaker label
required:
- start
- end
- text
- speaker
Confidence:
type: object
properties:
score:
description: List of confidence scores for each sample. Values are between 0 and 100
example:
- 95
- 89
- 78
- 67
- 56
- 45
- 34
- 23
- 12
- 1
type: array
items:
type: number
resolution:
type: number
description: Resolution of the confidence scores. Value is number of seconds per sample
example: 0.02
required:
- score
- resolution
IdentificationVoiceprint:
type: object
properties:
speaker:
type: string
description: Diarization speaker
example: SPEAKER_00
match:
type: string
description: Label of the voiceprint that was identified following the matching settings
example: Sam
confidence:
type: object
description: Confidence for each speaker label, as a dictionary of speaker label to confidence score
example:
Sam: 16
Rick: 24
required:
- speaker
- match
- confidence
GetJobsResponseV2:
type: object
properties:
items:
description: List of jobs. Sorted by creation date, descending. Does not include output data.
type: array
items:
$ref: '#/components/schemas/JobListItem'
nextCursor:
type:
- string
- 'null'
description: Cursor to pass as `cursor` query param to get the next page. Null if there are no more results.
example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
required:
- items
- nextCursor
VoiceprintJobResults:
type: object
properties:
voiceprint:
type: string
description: Voiceprint of the audio. To be used for identification
example: aGVsbG8gd29ybGQ
warning:
type: string
description: Warning message if any
error:
type: string
description: Error message if any
required:
- voiceprint
IdentificationSegment:
type: object
properties:
speaker:
type: string
description: Speaker label
example: SPEAKER_00
start:
type: number
description: Start time of the segment in seconds
example: 15
end:
type: number
description: End time of the segment in seconds
example: 30.5
confidence:
type: object
description: Confidence scores that this speech turn matches each diarization speaker. Only available if `turnLevelConfidence` is set to true when job is created.
example:
SPEAKER_00: 16
SPEAKER_01: 93
diarizationSpeaker:
type: string
description: Speaker label
example: SPEAKER_00
match:
type:
- string
- 'null'
description: Label of the voiceprint that was identified following the matching settings
example: Sam
required:
- diarizationSpeaker
- match
JobListItem:
type: object
properties:
id:
type: string
status:
type: string
createdAt:
format: date-time
type: string
required:
- id
- status
- createdAt
DiarizationJobOutput:
type: object
properties:
diarization:
description: List of diarization segments
type: array
items:
$ref: '#/components/schemas/DiarizationSegment'
confidence:
description: Confidence scores details. Only returned if `confidence` is set to true when job is created
allOf:
- $ref: '#/components/schemas/Confidence'
exclusiveDiarization:
description: Exclusive diarization segments where only one speaker is active at a time. Only returned if `exclusive` is set to true when job is created.
type: array
items:
$ref: '#/components/schemas/DiarizationSegment'
wordLevelTranscription:
description: Word-level transcription segments with text. Only returned if `transcription` is set to true when job is created.
example:
- start: 0.5
end: 0.8
text: Hello
speaker: SPEAKER_00
type: array
items:
$ref: '#/components/schemas/TranscriptionSegment'
turnLevelTranscription:
description: Turn-level (speaker turn) transcription segments with text. Only returned if `transcription` is set to true when job is created.
example:
- start: 0.5
end: 2.3
text: Hello, how are you?
speaker: SPEAKER_00
type: array
items:
$ref: '#/components/schemas/TranscriptionSegment'
error:
type: string
description: Error message if any
warning:
type: string
description: Warning message if any
required:
- diarization
ValidationError:
type: object
properties:
field:
type: string
description: Field name
example: url
message:
type: string
description: Error message
example: Invalid URL
required:
- field
- message
IdentificationJobOutput:
type: object
properties:
diarization:
description: List of diarization segments
type: array
items:
$ref: '#/components/schemas/DiarizationSegment'
confidence:
description: Confidence scores details. Only returned if `confidence` is set to true when job is created
allOf:
- $ref: '#/components/schemas/Confidence'
exclusiveDiarization:
description: Exclusive diarization segments where only one speaker is active at a time. Only returned if `exclusive` is set to true when job is created.
type: array
items:
$ref: '#/components/schemas/DiarizationSegment'
error:
type: string
description: Error message if any
warning:
type: string
description: Warning message if any
identification:
description: List of identification segments
type: array
items:
$ref: '#/components/schemas/IdentificationSegment'
voiceprints:
type: array
items:
$ref: '#/components/schemas/IdentificationVoiceprint'
ValidationErrorResponse:
type: object
properties:
message:
type: string
description: Error message
example: Invalid request
errors:
description: List of errors
type: array
items:
$ref: '#/components/schemas/ValidationError'
required:
- message
- errors
ApiError:
type: object
properties:
requestId:
type: string
description: Request ID
example: 37a4c3a0-b034-4e8c-9ed9-76da6645544a
message:
type: string
description: Error message
example: Error message
required:
- requestId
- message
DiarizationSegment:
type: object
properties:
speaker:
type: string
description: Speaker label
example: SPEAKER_00
start:
type: number
description: Start time of the segment in seconds
example: 15
end:
type: number
description: End time of the segment in seconds
example: 30.5
confidence:
type: object
description: Confidence scores that this speech turn matches each diarization speaker. Only available if `turnLevelConfidence` is set to true when job is created.
example:
SPEAKER_00: 16
SPEAKER_01: 93
required:
- speaker
- start
- end
DiarizationJob:
type: object
properties:
jobId:
type: string
description: Job ID to track the progress or get the results
example: fb16c565-f3f0-4402-a08c-9d44df0ccc7b
status:
description: Status of the job
allOf:
- $ref: '#/components/schemas/JobStatus'
createdAt:
format: date-time
type: string
description: Date and time the job was created
example: '2024-02-20T12:00:00Z'
updatedAt:
format: date-time
type: string
description: Date and time the job was last updated
example: '2024-02-20T12:00:00Z'
output:
description: Output segments of a diarization, available for 24 hours after job completion
allOf:
- $ref: '#/components/schemas/DiarizationJobOutput'
JobStatus:
type: string
enum:
- pending
- created
- succeeded
- canceled
- failed
- running
description: Status of the job
IdentifyJob:
type: object
properties:
jobId:
type: string
description: Job ID to track the progress or get the results
example: fb16c565-f3f0-4402-a08c-9d44df0ccc7b
status:
description: Status of the job
allOf:
- $ref: '#/components/schemas/JobStatus'
createdAt:
format: date-time
type: string
description: Date and time the job was created
example: '2024-02-20T12:00:00Z'
updatedAt:
format: date-time
type: string
description: Date and time the job was last updated
example: '2024-02-20T12:00:00Z'
output:
description: Output segments of an identification job, available for 24 hours after job completion
allOf:
- $ref: '#/components/schemas/IdentificationJobOutput'
securitySchemes:
api-key:
scheme: bearer
bearerFormat: JWT
type: http
externalDocs:
description: pyannoteAI Docs
url: https://docs.pyannote.ai/