ERARTA AI · Lora

Research as a service.

Lora synthesizes topics, searches 17K+ Telegram-channel posts, and generates platform-tailored ideas & drafts. Built for any product that needs to think in public.

API live · https://lora-api.erarta.ai · v1.1.0

Quickstart

Every request (except /health) needs the X-API-Key header.

Public API key
TOOTmN6jzjpc9JHYqMXuXtOfTiKSmmN9caznZ8RD7iY

One-liner test

curl https://lora-api.erarta.ai/health
# {"status":"ok","service":"lora-api","version":"1.1.0"}

Python

import httpx

BASE = "https://lora-api.erarta.ai"
H = {"X-API-Key": "<your-key>", "Content-Type": "application/json"}

r = httpx.post(f"{BASE}/research",
               json={"topic": "vertical AI agents for retail"},
               headers=H, timeout=60).json()

print(r["research"]["answer"])         # Nova Pro synthesis
for n in r["channel_neighbors"]:       # real TG posts
    print(f"{n['views']} views: {n['text'][:120]}...")

Endpoints

POST/research

Synthesize a topic via AWS Bedrock Nova Pro (fallback: Gemini 2.5 Flash) plus semantic search across 17K+ Telegram-channel messages.

{
  "topic": "pgvector vs Pinecone in production",
  "include_channels": true,
  "limit_neighbors": 5
}

Response: research.answer, research.model (nova-pro or gemini-2.5-flash), channel_neighbors[] with text, date, views.

POST/channels/search

Full-text search over the corpus. Faster & cheaper than /research — no LLM synthesis.

{
  "query": "embedding cache",
  "channel_handle": "@ai_newz",   # optional filter
  "limit": 10
}
GET/channels

List all tracked channels (50+, categories: ai, ml, startup, tools).

curl "https://lora-api.erarta.ai/channels?category=ai" -H "X-API-Key: <key>"
POST/ideas

Generate platform-tailored post ideas.

{
  "topic": "how we replaced Pinecone with pgvector",
  "platform": "linkedin",   # telegram | linkedin | instagram
  "count": 3
}
POST/posts/generate

Generate a full draft with built-in platform rules (tone, length, hashtags).

{
  "idea": "Pinecone → pgvector: 10× cheaper, same latency",
  "platform": "linkedin",
  "tone": "direct, dry, first-person practitioner",    # optional
  "voice_rules": "avoid em-dashes, prefer numbers"     # optional
}

Built-in platform rules

Calling /posts/generate applies platform-tested rules from May 2026 algorithm research:

PlatformLanguageLengthHashtags
telegramRU only600–12000
linkedinEN only1300–20000–2 (3+ = −70% reach)
instagramEN only800–15003–5 (Dec 2025 cap)

LinkedIn template grounded in Richard van der Blom's May 2026 1.8M-post analysis: Save = 5–10× a like, comment 15+ words = 15×, Topic Authority Score, em-dash penalty, engagement-bait shadow-ban patterns.

Limits & errors

EndpointRate limit
/research10 req/min
/ideas20 req/min
/posts/generate20 req/min
/channels*30 req/min
CodeMeaning
401Invalid X-API-Key
422Validation failed (check field constraints)
429Rate limit exceeded
500LLM or Supabase error

Stack

Research
AWS Bedrock Nova Pro → Gemini 2.5 Flash fallback
Ideas / Posts
Gemini 2.5 Flash
Corpus
17K+ TG messages in Supabase
Infra
EKS modera-prod, us-east-1