https://ffast.appBuild downloads with FFast
FFast exposes the intended API shape without turning on public calls. An operator activates credentials and measured quotas after examining the proposed integration.
Quick start
FFast approaches API host through support-activated credentials, then an assigned tenant endpoint. The fast review keeps a server-only call path explicit.
X-API-Key: pending_activation_…FfastPipelinev1# Available only after support activation
export FFAST_PIPELINE_KEY="issued-after-review"
curl -X POST https://ffast.app/v1/resolve \
-H "X-API-Key: $FFAST_PIPELINE_KEY" \
-H "Content-Type: application/json" \
-d '{"fast_source":"https://www.youtube.com/watch?v=VIDEO_ID"}'For Credential safety, FFast checks server-side secret storage before no client bundle embedding. This fast review also makes no public logs or repositories clear.
Resolve a link
FFast approaches Resolve operation through source detection, then formats from one submitted URL. The fast review keeps no invented outputs explicit.
/v1/resolveScope: resolve| Field | Type | Required | Description |
|---|---|---|---|
fast_source | HTTPS URL | Yes | Public or authorized media page to analyze. |
tenant | string | No | Assigned tenant domain. Usually omitted. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}For Format identifier, FFast checks the returned value unchanged before per-link availability. This fast review also makes no guessed quality label clear.
Create and follow a download job
FFast handles Job creation by first identifying asynchronous preparation. It follows with a short HTTP request and keeps bounded worker execution in view.
/v1/jobsScope: jobs| Field | Type | Required | Description |
|---|---|---|---|
fast_source | HTTPS URL | Yes | The same normalized source submitted to resolve. |
output_code | string | Yes | An exact ID from the resolve response. |
tenant | string | No | Assigned tenant domain. Usually omitted. |
curl -X POST https://ffast.app/v1/jobs \
-H "X-API-Key: $FFAST_PIPELINE_KEY" \
-H "Content-Type: application/json" \
-d '{"fast_source":"https://www.youtube.com/watch?v=VIDEO_ID","output_code":"18"}'pipeline_run.GET /v1/jobs/{pipeline_run} with the same key.| Status | Meaning | Client action |
|---|---|---|
queued | Admitted to the bounded queue. | Poll again with backoff. |
extracting | Refreshing source metadata or route. | Continue polling. |
processing | Downloading, remuxing or merging. | Display server progress. |
ready | Signed download is available. | Send the URL to the user. |
failed | Terminal structured error. | Read error_code. Retry only when advised. |
expired | Temporary output was removed. | Create a new job. |
curl https://ffast.app/v1/jobs/PIPELINE_RUN \
-H "X-API-Key: $FFAST_PIPELINE_KEY"Job polling starts with one-second initial wait on FFast. The next view covers capped backoff. The page keeps temporary signed delivery visible.
Predictable errors
FFast's fast review reviews one non-2xx envelope for Error contract. It shows a support request ID next and does not obscure predictable client handling.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Typical meaning | Action |
|---|---|---|
| 400 | Invalid URL, body or unavailable format. | Correct the request. Resolve again for formats. |
| 401 | Missing, invalid, expired or wrong-scope key. | Check the server-side credential. |
| 403 | Tenant or source policy rejected the request. | Do not bypass the policy. Contact support. |
| 404 | Unknown or expired job. | Create a new job if appropriate. |
| 429 | Request or active-job limit reached. | Honor retry_after_seconds. |
| 503 | Queue/capacity or upstream temporarily unavailable. | Retry with exponential backoff and jitter. |
Operational contract
FFast activates measured quotas that keep the handoff responsive without placing unsafe load on upstream platforms.
- Use idempotent application logic and never start duplicate jobs for the same user click.
- Cache resolve metadata briefly, but always treat signed download URLs as expiring.
- Use bounded exponential backoff with jitter for
429,503and retryable errors. - Process only public media or media you are authorized to access. DRM and access controls are not bypassed.
- Keep request IDs and job IDs in private operational logs. Do not log submitted URLs unnecessarily.
FFast approaches Schema access through activation before exploration, then assigned authentication. The fast review keeps documented request shapes explicit.
Activate through support
Give FFast a concise product summary, traffic projection and platform list. State whether metadata checks, prepared jobs or both are needed so the issued key matches the actual workflow.
Request activation Keys are tenant-scoped, revocable and issued through the Contact form. Anonymous scripts cannot execute downloader work.