API Article - Génération et validation de contenu par IA

Générez des articles optimisés SEO à partir de briefs et validez la qualité du contenu avec une analyse alimentée par l'IA. Parfait pour le marketing de contenu, l'automatisation de blogs et les workflows éditoriaux.

Que pouvez-vous faire ?
Génération d'articles par IA

Créez des articles prêts à publier à partir d'une brève description.

Validation de qualité

Analysez les articles pour la lisibilité, la grammaire, la structure et la conformité SEO.

Optimisation SEO

Générez du contenu optimisé pour les moteurs de recherche et les plateformes de recherche IA.

99.9 % Disponibilité
8302ms Réponse
20 req/s
10 Crédits / requête

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
Paramètre Type Req. Description
api_key string oui Authentication key
brief string oui 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

Exemples de requêtes

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"
}

Intégrations API

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
}

Codes de réponse

CodeDescription
200 SuccessRequête traitée avec succès.
400 Bad RequestValidation d'entrée échouée.
401 UnauthorizedClé API manquante ou incorrecte.
403 ForbiddenClé inactive ou non autorisée.
429 Rate LimitTrop de requêtes.
500 Server ErrorErreur inattendue.
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
Paramètre Type Req. Description
api_key string oui Authentication key
article_content string oui 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

Exemples de requêtes

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
    }
  }
}

Intégrations API

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
}

Codes de réponse

CodeDescription
200 SuccessRequête traitée avec succès.
400 Bad RequestValidation d'entrée échouée.
401 UnauthorizedClé API manquante ou incorrecte.
403 ForbiddenClé inactive ou non autorisée.
429 Rate LimitTrop de requêtes.
500 Server ErrorErreur inattendue.
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

                

API Article - Génération et validation de contenu par IA — 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.

Questions fréquemment posées

Notre API utilise des modèles de langage avancés, produisant un contenu de haute qualité, semblable à l'écriture humaine, adapté à la publication professionnelle.

Vous pouvez générer des articles de 100 à 10 000 mots. La valeur par défaut est 1 500 mots, optimale pour les articles de blog et le contenu SEO.

Nous prenons en charge Markdown (par défaut), HTML, le format JSON structuré et le texte brut.

La validation analyse la lisibilité, la grammaire, la structure, l'utilisation des mots-clés, l'originalité, le score de spam et la détection de contenu sensible.

Oui. Chaque requête, même celles qui entraînent des erreurs, consomme des crédits. Vos crédits sont liés au nombre de requêtes, indépendamment du succès ou de l'échec. Si l'erreur est clairement due à un problème de plateforme de notre côté, nous restaurerons les crédits affectés (pas de remboursement en espèces).

Contactez-nous à [email protected]. Nous prenons les retours au sérieux—si votre rapport de bug ou demande de fonctionnalité est pertinent, nous pouvons corriger ou améliorer l'API rapidement et vous accorder 50 crédits gratuits en guise de remerciement.

Cela dépend de l'API et parfois même du endpoint. Certains endpoints utilisent des données de sources externes, qui peuvent avoir des limites plus strictes. Nous imposons également des limites pour prévenir les abus et maintenir la stabilité de notre plateforme. Consultez la documentation pour la limite spécifique de chaque endpoint.

Nous fonctionnons avec un système de crédits. Les crédits sont des unités prépayées et non remboursables que vous dépensez pour les appels API et les outils. Les crédits sont consommés en FIFO (les plus anciens en premier) et sont valables 12 mois à compter de la date d'achat. Le tableau de bord affiche chaque date d'achat et son expiration.

Oui. Tous les crédits achetés (y compris les soldes fractionnaires) sont valables 12 mois à compter de l'achat. Les crédits inutilisés expirent automatiquement et sont définitivement supprimés à la fin de la période de validité. Les crédits expirés ne peuvent être restaurés ni convertis en espèces ou autre valeur. Règle transitoire : les crédits achetés avant le 22 sept. 2025 sont traités comme achetés le 22 sept. 2025 et expirent le 22 sept. 2026 (sauf si une expiration antérieure a été indiquée lors de l'achat).

Oui—dans leur période de validité. Les crédits inutilisés restent disponibles et sont reportés de mois en mois jusqu'à leur expiration 12 mois après l'achat.

Les crédits sont non remboursables. N'achetez que ce dont vous avez besoin—vous pouvez toujours recharger plus tard. Si une erreur de plateforme cause un échec de facturation, nous pouvons restaurer les crédits affectés après enquête. Pas de remboursement en espèces.

Les prix sont fixés en crédits, pas en dollars. Chaque endpoint a son propre coût—voir le badge « Crédits / requête » ci-dessus. Vous saurez toujours exactement ce que vous dépensez.
← Retour aux APIs