Helix API

Call every public Helix model from your app

Customer keys only see the Helix catalog, and only the models that key is allowed to use. Do not send upstream model IDs, channel names, or vendor paths. Quotes can be requested anonymously; if a key is sent, disallowed models are rejected. Creating jobs, reading the wallet, and uploading files need a signed-in session or a Bearer key.

Authentication

Send Authorization: Bearer hxsk_... . The full secret is shown once at creation. A key cannot mint more keys; create and revoke them while signed in on the site.

Authorization: Bearer hxsk_...

1. List Helix models

curl https://YOUR_HOST/api/v1/models \
  -H "Authorization: Bearer hxsk_..."

2. Quote first

curl https://YOUR_HOST/api/v1/quotes \
  -H "Content-Type: application/json" \
  -d '{
    "sku": "video.std",
    "prompt": "a quiet street at dawn, cinematic light",
    "params": { "model": "seedance", "mode": "t2v", "resolution": "720p" }
  }'

3. Submit the same quote

curl https://YOUR_HOST/api/v1/jobs \
  -H "Authorization: Bearer hxsk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "quote_id": "PASTE_QUOTE_ID",
    "sku": "video.std",
    "prompt": "a quiet street at dawn, cinematic light",
    "params": { "model": "seedance", "mode": "t2v", "resolution": "720p" }
  }'

4. Poll the job

curl https://YOUR_HOST/api/v1/jobs/JOB_ID \
  -H "Authorization: Bearer hxsk_..."

Wallet

curl https://YOUR_HOST/api/v1/wallet \
  -H "Authorization: Bearer hxsk_..."

Upload references

curl https://YOUR_HOST/api/v1/uploads \
  -H "Authorization: Bearer hxsk_..." \
  -F slot=first \
  -F [email protected]

Do not

  • Set params.model to a Helix catalog id such as seedance, seedance20fast, seedance20, seedance25, seedream, or grok. Scope each key to selected models on /keys.
  • Video duration is currently locked to 5 seconds.
  • Never expose upstream model strings, channel names, or cost prices to customers.
  • Revoke a leaked key immediately, then issue a replacement.