https://insto.appBuild downloads with Insto
Insto presents a visual-media integration blueprint for evaluation. Live analysis and job requests stay unavailable until support grants tenant-scoped authorization.
Quick start
For API host, Insto begins with support-activated credentials. Its download review pairs that with an assigned tenant endpoint and ends with a server-only call path.
X-API-Key: pending_activation_…InstoMediav1# Available only after support activation
export INSTO_MEDIA_TOKEN="issued-after-review"
curl -X POST https://insto.app/v1/resolve \
-H "X-API-Key: $INSTO_MEDIA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_source":"https://www.youtube.com/watch?v=VIDEO_ID"}'Insto presents three practical points for Credential safety. First comes server-side secret storage. The download review then covers no client bundle embedding. Its final point is no public logs or repositories.
Resolve a link
For Resolve operation, Insto begins with source detection. Its download review pairs that with formats from one submitted URL and ends with no invented outputs.
/v1/resolveScope: resolve| Field | Type | Required | Description |
|---|---|---|---|
media_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
}Insto presents three practical points for Format identifier. First comes the returned value unchanged. The download review then covers per-link availability. Its final point is no guessed quality label.
Create and follow a download job
Insto organizes Job creation around asynchronous preparation. Its download review compares a short HTTP request. Bounded worker execution remains the final check.
/v1/jobsScope: jobs| Field | Type | Required | Description |
|---|---|---|---|
media_source | HTTPS URL | Yes | The same normalized source submitted to resolve. |
media_variant | string | Yes | An exact ID from the resolve response. |
tenant | string | No | Assigned tenant domain. Usually omitted. |
curl -X POST https://insto.app/v1/jobs \
-H "X-API-Key: $INSTO_MEDIA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_source":"https://www.youtube.com/watch?v=VIDEO_ID","media_variant":"18"}'prepare_id.GET /v1/jobs/{prepare_id} 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://insto.app/v1/jobs/PREPARE_ID \
-H "X-API-Key: $INSTO_MEDIA_TOKEN"In Insto, one-second initial wait comes first when explaining Job polling. That download review follows with capped backoff and closes on temporary signed delivery.
Predictable errors
To explain Error contract, Insto separates one non-2xx envelope from a support request ID. A download review gives predictable client handling its own place.
{
"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
Insto tailors call limits to the visual-media use case and the networks the approved client will contact.
- 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.
For Schema access, Insto begins with activation before exploration. Its download review pairs that with assigned authentication and ends with documented request shapes.
Activate through support
Outline the visual-media product, anticipated monthly usage and post types you plan to handle. Insto grants only the necessary analysis or preparation scopes and never stores the readable token.
Request activation Keys are tenant-scoped, revocable and issued through the Contact form. Anonymous scripts cannot execute downloader work.