API ReferenceContent
Generate Description
Generate SEO-optimized video descriptions with proper structure, keywords, and CTAs.
POST /api/v1/content/generate-description
Generate an optimized video description with proper keyword placement, structure, timestamps, and calls-to-action.
Credits: 3 per request
Request Body
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
title | string | Yes | — | The video title |
platform | string | No | "youtube" | Target platform |
keywords | string[] | No | [] | Target keywords to include |
keywordsWithScores | object[] | No | — | Keywords with competition data |
transcript | string | No | — | Video transcript for context |
cta | string | No | — | Call-to-action to include (e.g., subscribe link) |
links | string[] | No | — | Links to include in the description |
niche | string | No | — | Content niche for tone |
tone | string | No | — | Desired tone (e.g., "professional", "casual", "educational") |
Example Request
curl -X POST https://api.usesoke.ai/api/v1/content/generate-description \
-H "Content-Type: application/json" \
-H "X-Soke-Key: sk_live_your_api_key" \
-d '{
"title": "10 Developer Productivity Hacks That Actually Work",
"platform": "youtube",
"keywords": ["developer productivity", "coding tips"],
"cta": "Subscribe for weekly dev tips!",
"niche": "tech",
"tone": "casual"
}'Response
{
"success": true,
"data": {
"description": "In this video, I share 10 developer productivity hacks that have transformed my workflow...\n\n🔑 Key Topics:\n00:00 - Introduction\n01:30 - Hack #1: Terminal Aliases\n...\n\n📌 Resources mentioned:\n...\n\n🔔 Subscribe for weekly dev tips!\n\n#DeveloperProductivity #CodingTips #Programming",
"wordCount": 245,
"keywordsIncluded": ["developer productivity", "coding tips"],
"sections": ["intro", "timestamps", "resources", "cta", "hashtags"]
},
"meta": {
"platform": "youtube",
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"processing_time_ms": 2300
}
}Error Codes
| Code | Status | Description |
|---|---|---|
BAD_REQUEST | 400 | Missing title |
RATE_LIMIT_EXCEEDED | 429 | Rate limit exceeded |
INSUFFICIENT_CREDITS | 402 | Not enough credits |
PLATFORM_NOT_IMPLEMENTED | 501 | Platform not yet supported |
For best results, provide a transcript from the Transcription endpoint. This gives the AI full context of your video content.