Providers & keys
Checked 16 September 2026. The catalogue has 45 contracts across 9 API providers: 43 video, 1 image and 1 speech. A catalogue entry is not a promise of paid work or a provider balance check.
#Credentials and release support
Use only the credentials for providers you intend to serve. Never put keys in command-line flags or send them to support.
| API provider | Credential variable | Contracts | Approved worker support |
|---|---|---|---|
| Fal | FAL_KEY | 37 | Fal-only release; 3 priced/live-tested, 34 pending |
| MiniMax | MINIMAX_API_KEY | 1 | Candidate; new signed worker release required |
| OpenRouter | OPENROUTER_API_KEY | 1 | Candidate; new signed worker release required |
| Black Forest Labs | BFL_API_KEY | 1 | Candidate; new signed worker release required |
| Replicate | REPLICATE_API_TOKEN | 1 | Candidate; new signed worker release required |
| Google Gemini API | GEMINI_API_KEY | 1 | Candidate; new signed worker release required |
| Runway | RUNWAYML_API_SECRET | 1 | Candidate; new signed worker release required |
| Luma | LUMA_API_KEY | 1 | Candidate; new signed worker release required |
| ElevenLabs | ELEVENLABS_API_KEY | 1 | Candidate; new signed worker release required |
The API provider is the account billed for the request, not necessarily the model's creator. MiniMax H3 through Fal uses FAL_KEY; it does not become a direct MiniMax contract when another key is added. Provider routes have distinct contract IDs and never inherit another route's pricing.
#Candidate contracts
These describe the implemented, fixed request contracts—not confirmed account availability or paid output quality. See Models & reward targets for the Fal contracts.
| Contract ID | Fixed output | Prompt limit | Deadline |
|---|---|---|---|
direct/minimax/hailuo-2.3 | MP4 · 6 s · 1080p · 16:9 | 2,000 | 480 s |
direct/openrouter/veo-3.1 | MP4 · 4 s · 720p · 16:9 · audio | 2,000 | 480 s |
direct/bfl/flux-2-pro | PNG · 1024×1024 · one image | 2,000 | 480 s |
direct/replicate/hailuo-02 | MP4 · 6 s · 1080p · 16:9 | 2,000 | 480 s |
direct/google/veo-3.1 | MP4 · 4 s · 720p · 16:9 · audio | 2,000 | 480 s |
direct/runway/gen4.5 | MP4 · 5 s · 720p · 16:9 | 1,000 | 480 s |
direct/luma/ray-2 | MP4 · 5 s · 720p · 16:9 | 2,000 | 480 s |
direct/elevenlabs/multilingual-v2-rachel | MP3 · fixed Rachel voice · 44.1 kHz | 500 | 120 s |
The speech deadline is not a requested clip length; delivered speech must be between 0.1 and 120 seconds. Inputs remain {model, prompt[, seed]}; seed is accepted only by contracts that support it. Arbitrary voices, provider endpoints, durations, uploaded references and raw provider request bodies are not accepted.
#Check your configuration
Install everycli 0.2.0, then initialize with your invitation and owner-only credentials file:
everycli miner init --invitation invitation.json --secrets-file miner.env
everycli miner providers
everycli miner providers --json
everycli miner doctorThe provider report shows whether each key is configured, allowed by the signed release and usable under that combination. Usable does not mean live-tested, priced, funded or admitted. The report does not call providers or reveal key values.
Existing invitations and pilot-models-20260915-37 remain Fal-only. Adding a key or upgrading the CLI cannot change the measured worker, the model allowlist or global routing. Activation forwards only configured keys permitted by the signed compose; unrelated keys remain local.
#Before an additional provider can serve paid jobs
- The operator verifies account-specific access, terms and current pricing, then publishes reviewed contract-bound prices.
- The operator builds and reviews a distinct digest-pinned worker image and signed compose permitting only the selected provider keys.
- Under an agreed hosting/provider budget, the VM is deployed or updated while drained, independently admitted, activated and admitted again after restart.
- A bounded, non-reward-eligible paid canary verifies the actual API/CDN responses, output format, invoice and failure/restart behavior.
- The operator explicitly approves the tested contracts and opens a pilot routing window.
For an existing miner, first import updated credentials with your current invitation, then follow Apply an approved update. Do not create another VM to work around an uncertain update.
#Recovery and key isolation
- Keys are sent only to their authorized provider API. Downloads from CDNs carry no provider authentication headers.
- Paid POST requests are never automatically retried or redirected. An uncertain submission can incur provider cost without accepted work.
- Asynchronous jobs with a durable provider ID can resume polling against their original provider/model, within the original deadline.
- ElevenLabs returns synchronous bytes held in bounded memory. A worker restart before acceptance cannot recover them from provider history; the job times out/refunds rather than generating and billing again.
- Google media GETs alone permit up to two redirects to a narrow allowlist, stripping authentication headers at each hop. Other output downloads reject redirects.
Read the key protection and trust assumptions before adding credentials.