# Engine capabilities

`GET /v1/engines` — Which models are live here, and what each can serve.

- Base URL: https://eroq.ai/v1
- Auth: `Authorization: Bearer eroq_sk_…` (create keys at https://eroq.ai/dashboard/keys)
- Credits: Free

Deployment truth for the roster: `models` (id → available right now), plan gating — `plans` (id → the cheapest plan that unlocks it, null when free) and `unlocked` (that gate evaluated for YOUR plan) — and `privacy` (id → prompt retention: `private` keeps nothing anywhere and is fully compatible with `private: true`, `logs`/`training` may retain prompts even when our side stores nothing). A model listed in /v1/models but false here answers 503 `model_unavailable`; a locked one answers 403 `plan_required` — nothing is ever silently substituted. `tools` does the same for the tools that are not models: `remove-background` false = POST /v1/images/remove-background answers 503 `model_unavailable` on this deployment.

Then what each VIDEO engine really takes: `seconds` (min/max/step grid), `resolutions` and `defaultResolution`, `aspects` (native ratios), `audio` (soundtrack toggle), `seed`, `startFrame` / `endFrame` (image→video and first/last interpolation), `negative` (native negative prompt), `references` (how many cast/element pictures it reads — 0 = text only), `voice` (hears a cast member's voice sample), `multiShot` (how many shots one clip may hold with `shots` — 0 = one per clip), `hd` (offers a full-quality mode via `fast: false`) and `resolutionPlans` (resolutions a plan gates on an otherwise open engine). A knob an engine lacks is clamped or ignored, never refused.

## GET /v1/engines

Which models are live here, and what each can serve.

### Example request

```bash
curl https://eroq.ai/v1/engines \
  -H "Authorization: Bearer $EROQ_API_KEY"
```

```javascript
const res = await fetch('https://eroq.ai/v1/engines', {
  headers: { Authorization: `Bearer ${process.env.EROQ_API_KEY}` },
})
console.log(await res.json())
```

```python
import os, requests

res = requests.get("https://eroq.ai/v1/engines", headers={"Authorization": f"Bearer {os.environ['EROQ_API_KEY']}"})
print(res.json())
```

```go
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, _ := http.NewRequest("GET", "https://eroq.ai/v1/engines", nil)
	req.Header.Set("Authorization", "Bearer "+os.Getenv("EROQ_API_KEY"))

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	out, _ := io.ReadAll(res.Body)
	fmt.Println(string(out))
}
```

### Response


```json
{
  "models": { "seedance-2-5": true, "veo-3-1": true, "eroq-motion-one": false, "eroq-krea2": true },
  "tools": { "remove-background": false },
  "plans": { "seedance-2-5": "creator", "veo-3-1-lite": null },
  "unlocked": { "seedance-2-5": false, "veo-3-1-lite": true },
  "privacy": { "seedance-2-5": "logs", "eroq-motion-one": "private", "eroq-krea2": "private" },
  "resolutions": { "seedance-2-5": ["480p", "720p", "1080p", "2K"], "veo-3-1": ["720p", "1080p", "4K"] },
  "upscaled": { "seedance-2-5": ["1080p", "2K"], "veo-3-1": [] },
  "videoInput": { "eroq-motion-one": ["reference", "extend"], "seedance-2-5": ["reference", "extend"], "seedance-2-0": ["reference"], "veo-3-1": [] },
  "defaultResolution": { "seedance-2-5": "720p", "veo-3-1": "1080p" },
  "aspects": { "seedance-2-5": ["16:9", "4:3", "1:1", "3:4", "9:16", "21:9"], "veo-3-1": ["16:9", "9:16"] },
  "seconds": { "seedance-2-5": { "min": 4, "max": 30, "step": 1 }, "veo-3-1": { "min": 4, "max": 8, "step": 2 } },
  "audio": { "seedance-2-5": true, "veo-3-1": true },
  "seed": { "seedance-2-5": true, "kling-3-pro": false },
  "startFrame": { "seedance-2-5": true, "runway-gen-4-5": false },
  "endFrame": { "seedance-2-5": true, "wan-3": false },
  "negative": { "veo-3-1": true, "seedance-2-5": false },
  "references": { "seedance-2-5": 6, "veo-3-1": 3, "runway-gen-4-5": 0 },
  "voice": { "seedance-2-5": true, "veo-3-1": false },
  "multiShot": { "seedance-2-5": 6, "veo-3-1": 0 },
  "hd": { "eroq-motion-one": true, "seedance-2-5": false },
  "resolutionPlans": { "eroq-motion-one": { "2K": "creator" }, "veo-3-1-fast": { "4K": "creator" } }
}
```

---
Canonical: https://eroq.ai/docs/engines · Index for agents: https://eroq.ai/llms.txt · OpenAPI: https://eroq.ai/openapi.json
