Documentation Index
Fetch the complete documentation index at: https://docs.eversince.ai/llms.txt
Use this file to discover all available pages before exploring further.
Get credit balance
Response 200
{
"credits_balance": 1450
}
Get credit packages
GET /account/credit-packages
Returns available top-up packages with purchase links.
Response 200
{
"credits_balance": 1450,
"has_subscription": true,
"subscription_required": false,
"packages": [
{
"id": "1k",
"credits": 1000,
"price": "$15",
"price_cents": 1500,
"purchase_url": "https://eversince.ai/app/subscription?buy=1k"
},
{
"id": "4k",
"credits": 4000,
"price": "$50",
"price_cents": 5000,
"purchase_url": "https://eversince.ai/app/subscription?buy=4k"
}
]
}
Skills
Skills are persistent instructions that shape agent behavior across all projects. Use them for brand guidelines, style rules, or domain-specific knowledge.
List skills
Returns available skills, both Eversince skills (built by Eversince) and custom skills.
Response 200
{
"skills": [
{
"id": "skill-cinema",
"name": "Cinema",
"is_active": false,
"source": "eversince",
"description": "Story-driven filmmaking with shot design, camera movement, and emotional pacing.",
"tokens": 26000
},
{
"id": "skill_001",
"name": "Brand Guidelines",
"is_active": true,
"source": "user",
"tokens": 113,
"sort_order": 0
}
],
"budget": {
"used": 113,
"limit": 40000
}
}
Create a skill
| Parameter | Type | Required | Description |
|---|
name | string | Yes | Skill name. Max 100 characters. |
instructions | string | Yes | What the agent should know or do. No per-skill cap. Active skills share a 40,000-token budget (roughly 160,000 characters). |
is_active | boolean | No | Enable immediately. Default true. |
Response 201
{
"skill": {
"id": "skill_002",
"name": "Brand Guidelines",
"instructions": "Always use warm color palettes. Brand voice is confident but approachable...",
"is_active": true,
"source": "user",
"characters": 450,
"sort_order": 1,
"created_at": "2025-03-15T10:30:00Z",
"updated_at": "2025-03-15T10:30:00Z"
},
"budget": {
"used": 113,
"limit": 40000
}
}
Example
curl -X POST https://eversince.ai/api/v1/account/skills \
-H "Authorization: Bearer $EVERSINCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Brand Guidelines",
"instructions": "Brand: Acme Corp. Colors: deep navy (#1a237e) and warm gold (#ffd54f). Voice: confident, modern, never corporate. Always end with the tagline. Product shots should emphasize materials and craftsmanship.",
"is_active": true
}'
Get a skill
Returns full skill details including instructions.
Response 200
Custom skill:
{
"skill": {
"id": "skill_001",
"name": "Brand Guidelines",
"instructions": "Always use warm color palettes...",
"is_active": true,
"source": "user",
"characters": 450,
"sort_order": 0,
"created_at": "2025-03-15T10:30:00Z",
"updated_at": "2025-03-15T10:30:00Z"
}
}
Eversince skill:
{
"skill": {
"id": "skill-cinema",
"name": "Cinema",
"is_active": false,
"source": "eversince",
"description": "Story-driven filmmaking with shot design, camera movement, and emotional pacing."
}
}
Update a skill
PATCH /account/skills/:id
Update a custom skill’s name, instructions, or active state. For Eversince skills, only is_active can be toggled.
| Parameter | Type | Description |
|---|
name | string | New name. Max 100 characters. |
instructions | string | New instructions. No per-skill cap. Active skills share a 40,000-token budget. |
is_active | boolean | Enable or disable. |
Response 200
Custom skill update returns the skill with updated budget:
{
"skill": {
"id": "skill_002",
"name": "Updated Name",
"instructions": "Updated instructions...",
"is_active": true,
"source": "user",
"characters": 230,
"sort_order": 1,
"created_at": "2025-03-15T10:30:00Z",
"updated_at": "2025-03-16T08:00:00Z"
},
"budget": {
"used": 58,
"limit": 40000
}
}
Eversince skill toggle returns the skill without budget:
{
"skill": {
"id": "skill-cinema",
"name": "Cinema",
"is_active": true,
"source": "eversince"
}
}
Delete a skill
DELETE /account/skills/:id
Only custom skills can be deleted.
Response 200
Skills stack freely. Multiple skills can be active at once. Active skills (Eversince + custom) share a combined budget of 40,000 tokens. The agent receives all active skill instructions as part of its context.
Learned preferences
The agent learns your patterns across projects. Style tendencies, brand preferences, production habits. These persist across all projects.
Get preferences
GET /account/learned-preferences
Response 200
{
"content": "Prefers warm color grading. Favors cinematic aspect ratios...",
"enabled": true,
"characters": 340
}
Update preferences
PUT /account/learned-preferences
| Parameter | Type | Description |
|---|
content | string | Updated preferences text. |
enabled | boolean | Enable or disable preference learning. |
Response 200
{
"content": "Prefers warm color grading. Favors cinematic aspect ratios.",
"enabled": true,
"characters": 340
}
Memories
Short user-authored facts the agent reads at runtime — preferred voice, recurring brand details, audience, anything you want carried across all projects. Lighter-weight than skills: use memories for one-line facts, skills for full instructions. Active memories share a 10,000-character budget.
List memories
Response 200
{
"memories": [
{
"id": "mem_001",
"title": "Preferred voiceover",
"body": "Use Adam (warm, mid-tempo) for all narration unless asked otherwise.",
"is_active": true,
"sort_order": 0,
"characters": 67,
"created_at": "2026-03-15T10:30:00Z",
"updated_at": "2026-03-15T10:30:00Z"
}
],
"budget": {
"used": 67,
"limit": 10000
}
}
Create a memory
| Parameter | Type | Required | Description |
|---|
title | string | Yes | Short label. Max 100 characters. |
body | string | Yes | Memory content. Up to 10,000 characters. Active memories share a 10,000-char total budget. |
is_active | boolean | No | Enable immediately. Default true. |
If is_active is true and the new body would push active memories past 10,000 chars, the request returns 400.
Response 201
{
"memory": {
"id": "mem_002",
"title": "Audience",
"body": "Indie film festivals and creative directors at boutique agencies.",
"is_active": true,
"sort_order": 1,
"characters": 64,
"created_at": "2026-03-15T10:35:00Z",
"updated_at": "2026-03-15T10:35:00Z"
},
"budget": {
"used": 131,
"limit": 10000
}
}
Example
curl -X POST https://eversince.ai/api/v1/account/memories \
-H "Authorization: Bearer $EVERSINCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Preferred voiceover",
"body": "Use Adam (warm, mid-tempo) for all narration unless asked otherwise."
}'
Get a memory
GET /account/memories/:id
Response 200
{
"memory": {
"id": "mem_001",
"title": "Preferred voiceover",
"body": "Use Adam (warm, mid-tempo) for all narration unless asked otherwise.",
"is_active": true,
"sort_order": 0,
"characters": 67,
"created_at": "2026-03-15T10:30:00Z",
"updated_at": "2026-03-15T10:30:00Z"
}
}
Update a memory
PATCH /account/memories/:id
Provide at least one of title, body, is_active. Activating a memory that would push active memories past the 10,000-char budget returns 400.
| Parameter | Type | Description |
|---|
title | string | New title. Max 100 characters. |
body | string | New body. Max 10,000 characters. |
is_active | boolean | Toggle on or off. |
Response 200
{
"memory": {
"id": "mem_001",
"title": "Preferred voiceover",
"body": "Use Adam (warm, mid-tempo). Slow pacing for product shots.",
"is_active": true,
"sort_order": 0,
"characters": 58,
"created_at": "2026-03-15T10:30:00Z",
"updated_at": "2026-03-15T11:00:00Z"
},
"budget": {
"used": 122,
"limit": 10000
}
}
Delete a memory
DELETE /account/memories/:id
Response 200
API keys
Create a key
| Parameter | Type | Required | Description |
|---|
name | string | Yes | Descriptive name. Max 100 characters. |
Response 201
{
"id": "key_001",
"name": "Production",
"key": "es_live_a1b2c3d4e5f6...",
"key_prefix": "es_live_a1b2",
"created_at": "2025-03-15T10:30:00Z",
"message": "Store this key securely. It will not be shown again."
}
The full key is only returned once at creation. Store it securely.
List keys
Returns keys with prefix only (for identification).
Response 200
{
"keys": [
{
"id": "key_001",
"name": "Production",
"key_prefix": "es_live_a1b2",
"last_used_at": "2025-03-20T14:00:00Z",
"created_at": "2025-03-15T10:30:00Z"
}
]
}
Revoke a key
Immediately invalidates the key. Max 10 keys per account.
Response 200
{
"id": "key_001",
"revoked": true
}
Share links
List shares
| Parameter | Type | Default | Description |
|---|
limit | integer | 10 | Results per page. 1–50. |
offset | integer | 0 | Pagination offset. |
Response 200
{
"shares": [
{
"share_url": "https://eversince.ai/share/abc123",
"video_url": "https://...",
"title": "My Project",
"aspect_ratio": "16:9",
"view_count": 42,
"created_at": "2025-03-15T10:30:00Z"
}
],
"total": 3,
"total_views": 156,
"has_more": false
}
Submit feedback
Report bugs or suggest improvements.
| Parameter | Type | Required | Description |
|---|
type | string | Yes | bug, suggestion, or question. |
message | string | Yes | Your feedback. Max 5,000 characters. |
project_id | string | No | Related project ID. |
Response 201