# BFTS Creators API — agent onboarding Base URL: https://creators-api.brownforces.io Auth: every request needs the header Authorization: Bearer Get a key: subscribe at https://creators-api.brownforces.io/checkout ($29.99/mo). OpenAPI spec: https://creators-api.brownforces.io/openapi.json ## The contract Unlimited generations. ONE running job per key — extra requests queue FIFO. Every generation endpoint returns 202 immediately: {"job_id": "j_...", "status": "queued", "queue_position": 0, "poll": "/v1/jobs/j_..."} Poll GET /v1/jobs/{job_id} every few seconds until status is "succeeded", then download result_url (a signed link valid 24h). Statuses: queued | running | succeeded | failed. Typical times once running: image ~30-90s, speech ~10-60s (first call of the day can cold-start ~30s extra), video ~5-8 min (1080p, ~5s clip). ## Endpoints Generate an image: curl -X POST https://creators-api.brownforces.io/v1/images \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"prompt": "obsidian chess knight, gold rim light, studio photo"}' Generate a 1080p video clip (~5s): curl -X POST https://creators-api.brownforces.io/v1/videos \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"prompt": "slow dolly across a neon workshop, sparks flying"}' Text to speech (built-in voice): curl -X POST https://creators-api.brownforces.io/v1/speech \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"text": "Welcome to Brown Forces", "language": "en"}' Clone a voice (consent REQUIRED — you must own the voice or have the speaker's permission; attestation is logged): curl -X POST https://creators-api.brownforces.io/v1/voices \ -H "Authorization: Bearer $KEY" \ -F name="my voice" -F consent=true -F audio=@reference.wav → {"voice_id": "v_..."} (10-30s of clean speech works best) Speak in a cloned voice (English + Spanish + 21 more languages): curl -X POST https://creators-api.brownforces.io/v1/speech \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"text": "Hola, soy yo", "voice_id": "v_...", "language": "es"}' Check a job / list jobs: curl -H "Authorization: Bearer $KEY" https://creators-api.brownforces.io/v1/jobs/j_... curl -H "Authorization: Bearer $KEY" https://creators-api.brownforces.io/v1/jobs ## Rules - One running job per key; 429-free by design — jobs queue instead of failing. - queue_position 0 means you are next. Positions are honest, not decorative. - Fair use: no key sharing, no resale of access, no cloning a voice without the speaker's consent. Violations end the subscription.