daVinciSign in
REST API · v1

Build with
daVinci API.

Add AI-powered deck creation, document generation, study decks, and spreadsheet analysis to any app — with a single API key.

Authentication

Every request needs your API key. Pass it in either header.

// Option A — dedicated header (recommended)
X-API-Key: dvk_your_key_here

// Option B — Bearer token
Authorization: Bearer dvk_your_key_here

Base URL

https://davinci.app

Content-Type

application/json or multipart/form-data

Versioning

Current version: v1

Credits

Each API call deducts from your daVinci credit balance. Credits are shared across your app usage and API calls.

Generate deck

10 cr

Generate document

10 cr

Study deck

10 cr

Analyse sheet

10 cr

Buy credits from your profile page or via the pricing page.

Endpoints

POST/api/v1/generate10 credits

Generate Presentation or Document

Turn any text or URL into a fully structured presentation or document. Returns a job ID you can open in the daVinci editor or export as PDF.

Request body

{
  "outputType": "presentation",  // or "document"
  "text": "Q3 sales were up 22%...",
  "themeId": "minimal",          // optional: minimal | bold | clean
  "density": "standard"          // optional: brief | standard | detailed
}

Response

{
  "jobId": "abc-123",
  "outputType": "presentation",
  "title": "Q3 Sales Review",
  "slideCount": 10,
  "status": "ready",
  "viewUrl": "https://davinci.app/create/abc-123",
  "exportPdfUrl": "https://davinci.app/api/export-pdf/abc-123"
}

Poll status

GET /api/v1/generate?jobId=<id>
  • Also accepts multipart/form-data with a "file" field (PDF or TXT).
  • Poll the GET endpoint to check imageStatus — slides render while images generate in the background.
  • "document" outputType returns docSections instead of slides.

Full example

curl https://davinci.app/api/v1/generate \
  -X POST \
  -H "X-API-Key: dvk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "text": "Your content here..."'
POST/api/v1/study10 credits

Generate Study Deck

Convert notes, textbook chapters, articles, or YouTube URLs into a scannable flashcard-style learning deck. Each slide covers one key concept.

Request body

{
  "text": "Photosynthesis is the process by which...",
  "themeId": "bold"   // optional: bold | minimal | clean
}

Response

{
  "jobId": "xyz-456",
  "title": "Understanding Photosynthesis",
  "slideCount": 11,
  "status": "ready",
  "viewUrl": "https://davinci.app/learn/xyz-456"
}

Poll status

GET /api/v1/study?jobId=<id>
  • Pass a YouTube URL in "url" to generate a deck from a video transcript.
  • Deck slides include heading, bullets, and optional image prompts.
  • Users can open viewUrl in daVinci to flip through the deck interactively.

Full example

curl https://davinci.app/api/v1/study \
  -X POST \
  -H "X-API-Key: dvk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "text": "Your content here..."'
POST/api/v1/analyse10 credits

Analyse Spreadsheet

Upload a CSV or XLSX file, or pass a public Google Sheets URL. daVinci infers schema, stores the data, and returns AI-generated dashboard insight cards synchronously.

Request body

// Option A — file upload (multipart/form-data):
file: <CSV or XLSX binary>

// Option B — Google Sheet URL (JSON):
{
  "google_sheet_url": "https://docs.google.com/spreadsheets/d/..."
}

Response

{
  "sheetId": "def-789",
  "rowCount": 1500,
  "columnCount": 8,
  "schema": [
    { "name": "Revenue", "type": "number" },
    { "name": "Region",  "type": "string" }
  ],
  "cards": [
    { "type": "kpi",   "title": "Total Revenue", "value": "₹4.2M" },
    { "type": "trend", "title": "Revenue by Region", ... }
  ],
  "viewUrl": "https://davinci.app/data/def-789"
}
  • Google Sheets must be shared as "Anyone with the link → Viewer".
  • Supports .csv, .xlsx, .xls, .tsv uploads.
  • The viewUrl opens a full interactive dashboard with natural-language query chat.
  • Analysis cards are returned synchronously — no polling needed.

Full example

curl https://davinci.app/api/v1/analyse \
  -X POST \
  -H "X-API-Key: dvk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "text": "Your content here..." }'
GETPOSTDELETE/api/v1/keys

Manage API Keys

Create, list, and revoke API keys. Requires a Firebase ID token (must be signed in to daVinci). Max 10 active keys per account.

// List keys
GET /api/v1/keys
Authorization: Bearer <firebase-id-token>

// Create key
POST /api/v1/keys
{ "name": "My Production App" }

// Revoke key
DELETE /api/v1/keys
{ "key": "dvk_abc123..." }

Start building.

Get your API key from your profile. 100 free credits on signup.

Get API key