GET STARTED / INTRODUCTION
DePro API
One API for speech to text, embeddings and chat, processed across the DePro network. It follows OpenAI’s request and response formats, so most existing code works by changing the base URL and key.
Base URL
https://depro-network.vercel.app/v1
What you can do
| ENDPOINT | WHAT IT DOES |
|---|---|
POST /v1/audio/transcriptions | Speech to text: text, timestamps, SRT and VTT subtitles. Details |
GET /v1/jobs/{id} | Status and result of any job. Details |
POST /v1/embeddings | Turn text into vectors for search and retrieval. Details |
POST /v1/chat/completions | Text generation with open-source models. Details |
Create an account on the developer page: sign in with your work email and a code. New accounts include $0.50 of free credit, no card needed.
GET STARTED / QUICK START
Quick start
Your first transcription in three steps.
1. Get your API key
Sign in on the developer page with your work email. Your console shows your key (starts with dpc_); copy it from there.
2. Point your code at DePro
If you already use an OpenAI library, change the base URL and the key. Nothing else.
3. Send a recording
For long recordings, send a link and get the result by webhook: see Webhooks.
GET STARTED / AUTHENTICATION
Authentication
Send your API key as a bearer token on every request. Keys start with dpc_.
Authorization: Bearer dpc_your_key
Keep your key on your server, never in a browser or mobile app. If a key leaks, issue a new one from your console: the old key stops working right away.
Where to find your key
Sign in to the console with your email. The key is hidden until you click Show; Copy puts it on your clipboard. Accounts made before email sign-in can still open the console with their key, and link it to an email once.
API REFERENCE / SPEECH TO TEXT
Speech to text
Send a short file as a multipart upload (up to about 4 MB), or a link to a recording of any length. Most audio and video formats work: mp3, wav, m4a, mp4, webm, ogg, flac.
Parameters
en or es. Detected automatically if left out.json (default), verbose_json (with timestamped segments), text, srt or vtt.true returns a job id immediately instead of waiting.Short file, wait for the result
Response verbose_json
{
"id": "a1b2c3d4e5f6",
"text": "Thanks for calling. I wanted to follow up on the loan file.",
"language": "en",
"duration_seconds": 8.4,
"segments": [
{ "start": 0.0, "end": 3.1, "text": "Thanks for calling." },
{ "start": 3.1, "end": 8.4, "text": "I wanted to follow up on the loan file." }
],
"depro": { "node": "Rig 4", "seconds": 2.1, "charge_usd": 0.00042 }
}Long files and webhooks
For recordings longer than a minute or two, send a url with "async": true. You get a job id right away. Either poll the job, or give a webhook_url and DePro will send the result when it’s ready.
If a job fails after retries, the webhook arrives with "status": "failed" and an error message. You are not charged for failed jobs.
Synchronous requests that take longer than about 50 seconds also return 202 with a job id, so your code never hangs.
API REFERENCE / JOB STATUS
Job status
Returns queued, running, done or failed, and the result once done.
Transcript formats
For transcription jobs, add ?format= with srt, vtt, text, json or verbose_json (the default). The same finished job can be fetched in every format, as often as you like.
While it’s running
{ "id": "a1b2c3d4e5f6", "type": "transcribe", "status": "running", "error": null }Embedding jobs return data with the vectors; chat jobs return output and token usage. Every finished job includes what it cost.
API REFERENCE / EMBEDDINGS
Embeddings
Turns text into vectors for search, recommendations and retrieval. Send one string or up to 256 at once.
Parameters
Example
API REFERENCE / CHAT
Chat
Text generation with open-source models, in OpenAI’s chat format. Streaming isn’t supported yet.
Parameters
{"role": "user", "content": "…"}."default"). DePro uses the network’s open-source model unless you name another one that’s online.Example
Spot checks
One in ten chat jobs (10%) is run again on a second computer to catch bad results. You pay for your job once; the check is on DePro.
MORE / WEBHOOKS
Webhooks
Give a webhook_url (https) with an async job, and DePro sends the result to it with a POST when the job finishes.
Payload
{ "id": "a1b2c3d4e5f6", "type": "transcribe", "status": "done", "error": null,
"result": { "text": "…", "segments": [ … ], "language": "en", "duration": 3612.5 } }When a job fails
If a job fails after retries, the webhook arrives with "status": "failed" and an error message. You are not charged for failed jobs.
Tips
Answer quickly with a 2xx and do the heavy work afterwards. To get subtitles, fetch the job with ?format=srt or vtt when the webhook arrives.
MORE / ERRORS
Errors
Errors come back as {"error": {"message": "…"}} with one of these status codes.
| STATUS | MEANING |
|---|---|
| 400 | Something in the request is missing or invalid. The message says what. |
| 401 | The API key is missing or wrong. |
| 402 | Your balance is empty. Add credit in your console. |
| 404 | No job with that id for this key. |
| 413 | File too large to upload directly. Send a url instead. |
| 202 | Not an error: accepted and still processing. Poll /v1/jobs/{id}. |
MORE / PRICING
Pricing
Live prices, straight from the network.
| JOB | PRICE |
|---|---|
| Speech to text | $0.12 per audio hour (billed by the minute) |
| Embeddings | $0.02 per million tokens |
| Chat | $0.06 per million tokens (input and output) |
Billed per finished job from your prepaid balance. Failed jobs are free. New accounts start with $0.50 of free credit. Volume pricing is available for large monthly workloads.
MORE / DATA HANDLING
Data handling
Audio and text are sent to a computer on the DePro network only for the length of the job, and processing computers delete input files when the job ends.
Results are stored so you can fetch them by job id. For confidential material, use private processing, where jobs run only on computers you control.
MORE / PRIVATE PROCESSING
Private processing
Same API, two private options for work that has to stay on your own computers.
Private pool
Your jobs run only on computers you own, connected through DePro’s cloud. Your API key keeps working as before; it just sends work to your computers. Quick to set up.
Inside your office
The whole system runs on one always-on computer inside your office, with the same API. Recordings and documents never leave your network; only job counts are reported to DePro for the license. See the install guide.
How to get it
Request either option from your console, and tick the box if you’d like DePro to set it up with you. Once approved, your keys and setup commands appear in the console.