Back to Documentation

API Documentation

Integrate reblogger.ai into your applications with our comprehensive REST API

API Overview

Everything you need to know about the reblogger.ai API

Base URL: https://reblogger.ai/api/v1

Authentication: Bearer Token (API Key)

Content-Type: application/json

Secure

API key authentication

Fast

Optimized for speed

Simple

Easy to integrate

Authentication

How to authenticate your API requests

All API requests require authentication using an API key. Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Getting Your API Key

  1. Sign up for an account on the platform
  2. Go to your profile page
  3. Navigate to the "API Keys" section
  4. Click "Create New Key"
  5. Copy the key (it's only shown once!)

Available Models

Complete list of AI models available for article generation

Text Generation Models

Cost-Effective Models

ModelProviderInput/Output ($/1M)ContextFeatures
gpt-5-nanoopenai$0.05/$0.4Unlimited
System
gpt-4.1-nanoopenai$0.1/$0.48K
System
Stream
gpt-4o-miniopenai$0.15/$0.616K
System
Stream
claude-3-5-haiku-latestclaude$0.8/$48K
System
Stream
grok-3-minigrok$0.3/$0.54K
Stream

Mid-Range Models

ModelProviderInput/Output ($/1M)ContextFeatures
gpt-5-miniopenai$0.25/$2Unlimited
System
gpt-4.1-miniopenai$0.4/$1.68K
System
Stream
grok-4-fast-reasoninggrok$0.2/$0.54K
Stream
grok-4-fast-non-reasoninggrok$0.2/$0.54K
Stream
claude-sonnet-4-5claude$3/$154K
System
Stream
claude-sonnet-4-0claude$3/$154K
System
Stream
claude-3-7-sonnet-latestclaude$3/$154K
System
Stream

Premium Models

ModelProviderInput/Output ($/1M)ContextFeatures
gpt-5openai$1.25/$10Unlimited
System
gpt-4.1openai$2/$84K
System
Stream
gpt-4oopenai$2.5/$104K
System
Stream
grok-3grok$3/$154K
Stream
claude-opus-4-1claude$15/$754K
System
Stream
claude-opus-4-0claude$15/$754K
System
Stream

Image Generation Models

ModelProviderDescription
gpt-image-1openaiOpenAI image generation model (text-to-image)
gpt-image-1-miniopenaiOpenAI lighter image model
dall-e-3openaiOpenAI image generation model
black-forest-labs/flux-schnellreplicateFast Flux model
black-forest-labs/flux-devreplicateHigher quality Flux Dev model
black-forest-labs/flux-1.1-pro-ultrareplicateFlux high-end model (Pro Ultra)
black-forest-labs/flux-1.1-proreplicateFlux Pro
google/nano-bananareplicateGoogle image model
bytedance/seedream-4replicateByteDance image model

💡 Tips

  • Cost-Effective: Best for high-volume, budget-conscious workflows
  • Mid-Range: Balanced performance and cost for most use cases
  • Premium: Maximum quality for high-value content
  • Default: gpt-5-nano gpt-5-nano for text and black-forest-labs/flux-schnell for images

Generate Article (Async API)

Create new articles using the async API - no timeouts, real-time progress tracking

Endpoint: POST /api/v1/generate

Description: Generate a new article using AI (asynchronous processing)

Response: Returns immediately with job ID for progress tracking

🚀 Async Benefits

  • No Timeouts: Long generations (5-10+ minutes) won't timeout
  • Real-time Progress: Track exactly what's happening with detailed steps
  • Non-blocking: Start multiple generations simultaneously
  • Resilient: Resume polling if connection drops
  • Better UX: Users get immediate feedback and can track progress

Request Parameters

ParameterTypeRequiredDescription
topicstringNo*Article topic (required if source_url not provided)
source_urlstringNo*URL to extract content from (required if topic not provided)
modelstringNoAI model to use (default: gpt-5-nano)
languagestringNoLanguage code (en, de, fr, es, etc.)
image_modelstringNoImage generation model

* Either topic or source_url is required

Example Request

curl -X POST "https://reblogger.ai/api/v1/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "topic": "The Future of Artificial Intelligence",
    "model": "gpt-5-nano",
    "language": "en",
    "image_model": "dall-e-3"
  }'

Example Response (Immediate)

{
  "success": true,
  "jobId": "clx123abc456def",
  "articleId": "clx789ghi012jkl",
  "status": "pending",
  "message": "Article generation started. Use the job ID to check progress and get results."
}

Polling for Results

Use the job ID to check progress and get the final article:

GET /api/v1/job/clx123abc456def

// Response while processing:
{
  "success": true,
  "job": {
    "jobId": "clx123abc456def",
    "status": "processing",
    "progress": 45,
    "currentStep": "Generating article sections...",
    "totalSteps": 4,
    "createdAt": "2024-01-17T14:48:56Z",
    "updatedAt": "2024-01-17T14:49:12Z"
  }
}

// Response when completed:
{
  "success": true,
  "job": {
    "jobId": "clx123abc456def",
    "status": "completed",
    "progress": 100,
    "currentStep": "Generation completed",
    "completedAt": "2024-01-17T14:50:23Z",
    "result": {
      "article": {
        "title": "The Future of Artificial Intelligence: A Comprehensive Guide",
        "content": "<h1>The Future of Artificial Intelligence</h1><p>...</p>",
        "wordCount": 2500,
        "metaDescription": "Explore the future of AI...",
        "coverImageUrl": "https://example.com/cover.jpg"
      },
      "cost": {
        "prompt": 0.15,
        "completion": 0.45,
        "total": 0.60
      },
      "outline": { /* article structure */ },
      "images": [ /* generated images */ ]
    }
  }
}

Error Handling

Understanding API errors and how to handle them

400 Bad Request

Invalid parameters or missing required fields

{
  "error": "Either topic or source_url is required"
}

401 Unauthorized

Invalid or missing API key

{
  "error": "Invalid or missing API key"
}

Code Examples

Integration examples in multiple programming languages

// Start async generation
const response = await fetch('https://reblogger.ai/api/v1/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    topic: 'The Future of AI',
    model: 'gpt-5-nano',
    language: 'en',
    image_model: 'black-forest-labs/flux-schnell'
  })
});

const { jobId, articleId } = await response.json();
console.log('Job started:', jobId);

// Poll for progress
const pollJob = async () => {
  const statusResponse = await fetch(`https://reblogger.ai/api/v1/job/${jobId}`, {
    headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
  });
  
  const status = await statusResponse.json();
  console.log('Progress:', status.job.progress + '%', status.job.currentStep);
  
  if (status.job.status === 'completed') {
    console.log('Article ready:', status.job.result.article.title);
    return status.job.result;
  } else if (status.job.status === 'failed') {
    console.error('Generation failed:', status.job.error);
    return null;
  } else {
    // Still processing, poll again in 5 seconds
    setTimeout(pollJob, 5000);
  }
};

pollJob();

Article Generation Limits

Monthly article generation limits based on your subscription plan

Free

Perfect for trying out AI content generation

4 articles/month

Topic-based only

Basic AI models

Starter

Perfect for individual bloggers and content creators

25 articles/month

Topic-based only

Basic AI models

Professional

Ideal for growing businesses and content teams

60 articles/month

Topic-based, Source-based (WordPress, Medium, etc.)

All AI models
API access

Enterprise

For large teams and agencies with high content needs

Unlimited articles

Topic-based, Source-based (WordPress, Medium, etc.)

All AI models
API access
Dedicated support
    API Documentation - reblogger.ai | reblogger.ai