Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
552 changes: 551 additions & 1 deletion public/.well-known/openapi.yaml

Large diffs are not rendered by default.

40 changes: 40 additions & 0 deletions public/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,13 @@ GET /v1/agents/{agent_id}/voice/library?source={public|user_designed|user_traine
}
```

To list only the voices the user **created** (designed, trained, or cloned β€” not the public catalog):

```
GET /v1/user_voice_resources?agent_id={id}
β†’ [ { voice_id, name, source, preview_url } ]
```

### ElevenLabs integration

Users connect their own ElevenLabs API key to unlock their personal voice library and use their own quota.
Expand Down Expand Up @@ -535,6 +542,23 @@ GET /v1/vidsheet/{id}?agent_id={id}&with_execution_cost=true
POST /v1/vidsheet/{id}/clone?agent_id={id}
Body: { target_agent_id? }
β†’ new engine, optionally under a different agent

# Undo / redo history (every edit is recorded as a change set)
GET /v1/vidsheet/{id}/operations?agent_id={id}&limit=20&include_undone=false
β†’ { change_sets: [{ change_set_id, undone, created_at, entries }] } newest-first

GET /v1/vidsheet/{id}/operations/last?agent_id={id}
β†’ { change_set: {...} | null } # the next-to-undo entry (cheaper than the full list)

POST /v1/vidsheet/{id}/operations/undo?agent_id={id}
Body: { change_set_id? } # omit to undo the most recent undoable change set
β†’ { change_set_id, undone: [...], next_undoable: {...} | null }
Errors: 422 nothing_to_undo (stack empty); 409 undo_conflict (sheet changed β€” refetch and retry)

POST /v1/vidsheet/{id}/operations/redo?agent_id={id}
Body: { change_set_id? }
β†’ { change_set_id, redone: [...], next_undoable: {...} | null }
Errors: 422 nothing_to_redo; 409 redo_conflict (refetch and retry)
```

---
Expand Down Expand Up @@ -889,6 +913,22 @@ Once configured, generations POST status updates to your `webhook_url`.

Render the final composite, poll to completion, download the MP4, optionally publish to TikTok.

## Check Credit Balance and Usage

Read-only credit endpoints β€” all free. Check the balance before a paid operation, audit spend with the transaction history, or list plans before a purchase.

```
GET /v1/credit_balance?agent_id={id}
β†’ { available_credit: { generic: <number> } }

GET /v1/credit_transactions?agent_id={id}&page=1
β†’ paginated list of { id, amount, balance_after, source_type, description, created_at }
# amount is negative for a charge, positive for a refund or grant

GET /v1/credit_plans?cycle={monthly|annual}
β†’ [ { id, name, cycle, credits } ] # read prices/amounts at runtime β€” they change
```

## Render the Final Video

Render is an async generation β€” same polling pattern as every other generation.
Expand Down
10 changes: 10 additions & 0 deletions public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ GET /v1/agents/:agent_id/core β€” read flat agent setup
PATCH /v1/agents/:agent_id/core β€” write any subset

GET /v1/agents/:agent_id/voice/library β€” list voices (filter by source)
GET /v1/user_voice_resources?agent_id= β€” list voices the user created only
POST /v1/agents/:agent_id/voice/integrations/elevenlabs β€” connect user ElevenLabs key
POST /v1/agents/:agent_id/voice/integrations/elevenlabs/test β€” validate without saving
DELETE /v1/agents/:agent_id/voice/integrations/elevenlabs β€” disconnect
Expand Down Expand Up @@ -446,6 +447,12 @@ GET /v1/vidsheet/:id/global_variables?agent_id=
POST /v1/vidsheet/:id/import_global_variables?agent_id= (XLSX)
GET /v1/vidsheet/global_variables_template (download template)

# Undo / redo history (every edit is a change set)
GET /v1/vidsheet/:id/operations?agent_id=&limit=&include_undone=
GET /v1/vidsheet/:id/operations/last?agent_id=
POST /v1/vidsheet/:id/operations/undo?agent_id= Body: { change_set_id? }
POST /v1/vidsheet/:id/operations/redo?agent_id= Body: { change_set_id? }

# Content Resources & Assets
GET /v1/content_resources?agent_id=&type=&page=
POST /v1/content_resources?agent_id= (multipart)
Expand Down Expand Up @@ -554,6 +561,9 @@ curl "https://api.gen.pro/v1/user_jobs/138860?agent_id=$AGENT_ID" \
### Step 5 endpoints

```
GET /v1/credit_balance?agent_id= β€” read available credits (free)
GET /v1/credit_transactions?agent_id=&page= β€” usage history (free)
GET /v1/credit_plans?cycle={monthly|annual} β€” plans to buy (free)
POST /v1/vidsheet/:id/cells/:cell_id/render?agent_id= β€” kick off render
GET /v1/generations/:id β€” poll render
POST /v1/user_jobs?agent_id= (publish_content) β€” publish now / schedule
Expand Down
Loading