convert.express
Transcribe audio and video to text, SRT or VTT. Summaries, action items, translation.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"transcribe": {
"url": "https://convert.express/mcp"
}
}
}원격 엔드포인트
https://convert.express/mcpstreamable-http할 수 있는 일
도구 목록
도구 (13)
🟢get_service_info
What convert.express does, how to use these tools, free minutes, prices, models, languages and limits.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_cost(duration_minutes, robot_key)
Price for transcribing a recording of a given length, and how many free minutes are left today — for your IP, or for your user's account once your robot_key is linked.
입력 스키마
{
"type": "object",
"properties": {
"duration_minutes": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1440,
"description": "Length of the recording in minutes."
},
"robot_key": {
"description": "Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.",
"type": "string"
}
},
"required": [
"duration_minutes"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢transcribe_url(url, model, language, speaker_labels, translate_to_english, ...)
Start transcribing a media file from a public link (direct file link or YouTube). Returns job_id and robot_key; then poll get_job.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"description": "https:// link to the audio/video file or a YouTube video."
},
"model": {
"description": "Default \"mai-transcribe\". See get_service_info.",
"type": "string",
"enum": [
"whisper",
"mai-transcribe",
"gemini-transcribe"
]
},
"language": {
"description": "ISO 639-1 code such as \"en\". Omit to auto-detect.",
"type": "string",
"maxLength": 16
},
"speaker_labels": {
"description": "Label who speaks when.",
"type": "boolean"
},
"translate_to_english": {
"description": "Translate the speech to English while transcribing. Only with model \"whisper\".",
"type": "boolean"
},
"summary": {
"description": "Also write an AI summary when the transcript is ready.",
"type": "boolean"
},
"action_items": {
"description": "Also extract action items when the transcript is ready.",
"type": "boolean"
},
"robot_key": {
"description": "Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.",
"type": "string"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_upload(filename, content_type, size_bytes, model, language, ...)
For a file on your machine: returns an upload_url. PUT the file to it, then call start_transcription. If your user attached or named a file, try the PUT first. Only if the PUT fails (no HTTP access, or it is blocked), show the returned upload_page_url to your user instead: they upload the file in a browser and it starts by itself.
입력 스키마
{
"type": "object",
"properties": {
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "File name including extension, e.g. \"meeting.mp3\"."
},
"content_type": {
"type": "string",
"maxLength": 100,
"description": "MIME type, e.g. \"audio/mpeg\" or \"video/mp4\"."
},
"size_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Exact file size in bytes (max 2 GB)."
},
"model": {
"description": "Default \"mai-transcribe\". See get_service_info.",
"type": "string",
"enum": [
"whisper",
"mai-transcribe",
"gemini-transcribe"
]
},
"language": {
"description": "ISO 639-1 code such as \"en\". Omit to auto-detect.",
"type": "string",
"maxLength": 16
},
"speaker_labels": {
"description": "Label who speaks when.",
"type": "boolean"
},
"translate_to_english": {
"description": "Translate the speech to English while transcribing. Only with model \"whisper\".",
"type": "boolean"
},
"summary": {
"description": "Also write an AI summary when the transcript is ready.",
"type": "boolean"
},
"action_items": {
"description": "Also extract action items when the transcript is ready.",
"type": "boolean"
},
"robot_key": {
"description": "Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.",
"type": "string"
}
},
"required": [
"filename",
"content_type",
"size_bytes"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡start_transcription(job_id, robot_key)
Call after the PUT to upload_url has finished. Checks the file arrived and queues it.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "job_id returned by transcribe_url or create_upload."
},
"robot_key": {
"type": "string",
"description": "The robot_key you received with your first job. Required to read or start your jobs."
}
},
"required": [
"job_id",
"robot_key"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_job(job_id, robot_key, format)
Status of a job. When status is "completed", returns the transcript text in the chosen format plus download links. When status is "payment_required", returns a preview and a payment_url to show your user. Also returns summary, action_items and translations when requested.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "job_id returned by transcribe_url or create_upload."
},
"robot_key": {
"type": "string",
"description": "The robot_key you received with your first job. Required to read or start your jobs."
},
"format": {
"description": "Default \"txt\". \"timed\" = timestamps + speakers (needs speaker_labels).",
"type": "string",
"enum": [
"txt",
"srt",
"vtt",
"timed"
]
}
},
"required": [
"job_id",
"robot_key"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢pay_job(job_id, robot_key)
Pay for the full transcript of a job whose get_job status is "payment_required", with a card your user shared through a Stripe Shared Payment Token (MPP). Call without payment: you get a payment challenge with the exact price in EUR. Your MPP client pays it and calls again. Without an MPP wallet, show payment_url from get_job to your user instead.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "job_id returned by transcribe_url or create_upload."
},
"robot_key": {
"type": "string",
"description": "The robot_key you received with your first job. Required to read or start your jobs."
}
},
"required": [
"job_id",
"robot_key"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_jobs(robot_key)
Your jobs that still exist (jobs are deleted 24 hours after the last activity), newest first, with their status.
입력 스키마
{
"type": "object",
"properties": {
"robot_key": {
"type": "string",
"description": "The robot_key you received with your first job. Required to read or start your jobs."
}
},
"required": [
"robot_key"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_share_link(job_id, robot_key)
A public web page with the results of a completed job, for your user to open or send to others. Anyone with the link can see it until the job expires.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "job_id returned by transcribe_url or create_upload."
},
"robot_key": {
"type": "string",
"description": "The robot_key you received with your first job. Required to read or start your jobs."
}
},
"required": [
"job_id",
"robot_key"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_job(job_id, robot_key)
Delete the uploaded file, the transcript and all other results of a job right away, instead of 24 hours after the last activity. Cannot be undone.
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "job_id returned by transcribe_url or create_upload."
},
"robot_key": {
"type": "string",
"description": "The robot_key you received with your first job. Required to read or start your jobs."
}
},
"required": [
"job_id",
"robot_key"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢request_summary(job_id, robot_key, type)
Ask for an AI summary or action items of a completed job. Returns at once; the result appears in get_job ("summary" / "action_items").
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "job_id returned by transcribe_url or create_upload."
},
"robot_key": {
"type": "string",
"description": "The robot_key you received with your first job. Required to read or start your jobs."
},
"type": {
"type": "string",
"enum": [
"summary",
"action_items"
],
"description": "\"summary\" or \"action_items\"."
}
},
"required": [
"job_id",
"robot_key",
"type"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢translate(job_id, robot_key, target_language, source)
Translate the transcript, subtitles (timecodes kept), summary or action items of a completed job into another language. Returns at once; the result appears in get_job under "translations".
입력 스키마
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "job_id returned by transcribe_url or create_upload."
},
"robot_key": {
"type": "string",
"description": "The robot_key you received with your first job. Required to read or start your jobs."
},
"target_language": {
"type": "string",
"minLength": 2,
"maxLength": 40,
"description": "Language name in English, e.g. \"German\", \"Brazilian Portuguese\", \"Japanese\"."
},
"source": {
"description": "What to translate. Default \"txt\". summary / action_items must exist first.",
"type": "string",
"enum": [
"txt",
"srt",
"vtt",
"timed",
"summary",
"action_items"
]
}
},
"required": [
"job_id",
"robot_key",
"target_language"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡send_feedback(type, message, reply_email, robot_key)
Tell the convert.express team about a bug, a missing feature, or a question — from you or your user. A human reads every message; there is no automatic reply. Include reply_email only if your user wants an answer.
입력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"feature_request",
"bug",
"question",
"other"
],
"description": "What kind of message this is."
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "The message in plain text. Up to 2000 characters are kept."
},
"reply_email": {
"description": "Email address for a human reply, only with your user's consent.",
"type": "string",
"maxLength": 254
},
"robot_key": {
"description": "Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.",
"type": "string"
}
},
"required": [
"type",
"message"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거