Options and post meta reference
Updated September 15, 2026
This reference lists everything AI Text to Speech 3.2.0 stores: WordPress options, post meta keys, files on disk, and the AJAX and admin-post actions it registers. Use it for migrations, custom queries, debugging or cleaning up after removing the plugin. The plugin doesn’t create custom database tables and has no uninstall routine, so this data stays until you remove it.
Options
| Option | Contents |
|---|---|
ai_tts_settings | Array of all settings (voice model, player label, storage location, content, automation, player and permission options, Dropbox token expiry, error log). |
ai_tts_api_key | OpenAI API secret key. |
ai_tts_custom_pronunciations | Array of word / pronunciation pairs (PRO). |
ai_tts_api_request_log | Last 50 API request log entries, newest first. |
ai_tts_admin_generated_files | Last 50 Generator page files: id, URL, file name, storage, date, model, voice, style. |
ai_tts_dropbox_access_token, ai_tts_dropbox_refresh_token | Dropbox OAuth tokens (PRO). |
ai_tts_do_activation_redirect | Temporary flag for the redirect after activation. |
A transient named ai_tts_dropbox_oauth_state_{user_id} is set for 10 minutes while connecting Dropbox.
Post meta
| Meta key | Contents |
|---|---|
ai_tts_file_url | URL of the post’s audio file. Its presence is what shows the player. |
ai_tts_location | local, dropbox, wp_media or external. |
ai_tts_generated_at | Generation date and time (site time, MySQL format). |
ai_tts_file_name | File name, stored for non-local storage. |
ai_tts_attachment_id | Media Library attachment ID when a file was chosen from the Media Library. |
ai_tts_dropbox_file_path | Path of the file in Dropbox (PRO). |
ai_tts_stats | JSON: date, view_count, play_count, play_time (PRO). |
ai_tts_stats_daily | JSON keyed by Y-m-d for the last 7 days, each with view, play and play time counts (PRO). |
Deleting a post’s audio removes the file meta but keeps ai_tts_stats and ai_tts_stats_daily.
Files
Local audio is saved to WP_CONTENT_DIR . '/uploads/ai-text-to-speech/' (the constant AI_TTS_UPLOAD_DIR). This path is fixed and doesn’t follow a custom uploads location set with UPLOADS or the upload_dir filter. File names are:
- Posts:
post-{ID}-{2 random characters}-{first 10 words of the title slug}.mp3 - Generator page:
admin-{10 random characters}.mp3
AJAX and admin-post actions
| Action | Access | Purpose |
|---|---|---|
generate_tts | Logged in, nonce ai_tts_nonce | Generate audio for a post or Generator text. |
delete_tts | Logged in, nonce ai_tts_nonce | Delete a post’s audio. |
set_tts_file | Logged in, nonce ai_tts_nonce | Attach a Media Library or external audio URL. |
increment_play_count | Public, nonce ai-tts-nonce | Record a play (PRO). |
refresh_stats | Logged in, nonce ai-tts-nonce | Delete a post’s statistics (PRO). |
start_dropbox_oauth_process, aitts_dropbox_callback, disconnect_dropbox | Administrators (admin-post.php) | Dropbox connection flow (PRO). |
Remove all plugin data
Back up your database first. With WP-CLI:
wp option delete ai_tts_settings ai_tts_api_key ai_tts_custom_pronunciations ai_tts_api_request_log ai_tts_admin_generated_files ai_tts_dropbox_access_token ai_tts_dropbox_refresh_token
wp db query "DELETE FROM $(wp db prefix)postmeta WHERE meta_key LIKE 'ai_tts_%'"
rm -rf wp-content/uploads/ai-text-to-speech
Delete audio stored in Dropbox from your Dropbox app folder separately.


