# Creations library

`GET /v1/creations` — Every image and video you rendered, with its recipe.

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

Every /v1 image and video render is saved to your creation library automatically (free) with the full recipe in `meta` — model, rack, seconds, references. `GET /v1/creations/{id}` fetches one; `PATCH /v1/creations/{id}` moves it between folders (`{ "folderId": … | null }`); `DELETE` removes it and its file.

Folders: `POST /v1/folders` (`{ "name": … }`), `DELETE /v1/folders/{id}` — deleting a folder keeps its creations (they fall back to the root).

## Example request

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

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

```python
import os, requests

res = requests.get("https://eroq.ai/v1/creations", 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/creations", 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
{
  "folders": [{ "id": "…", "name": "Campaign A" }],
  "creations": [{
    "id": "…", "kind": "video", "url": "https://…", "model": "eroq-motion-one",
    "prompt": "slow pan over the rooftop", "meta": { "seconds": 10, "shot": "push-in" }
  }]
}
```
---
Canonical: https://eroq.ai/docs/creations · Index for agents: https://eroq.ai/llms.txt · OpenAPI: https://eroq.ai/openapi.json
