Speech transcription
Submit a video or audio URL when native captions are missing. The result is timed text.
API flow
Submit job
POST /api/transcribe/submit
Check result
GET /api/transcribe/{job_id}
Common workflows
Submit job
POST /api/transcribe/submit — platform or audio URL, returns job_id.
Get job
GET /api/transcribe/{job_id} — poll status, progress, and segments.
Copy and run
Replace YOUR_API_KEY with a console key. POST /api/transcribe/submit to create a job, then poll GET /api/transcribe/{job_id} with the returned job_id.
import requests
API_BASE = "https://www.dataspider.ai/api"
HEADERS = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
job = requests.post(
f"{API_BASE}/transcribe/submit",
headers=HEADERS,
json={
"source": {"type": "platform_url", "url": "https://www.youtube.com/watch?v=sample-keynote"},
"engine": "paraformer",
"language": "",
"enable_speaker": False,
},
).json()["data"]
print(job)
result = requests.get(f"{API_BASE}/transcribe/{job['job_id']}", headers=HEADERS)
print(result.json())
JSON response
response.json
{
"code": 200,
"message": "ok",
"success": true,
"data": {
"job_id": "tr_01",
"status": "completed",
"step": "bill",
"progress": 100,
"engine": "paraformer",
"source_type": "platform_url",
"duration_seconds": 3,
"text": "欢迎使用 DataMiner。",
"segments": [
{
"id": 0,
"start": 0,
"end": 2.8,
"text": "欢迎使用 DataMiner。",
"speaker": null,
"words": []
}
],
"error": null
}
}What you get
Input
- Video or audio URL
- YouTube, TikTok, or Douyin link
- A link inside share text
- Optional language
Output
- Full text and segments
- Start and end times
- Job status polling
- Export to SRT / VTT
Other platforms
Ready to integrate?
Create an API key, try a URL in Playground, then wire it into your app.