Article API - AI-Powered Content Generation & Validation

Generate SEO-optimized articles from briefs and validate content quality with AI-powered analysis. Perfect for content marketing, blog automation, and editorial workflows.

What can you do?
AI Article Generation

Create publication-ready articles from a brief description.

Quality Validation

Analyze articles for readability, grammar, structure, and SEO compliance.

SEO Optimization

Generate content optimized for search engines and AI search platforms.

99.9 % Uptime
8302ms Response
20 req/s
10 Credits / request

Generate Article

Generate a complete, publication-ready article from a brief description. Supports multiple formats, writing tones, SEO optimization, and human-like writing levels.

POST https://api.yeb.to/v1/article/generate
Parameter Type Req. Description
api_key string yes Authentication key
brief string yes Description of the article to generate (max 250 words)
title string opt Article title (auto-generated if empty)
format string opt Output format: markdown, html, json, plain_text
Default: markdown
length integer opt Target word count (100-10000)
Default: 1500
niche string opt Topic niche: technology, marketing, lifestyle, finance, health, business, general
tone string opt Writing tone: neutral, formal, casual, professional, friendly, authoritative, conversational
style string opt Writing style: first_person, third_person, commentary, article, opinion, guide, tutorial
optimization string opt SEO focus: seo, ai_search, both, none
Default: both
keywords object opt Keyword hints:
{"whitelist":["keyword1"], "blacklist":["avoid"], "neutral":["optional"]}
Keywords are hints, not strict requirements
allowed_elements object opt HTML/Markdown elements to use:
{"h2":true, "h3":true, "bullets":true, "bold":true, "italic":true}
human_like string opt Human-like writing level: low, medium, high
Default: high
temperature float opt AI creativity (0.0-2.0)
Default: 0.7
top_p float opt Diversity control (0.0-1.0)
Default: 0.9
presence_penalty float opt Topic repetition penalty (-2.0 to 2.0)
Default: 0.6
frequency_penalty float opt Word repetition penalty (-2.0 to 2.0)
Default: 0.5

Request Examples

Example 1: Basic article generation
{
  "api_key": "YOUR_KEY",
  "brief": "Write about the benefits of remote work for software developers",
  "length": 1500
}
Example 2: SEO-optimized blog post
{
  "api_key": "YOUR_KEY",
  "brief": "Complete guide to container orchestration with Kubernetes",
  "title": "Kubernetes 101: From Zero to Production",
  "format": "markdown",
  "length": 3000,
  "niche": "technology",
  "tone": "professional",
  "style": "tutorial",
  "optimization": "seo",
  "keywords": {
    "whitelist": ["Kubernetes", "container orchestration", "DevOps"],
    "blacklist": ["deprecated", "legacy"]
  }
}
Example 3: Casual lifestyle article
{
  "api_key": "YOUR_KEY",
  "brief": "Tips for maintaining work-life balance while working from home",
  "format": "html",
  "length": 1200,
  "niche": "lifestyle",
  "tone": "friendly",
  "style": "first_person",
  "human_like": "high"
}
Example 4: All parameters
{
  "api_key": "YOUR_KEY",
  "brief": "In-depth analysis of AI impact on content marketing",
  "title": "AI in Content Marketing: A 2025 Perspective",
  "format": "markdown",
  "length": 2500,
  "niche": "marketing",
  "tone": "authoritative",
  "style": "article",
  "optimization": "both",
  "keywords": {
    "whitelist": ["AI content", "marketing automation"],
    "blacklist": ["spam", "clickbait"],
    "neutral": ["digital marketing", "ROI"]
  },
  "allowed_elements": {
    "h2": true,
    "h3": true,
    "bullets": true,
    "bold": true,
    "italic": true
  },
  "temperature": 0.7,
  "top_p": 0.9,
  "presence_penalty": 0.6,
  "frequency_penalty": 0.5,
  "human_like": "high"
}

API Integrations

curl -X POST https://api.yeb.to/v1/article/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "brief": "Write about cloud cost optimization strategies",
    "length": 2000,
    "niche": "technology",
    "tone": "professional",
    "optimization": "seo"
  }'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/article/generate', [
    'brief' => 'Write about cloud cost optimization strategies',
    'length' => 2000,
    'niche' => 'technology',
    'tone' => 'professional',
    'optimization' => 'seo',
    'keywords' => [
        'whitelist' => ['cloud costs', 'AWS', 'optimization']
    ]
]);

$article = $response->json()['article'];
echo $article['title'];
echo $article['content'];
fetch('https://api.yeb.to/v1/article/generate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({
    brief: 'Write about cloud cost optimization strategies',
    length: 2000,
    niche: 'technology',
    tone: 'professional',
    optimization: 'seo'
  })
})
.then(r => r.json())
.then(data => {
  console.log(data.article.title);
  console.log(data.article.content);
});
import requests

response = requests.post(
    'https://api.yeb.to/v1/article/generate',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={
        'brief': 'Write about cloud cost optimization strategies',
        'length': 2000,
        'niche': 'technology',
        'tone': 'professional',
        'optimization': 'seo',
        'keywords': {
            'whitelist': ['cloud costs', 'AWS', 'optimization']
        }
    }
)
article = response.json()['article']
print(article['title'])
print(article['content'])

Response Example

{
  "article": {
    "title": "Cloud Cost Optimization: A Complete Guide",
    "content": "# Cloud Cost Optimization\n\n## Introduction\n\nCloud computing has revolutionized...",
    "format": "markdown",
    "word_count": 2034,
    "reading_time_minutes": 8
  },
  "response_code": 200,
  "response_time_ms": 15234
}
{
  "error": "brief is required",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 12
}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.
Quick Reference
Output Formats:
  • markdown - Default, with # headings
  • html - Full HTML with tags
  • json - Structured JSON output
  • plain_text - No formatting
Writing Tones:
  • neutral - Balanced, objective
  • formal - Academic, professional
  • casual - Relaxed, conversational
  • professional - Business-appropriate
  • friendly - Warm, approachable
  • authoritative - Expert, confident
Niches:
  • technology, marketing
  • lifestyle, finance
  • health, business
  • general (default)

Generate Article

article-generate 10.0000 credits

Parameters

API Key
body · string · required
Brief
body · string · required
Title
body · string
Format
body · string
Length
body · string
Niche
body · string
Tone
body · string
Style
body · string
Temperature
body · string
Optimization
body · string
Keywords
body · string
Allowed Elements
body · string
Presence Penalty
body · string
Frequency Penalty
body · string
Human-Like
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Validate Article

Validate an article for quality, readability, grammar, structure, and compliance with requirements. Returns detailed scores and actionable recommendations.

POST https://api.yeb.to/v1/article/validate
Parameter Type Req. Description
api_key string yes Authentication key
article_content string yes The article text to validate
details object opt Validation criteria object:
requirements - specific requirements to check
expected_length - target word count
format - expected format (markdown/html)
niche - topic niche
tone - expected tone
style - expected style
optimization - SEO requirements
keywords - keyword requirements
allowed_elements - formatting requirements

Request Examples

Example 1: Basic validation
{
  "api_key": "YOUR_KEY",
  "article_content": "# Cloud Computing Benefits\n\nCloud computing has revolutionized the way businesses operate..."
}
Example 2: Validation with niche and length requirements
{
  "api_key": "YOUR_KEY",
  "article_content": "# Cloud Computing Benefits\n\nCloud computing has revolutionized...",
  "details": {
    "niche": "technology",
    "expected_length": 1500,
    "tone": "professional"
  }
}
Example 3: Full validation with all criteria
{
  "api_key": "YOUR_KEY",
  "article_content": "# Cloud Computing Benefits\n\nCloud computing has revolutionized...",
  "details": {
    "requirements": "Must cover cost savings, scalability, and security",
    "expected_length": 2000,
    "format": "markdown",
    "niche": "technology",
    "tone": "professional",
    "style": "guide",
    "optimization": "seo",
    "keywords": {
      "whitelist": ["cloud computing", "scalability", "cost savings"],
      "blacklist": ["outdated", "legacy"]
    },
    "allowed_elements": {
      "h2": true,
      "h3": true,
      "bullets": true
    }
  }
}

API Integrations

curl -X POST https://api.yeb.to/v1/article/validate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "article_content": "# My Article\n\nThis is the content...",
    "details": {
      "niche": "technology",
      "expected_length": 1500
    }
  }'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/article/validate', [
    'article_content' => $articleText,
    'details' => [
        'niche' => 'technology',
        'expected_length' => 1500,
        'tone' => 'professional',
        'keywords' => [
            'whitelist' => ['cloud', 'scalability']
        ]
    ]
]);

$validation = $response->json();

if ($validation['validation_passed']) {
    echo "Article passed validation!";
    echo "Quality score: " . $validation['overall_quality_rate'];
} else {
    echo "Issues found:";
    foreach ($validation['issues'] as $issue) {
        echo "- " . $issue;
    }
}
fetch('https://api.yeb.to/v1/article/validate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({
    article_content: articleText,
    details: {
      niche: 'technology',
      expected_length: 1500,
      tone: 'professional'
    }
  })
})
.then(r => r.json())
.then(data => {
  console.log('Quality:', data.overall_quality_rate);
  console.log('Passed:', data.validation_passed);
  console.log('Recommendations:', data.recommendations);
});
import requests

response = requests.post(
    'https://api.yeb.to/v1/article/validate',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={
        'article_content': article_text,
        'details': {
            'niche': 'technology',
            'expected_length': 1500,
            'tone': 'professional',
            'keywords': {
                'whitelist': ['cloud', 'scalability']
            }
        }
    }
)

validation = response.json()
print(f"Quality: {validation['overall_quality_rate']}")
print(f"Passed: {validation['validation_passed']}")

for rec in validation['recommendations']:
    print(f"- {rec}")

Response Example

{
  "overall_quality_rate": 0.85,
  "sensitive_rate": 0.05,
  "spam_score_rate": 0.12,
  "validation_passed": true,
  "scores": {
    "readability": 0.88,
    "grammar": 0.95,
    "structure": 0.82,
    "keyword_usage": 0.78,
    "originality": 0.90
  },
  "issues": [],
  "recommendations": [
    "Consider adding more H2 headings",
    "Increase keyword variations"
  ],
  "response_code": 200,
  "response_time_ms": 2340
}
{
  "error": "article_content is required",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 8
}

Response Codes

CodeDescription
200 SuccessRequest processed OK.
400 Bad RequestInput validation failed.
401 UnauthorizedMissing / wrong API key.
403 ForbiddenKey inactive or not allowed.
429 Rate LimitToo many requests.
500 Server ErrorUnexpected failure.
Score Reference
Overall Scores (0.0 - 1.0):
  • overall_quality_rate - Combined quality
  • sensitive_rate - Sensitive content level
  • spam_score_rate - Spam-like content
Detailed Scores:
  • readability - Ease of reading
  • grammar - Grammar correctness
  • structure - Article structure
  • keyword_usage - Keyword optimization
  • originality - Content uniqueness
Interpretation:
  • 0.9+ - Excellent
  • 0.7-0.9 - Good
  • 0.5-0.7 - Needs improvement
  • <0.5 - Poor quality
Common Use Cases
  • Pre-publish QA: Validate before publishing
  • Content audit: Review existing articles
  • Freelancer review: Check submitted content
  • SEO compliance: Verify keyword usage

Validate Article

article-validate 5.0000 credits

Parameters

API Key
body · string · required
Article Content
body · string · required
Details
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Article API - AI-Powered Content Generation & Validation — Practical Guide

A comprehensive guide to the Article API: generate high-quality, SEO-optimized articles using AI and validate existing content for quality, readability, and compliance. Perfect for content platforms, marketing automation, blog management, and editorial workflows.

#What Article API solves

The Article API provides 2 powerful endpoints for AI-powered content creation and validation: generate complete, SEO-optimized articles from a brief, and validate existing content for quality metrics. Supports multiple output formats, writing tones and styles, keyword optimization, and human-like writing levels. Perfect for content marketing, blog automation, editorial workflows, and quality assurance.

#Available endpoints

#POST /v1/article/generate

  • Best for: Creating complete, publication-ready articles from a brief description
  • Use case: Blog posts, marketing content, SEO articles, guides, tutorials

#POST /v1/article/validate

  • Best for: Evaluating article quality, readability, and compliance with requirements
  • Use case: Quality assurance, editorial review, content auditing, compliance checking

#Quick start

# Generate a simple article
curl -X POST "https://api.yeb.to/v1/article/generate" \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "brief": "Write about the benefits of remote work for software developers",
    "length": 1500
  }'
# Generate with full customization
curl -X POST "https://api.yeb.to/v1/article/generate" \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "brief": "Complete guide to container orchestration with Kubernetes",
    "title": "Kubernetes 101: From Zero to Production",
    "format": "markdown",
    "length": 3000,
    "niche": "technology",
    "tone": "professional",
    "style": "tutorial",
    "optimization": "both",
    "human_like": "high"
  }'
# Validate an article
curl -X POST "https://api.yeb.to/v1/article/validate" \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "article_content": "Your article text here...",
    "details": {
      "niche": "technology",
      "expected_length": 1500
    }
  }'

#Key parameters explained

#Generate endpoint parameters

ParamTypeDefaultDescription
brief string Required Description of the article to generate (max 250 words)
title string Auto-generated Article title (if empty, AI generates one)
format string markdown Output: markdown, html, json, plain_text
length integer 1500 Target word count (100-10000)
niche string general Topic: technology, marketing, lifestyle, finance, health, business
tone string neutral Voice: neutral, formal, casual, professional, friendly, authoritative
style string article Format: first_person, third_person, commentary, article, opinion, guide, tutorial
optimization string both SEO focus: seo, ai_search, both, none
keywords object null Keyword config: {"whitelist":[], "blacklist":[], "neutral":[]}
human_like string high Human writing level: low, medium, high
temperature float 0.7 AI creativity (0.0-2.0)

#Validate endpoint parameters

ParamTypeDefaultDescription
article_content string Required The article text to validate
details object null Validation criteria (niche, expected_length, format, tone, style, etc.)

#Reading & handling responses

#Generate response

{
  "article": {
    "title": "The Complete Guide to Remote Work for Developers",
    "content": "# The Complete Guide to Remote Work...\n\n## Introduction\n...",
    "format": "markdown",
    "word_count": 1523,
    "reading_time_minutes": 6
  },
  "response_code": 200,
  "response_time_ms": 12456
}

#Validate response

{
  "overall_quality_rate": 0.85,
  "sensitive_rate": 0.05,
  "spam_score_rate": 0.12,
  "validation_passed": true,
  "scores": {
    "readability": 0.88,
    "grammar": 0.95,
    "structure": 0.82,
    "keyword_usage": 0.78,
    "originality": 0.90
  },
  "issues": [],
  "recommendations": [
    "Consider adding more H2 headings for better structure",
    "Increase keyword variations for better SEO"
  ],
  "response_code": 200,
  "response_time_ms": 2340
}

#Error responses

{ "error": "brief is required", "code": 422, "response_code": 422 }
{ "error": "Invalid API key", "code": 401, "response_code": 401 }
  • 401: Invalid or missing API key
  • 402: Insufficient credits
  • 422: Missing required parameters or invalid format
  • 429: Rate limit exceeded
  • 500: Server error (retry with exponential backoff)

#Real-world use cases

#Automated blog content

Challenge: Generate SEO-optimized blog posts at scale
Solution: Use generate with keywords and optimization settings

POST /v1/article/generate
{
  "brief": "Write about cloud cost optimization strategies",
  "niche": "technology",
  "tone": "professional",
  "style": "guide",
  "optimization": "seo",
  "keywords": {
    "whitelist": ["cloud costs", "AWS", "cost optimization"],
    "blacklist": ["cheap", "free trial"]
  },
  "length": 2000
}

#Editorial quality assurance

Challenge: Review articles before publication
Solution: Validate content quality and compliance

// Generate article
POST /v1/article/generate {...}

// Validate before publishing
POST /v1/article/validate {
  "article_content": "Generated article content...",
  "details": {
    "niche": "technology",
    "expected_length": 2000,
    "tone": "professional"
  }
}

// Check validation_passed before publishing

#Best practices

  1. Write detailed briefs: More context = better articles. Include key points to cover.
  2. Use appropriate lengths: 1000-2000 words for blog posts, 2500-5000 for guides
  3. Match tone to audience: Professional for B2B, casual for consumer content
  4. Validate before publishing: Use the validate endpoint for quality assurance
  5. Leverage keywords wisely: Whitelist for must-include, blacklist for brand safety
  6. Set human_like to high: For content that needs to pass AI detection
  7. Handle long responses: Generation can take 10-30 seconds for long articles

#API Changelog

2025-01-21
v1.0 Launch: Article API released with generate and validate endpoints. Support for multiple formats, tones, styles, and SEO optimization.

Frequently Asked Questions

Our API uses advanced language models, producing high-quality, human-like content suitable for professional publishing.

You can generate articles from 100 to 10,000 words. The default is 1,500 words, optimal for blog posts and SEO content.

We support Markdown (default), HTML, JSON structured format, and plain text output.

Validation analyzes readability, grammar, structure, keyword usage, originality, spam score, and sensitive content detection.

Yes. Every request, even those resulting in errors, consumes credits. This is because your credits are tied to the number of requests, regardless of success or failure. If the error is clearly due to a platform problem on our end, we will restore the affected credits (no cash refunds).

Contact us at [email protected]. We take feedback seriously—if your bug report or feature request is meaningful, we can fix or improve the API quickly and grant you 50 free credits as a thank you.

It depends on the API and sometimes even on the endpoint. Some endpoints use data from external sources, which may have stricter limits. We also enforce limits to prevent abuse and keep our platform stable. Check the docs for the specific rate limit for each endpoint.

We operate on a credit system. Credits are prepaid, non-refundable units you spend on API calls and tools. Credits are consumed FIFO (oldest first) and are valid for 12 months from the purchase date. The dashboard shows each purchase date and its expiry.

Yes. All purchased credits (including fractional balances) are valid for 12 months from purchase. Unused credits automatically expire and are permanently deleted at the end of the validity period. Expired credits cannot be restored or converted to cash or other value. Transitional rule: credits bought before 22 Sep 2025 are treated as purchased on 22 Sep 2025 and expire on 22 Sep 2026 (unless an earlier expiry was stated at purchase).

Yes—within their validity window. Unused credits remain available and roll over month-to-month until they expire 12 months after purchase.

Credits are non-refundable. Only buy what you need—you can always top up later. If a platform-side error causes a failed charge, we may restore the affected credits after investigation. No cash refunds.

Prices are set in credits, not dollars. Each endpoint lists its own cost—see the “Credits / request” badge above. You’ll always know exactly what you’re spending.
← Back to APIs