Try it in 2 minutes
Try the real API with a test key. No billing setup or storage account needed.
Public API base URL: https://silken.io. Use this same base URL for live and test keys.
1. Create a test key
Sign in to the dashboard’s API keys page, choose Create key → Test — free sandbox, and save the secret shown once. Test secrets start with sk_test_. No card is required.
2. Submit the sample
This bundled HDR10 clip is already hosted by silken. The sandbox tone-maps it to an SDR H.264 MP4 using hdr_to_sdr_1080p. Replace the test key below, then run:
export SILKEN_TEST_KEY='sk_test_REPLACE_ME'
curl 'https://silken.io/v1/jobs' \
-H "Authorization: Bearer $SILKEN_TEST_KEY" \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: my-first-sandbox-job' \
--data '{
"input_url": "https://silken.io/_silken/onboarding/sample-v2.mp4",
"max_output_seconds": 13,
"profile": "hdr_to_sdr_1080p",
"speed": "standard"
}'
The response includes id, test_mode: true, execution_class: economy, an ordinary price quote for comparison, output_download_url and output_expires_at. Test jobs are never charged.
3. Read the result
Replace JOB_ID with the returned ID. Repeat until status is completed; stop on failed or canceled.
curl 'https://silken.io/v1/jobs/JOB_ID' \
-H "Authorization: Bearer $SILKEN_TEST_KEY"
After completion, download the hosted result using the same key:
curl 'https://silken.io/v1/jobs/JOB_ID/output' \
-H "Authorization: Bearer $SILKEN_TEST_KEY" --output sandbox.mp4
Completed sandbox jobs report amount_microdollars: 0. Their measured output appears under test in GET /v1/usage?period=YYYY-MM, outside billable totals and the free allowance. Optional webhook_url receives the normal signed lifecycle events, marked test_mode: true.
Sandbox bounds
- One
sdr_720porhdr_to_sdr_1080pfile, up to 13 seconds output and 64 MiB input. Tuning, auxiliary inputs and multi-output jobs require a live key. - Economy speed uses spare capacity with the lowest execution priority. Queue time varies with available capacity.
- Omit
output_urlfor a hosted result retained 24 hours after admission, or supply your own destination. Custom source URLs use the same guarded transfer path and byte bound. - Keep each submission’s idempotency key for retries. Choose a new value to request another job.
Use Postman
Download the Postman collection. Import it, set test_key, then run Quote, Submit, Read and Download. Submit saves the returned job ID for the next requests. The final request reads usage for the current month.
For production, create a live key, enable billing, and supply storage as described in the API reference. OpenAPI contract.