Uploads and imports
Each file in a project arrives one of two ways, chosen per file with source when you create the project.
Uploads (the default)
Section titled “Uploads (the default)”{ "fileName": "episode-12.wav" }The file gets an upload with a url and fields. POST to url as multipart/form-data with every field from
fields, then the file as file, last. The form is valid for three hours and accepts up to 5 GB (500 MB in test
mode). Accepted: WAV, MP3, M4A, MP4, AVI, FLAC, OGG, AAC and a few more; we read the file itself, not its name.
A file’s uploadStatus is pending until the project is submitted; then done. If validation finds a file
unreadable, that file gets a new upload (new location): upload it again and submit.
Imports
Section titled “Imports”We fetch the file for you. Imports start as soon as the project is created (uploadStatus: "importing", no
upload); you can submit right away and validation waits for them.
source |
|
|---|---|
{"type": "url", "url": "https://…"} |
Any public https file, e.g. a signed link from your own storage. |
{"type": "dropbox", "url": "https://www.dropbox.com/…"} |
A Dropbox share link. |
{"type": "googleDrive", "fileId": "…", "accessToken": "…"} |
A Google Drive file, with an OAuth access token that can read it (the drive.file scope covers files the user picked). We use the token once and don’t keep it. |
{ "files": [ { "fileName": "host.wav", "source": { "type": "url", "url": "https://files.example.com/ep12/host.wav?sig=…" } }, { "fileName": "guest.wav" } ]}Rules for imports:
- https only, and the host must resolve to a public address. We follow up to five redirects, checking each one.
- Dropbox imports stay on Dropbox’s hosts and Drive imports on Google’s.
- Up to 5 GB per file (500 MB in test mode), and an hour per download.
- At most 24 files importing at once per account (
429import_limit).
When an import fails because of its link (a 4xx answer, too large, a private address), the file’s uploadStatus is
import_failed with the reason in importError, and validation rejects the project with import_failed. Create
the project again with a working link.