en

Send Audio by URL and via API

How to import audio by direct URL in the interface and how to send transcriptions programmatically via the API: eligible plans, keys, authentication, limits, and webhooks.

Besides file upload, there are two ways to do it "without holding the file": paste a media URL in the interface (for any user) and send via the API (for Pro plans and above) — ideal for integrating transcription into systems, PBX, and automations.

1. Importing by URL in the interface

On the New transcription screen, the same option that accepts YouTube also accepts direct URLs to audio/video files (https). The server downloads the media and follows the normal flow: language choice (or automatic detection), plan engine, and cost in cycles based on duration. Your plan's duration and size limits apply the same way.

2. Transcription API

Who can use it

The API is available starting with the Pro plan (R$ 39.90/month) — including Premium, enterprise plans, and equivalent legacy plans. On other plans, trying to create a key returns that the plan is not eligible.

API keys

  • Token format: vpt_live_...;
  • The secret is shown only once, at creation — store it in a vault. We don't store the secret, only a fingerprint of it;
  • Up to 20 active keys per account; you can revoke any of them at any time;
  • The personal key management area in the interface is being rolled out — if you can't find the option in your account, open a ticket and we'll enable it for you.

How a call works

Authentication via Authorization: Bearer vpt_live_... header. In the body, you provide the audio URL (audio_url, https only), the URL of your webhook to receive the result, and optionally the engine, language, export formats, and an idempotency key.

  • Rate limit: 60 requests per minute per key;
  • Size: audio via URL up to 500 MB for download on the server; with the Premium engine, URLs up to 5 GB can be read directly by the engine, without intermediate download;
  • Cost: the same cycles as the website, based on duration and engine.

Receiving the result (webhooks)

The result arrives via a webhook signed with HMAC-SHA256 (X-VPT-Signature and X-VPT-Event headers) — validate the signature before trusting the payload. If your endpoint is down, we resend with exponential backoff: up to 6 attempts over ~24 hours.

We only accept https URLs and block internal/private addresses for security. If your audio is behind authentication, generate a temporary signed URL in your storage before calling the API.

No public URL for the file (e.g., PBX recordings)? The enterprise audit API offers an upload endpoint that returns a temporary upload URL (valid for 1 hour) — talk to sales if your use case is high-volume call auditing.

Frequently asked questions

I lost the key secret. How do I recover it?

There's no way to recover it — revoke the key and create a new one. The secret only exists at creation time.

Does the API have documentation?

The complete integration reference is provided when access is activated. Open a ticket telling us about your use case.

Can I choose the engine and language in the call?

Yes, both are optional parameters — without them, the plan's default engine and language detection apply.

Does the API charge differently from the website?

No. Same cycles, same rules (including the discount only after success).

How do I revoke a compromised key?

Revoke it immediately in key management (or via support). Revocation cuts off access immediately.


Still haven't resolved your question? Open a ticket — normal-priority tickets are answered within 24 hours.