Blippinz AI SEO is a lightweight WordPress plugin that bridges your external AI content generation service with your WordPress site. It registers a secure, configurable REST API endpoint that accepts AI-generated articles — including HTML content, titles, and featured images — and creates them as WordPress posts automatically.
This plugin was built for the Blippinz platform, which uses artificial intelligence to generate SEO-optimised articles. Instead of manually copying content from an AI tool into WordPress, Blippinz AI SEO handles the entire publish flow: receive content upload image set featured image create post go live.
How it works:
/wp-json/blipaise/v1/addPostKey Features:
multipart/form-data.sanitize_text_field, wp_kses_post, sanitize_key, absint, sanitize_file_name).wp_check_filetype_and_ext, not just the filename or client-reported type.blippinz-ai-seo text domain and are ready for translation.After activation, go to Settings Blippinz AI SEO to configure:
Blippinz API Key
The secret key that must be included in every request to the addPost endpoint. Use a long, random string (e.g. a UUID or 32-character random hex string). This key is stored in the WordPress options table and is never exposed in the front-end.
Max Upload Size (MB)
Maximum file size allowed for image uploads via this plugin. Range: 1–50 MB. The effective limit is also capped by your server’s PHP upload_max_filesize setting.
Allowed File Types
Choose which MIME types are accepted for image uploads. Available options: JPEG, PNG, GIF, WEBP, PDF.
https://yoursite.com/wp-json/blipaise/v1
All requests to the addPost endpoint must be authenticated. There are two methods:
Method 1 — HTTP Header (recommended):
X-BLIPAISE-KEY: your-secret-api-key
Method 2 — Query parameter:
?api_key=your-secret-api-key
Requests with a missing, empty, or incorrect key will receive a 401 Unauthorized response.
WordPress administrators logged in via cookie/nonce (e.g. from the WP admin) can also call the endpoint without an API key, provided they have the edit_posts capability.
GET /status
Returns the plugin status. Requires edit_posts capability (logged-in WordPress users only).
Response:
{
"status": "ok",
"plugin": "blippinz-ai-seo",
"version": "1.0.0"
}
POST /addPost
Creates a new WordPress post. Accepts JSON or multipart/form-data.
Request Headers:
Content-Type: application/json
X-BLIPAISE-KEY: your-secret-api-key
JSON Body Parameters:
Field
Type
Required
Description
title
string
Yes
The post title. Sanitised with sanitize_text_field.
content
string
Yes
The post body. Full HTML is accepted and sanitised with wp_kses_post.
status
string
No
Post status. One of: publish, draft, pending, private. Defaults to publish.
featured_media
integer
No
The attachment ID of an existing media library item to use as the featured image.
image_data
string
No
A base64-encoded image to upload and set as the featured image. May include a data URI prefix (e.g. data:image/jpeg;base64,...).
image_mime
string
No
The MIME type of the image_data image. Defaults to image/jpeg. Must be in your configured allowlist.
Example request (JSON with base64 image):
curl -X POST "https://yoursite.com/wp-json/blipaise/v1/addPost" \
-H "Content-Type: application/json" \
-H "X-BLIPAISE-KEY: your-secret-api-key" \
-d '{
"title": "10 SEO Tips That Actually Work in 2024",
"content": "<h2>Introduction</h2><p>Search engine optimisation has changed...</p>",
"status": "publish",
"image_data": "/9j/4AAQSkZJRgABAQAAAQABAAD...",
"image_mime": "image/jpeg"
}'
Example request (multipart file upload):
curl -X POST "https://yoursite.com/wp-json/blipaise/v1/addPost" \
-H "X-BLIPAISE-KEY: your-secret-api-key" \
-F "title=My Article" \
-F "content=<p>Body content here.</p>" \
-F "status=publish" \
-F "file=@/path/to/image.jpg"
Success Response (200 OK):
{
"status": "ok",
"plugin": "blippinz-ai-seo",
"version": "1.0.0",
"post_id": 42,
"link": "https://yoursite.com/10-seo-tips-that-actually-work-in-2024/",
"uploaded_media_id": 17,
"uploaded_media_url": "https://yoursite.com/wp-content/uploads/2024/06/blipaise-20240622-120000.jpg"
}
Error Responses:
HTTP Code
Error Code
Cause
400
blipaise_invalid_payload
Request body is empty or not valid JSON
400
blipaise_missing_fields
title or content is empty
400
blipaise_invalid_file_type
Uploaded file MIME type is not in the allowlist
400
blipaise_file_too_large
Uploaded file exceeds the configured size limit
400
blipaise_invalid_image_data
image_data is not valid base64 content
400
blipaise_upload_failed
WordPress file system error during upload
401
—
Missing or incorrect API key