{"id":341713,"date":"2026-07-24T11:13:17","date_gmt":"2026-07-24T11:13:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vbee-aivoice-text-to-speech\/"},"modified":"2026-07-24T11:12:54","modified_gmt":"2026-07-24T11:12:54","slug":"vbee-aivoice-text-to-speech","status":"publish","type":"plugin","link":"https:\/\/kin.wordpress.org\/plugins\/vbee-aivoice-text-to-speech\/","author":23532881,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.8","stable_tag":"2.1.8","tested":"7.0.2","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Vbee AIVoice - Text to Speech","header_author":"Vbee","header_description":"Vbee AIVoice - Text to Speech l\u00e0 c\u00f4ng c\u1ee5 chuy\u1ec3n v\u0103n b\u1ea3n th\u00e0nh gi\u1ecdng n\u00f3i chuy\u00ean nghi\u1ec7p d\u00e0nh cho website WordPress, gi\u00fap n\u1ed9i dung tr\u00ean website tr\u1edf n\u00ean sinh \u0111\u1ed9ng, d\u1ec5 ti\u1ebfp c\u1eadn v\u00e0 t\u1ed1i \u01b0u tr\u1ea3i nghi\u1ec7m cho m\u1ecdi nh\u00f3m ng\u01b0\u1eddi nghe. \u0110\u1ec3 \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 c\u00e0i \u0111\u1eb7t v\u00e0 k\u1ebft n\u1ed1i API, b\u1ea1n c\u00f3 th\u1ec3 li\u00ean h\u1ec7 tr\u1ef1c ti\u1ebfp v\u1edbi \u0111\u1ed9i ng\u0169 Vbee qua Zalo: https:\/\/zalo.me\/vbeeai, Facebook: https:\/\/www.facebook.com\/vbeeai","assets_banners_color":"","last_updated":"2026-07-24 11:12:54","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/vbee.vn\/text-to-speech","header_author_uri":"https:\/\/vbee.vn","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.8":{"tag":"2.1.8","author":"vbeeai","date":"2026-07-24 11:12:54"}},"upgrade_notice":{"2.1.8":"<p>Fixes WordPress.org pre-review issues: text domain, folder, and main file renamed to vbee-aivoice-text-to-speech; removed inline  output; added ABSPATH guards to all PHP files. If you have this plugin active, reactivate it after updating since WordPress will see it as a new plugin file. No functional changes.<\/p>","2.1.7":"<p>Fixed Plugin URI\/Author URI collision for WordPress.org submission. No functional changes.<\/p>","2.1.6":"<p>Display name changed to &quot;Vbee AIVoice - Text to Speech&quot; (word &quot;Plugin&quot; removed per WordPress.org policy). Folder, main file, and text domain are unchanged. No functional changes.<\/p>","2.1.5":"<p>Plugin renamed to &quot;Vbee AIVoice - Text to Speech&quot;; folder\/file\/text-domain changed to vbee-aivoice. If you have this plugin active, reactivate it after updating since WordPress will see it as a new plugin file. No functional changes.<\/p>","2.1.4":"<p>Plugin list description now shows the full Vietnamese copy. No functional changes.<\/p>","2.1.3":"<p>Official Terms\/Privacy URLs, updated Contributors and Support info, and slug-consistent folder\/file naming. No functional changes. Confirm this build has actually been tested on WordPress 7.0 before relying on the &quot;Tested up to&quot; value.<\/p>","2.1.2":"<p>Text domain renamed to vbee-text-to-speech for WordPress.org slug consistency. No functional changes.<\/p>","2.1.1":"<p>Adds WordPress.org-ready licensing and data-disclosure documentation. No functional changes to audio generation or tracking.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.8"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Thi\u1ebft l\u1eadp trong Plugin","2":"T\u1ea1o App-id tr\u00ean vbee.vn","3":"Qu\u1ea3n l\u00fd s\u1ea3n l\u01b0\u1ee3ng"}},"plugin_section":[],"plugin_tags":[220074,4702,16722,1449,273143],"plugin_category":[],"plugin_contributors":[273144],"plugin_business_model":[],"class_list":["post-341713","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-voice","plugin_tags-audio-player","plugin_tags-text-to-speech","plugin_tags-tts","plugin_tags-vietnamese-voice","plugin_contributors-vbeeai","plugin_committers-vbeeai"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/vbee-aivoice-text-to-speech.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Vbee AIVoice - Text to Speech l\u00e0 c\u00f4ng c\u1ee5 chuy\u1ec3n v\u0103n b\u1ea3n th\u00e0nh gi\u1ecdng n\u00f3i chuy\u00ean nghi\u1ec7p d\u00e0nh cho website WordPress, gi\u00fap n\u1ed9i dung tr\u00ean website tr\u1edf n\u00ean sinh \u0111\u1ed9ng, d\u1ec5 ti\u1ebfp c\u1eadn v\u00e0 t\u1ed1i \u01b0u tr\u1ea3i nghi\u1ec7m cho m\u1ecdi nh\u00f3m ng\u01b0\u1eddi nghe.<\/p>\n\n<p>Plugin h\u1ed7 tr\u1ee3 chuy\u1ec3n n\u1ed9i dung b\u00e0i vi\u1ebft th\u00e0nh audio th\u00f4ng qua Vbee Text-to-Speech API, l\u01b0u file audio v\u1ec1 website v\u00e0 t\u1ef1 \u0111\u1ed9ng hi\u1ec3n th\u1ecb tr\u00ecnh ph\u00e1t audio \u1edf ngo\u00e0i frontend.<\/p>\n\n<p>\u0110\u1ec3 \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 c\u00e0i \u0111\u1eb7t v\u00e0 k\u1ebft n\u1ed1i API, b\u1ea1n c\u00f3 th\u1ec3 li\u00ean h\u1ec7 tr\u1ef1c ti\u1ebfp v\u1edbi \u0111\u1ed9i ng\u0169 Vbee qua Zalo: https:\/\/zalo.me\/vbeeai, Facebook: https:\/\/www.facebook.com\/vbeeai<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Convert post content to audio with one click from the Posts list.<\/li>\n<li>Support for multiple voices per post; the frontend player lets visitors switch between them.<\/li>\n<li>Automatic frontend audio player insertion -- no shortcode required.<\/li>\n<li>Background polling and a webhook callback so audio appears as soon as it is ready.<\/li>\n<li>\"Ki\u1ec3m tra l\u1ea1i\" (check again) action and detailed error information if a conversion fails.<\/li>\n<li>Bulk create and bulk delete audio from the Posts list.<\/li>\n<li>Locally-hosted mp3 files stored in wp-content\/uploads\/vbee-audios\/.<\/li>\n<\/ul>\n\n<p>This plugin connects to the Vbee Text-to-Speech API, a third-party service operated by Vbee, to perform the actual text-to-speech conversion. See \"External Service\" below for full details of what is sent and when.<\/p>\n\n<h3>External Service<\/h3>\n\n<p>This plugin connects to the Vbee Text-to-Speech API to convert post content into audio.<\/p>\n\n<p>When an administrator or editor clicks \"Create audio\" (including bulk create) for a post, the plugin sends the following data to Vbee:<\/p>\n\n<ul>\n<li>The text content of the selected WordPress post, after stripping HTML tags.<\/li>\n<li>The selected voice code(s).<\/li>\n<li>Audio settings such as output format, bitrate, and speed.<\/li>\n<li>The site's configured Vbee App ID and Token, for authentication.<\/li>\n<li>A webhook URL (a WordPress REST route on this site) so Vbee can notify the site when audio generation is complete.<\/li>\n<li>The header <code>x-application-type: WORDPRESS<\/code>, which allows Vbee to identify requests created from the WordPress plugin. This is the only tracking-related header sent; it does not contain a website identifier, install ID, or domain.<\/li>\n<\/ul>\n\n<p>The plugin does not send a plugin install ID, a website tracking ID, the site domain for analytics purposes, or WordPress user personal data.<\/p>\n\n<p>This service is provided by Vbee (https:\/\/vbee.vn):<\/p>\n\n<ul>\n<li>Vbee Terms of Use: https:\/\/policy.vbee.vn\/chinh-sach-va-dieu-khoan\/dieu-khoan-su-dung-dich-vu-vbee-aivoice<\/li>\n<li>Vbee Privacy Policy: https:\/\/policy.vbee.vn\/chinh-sach-va-dieu-khoan\/chinh-sach-bao-mat<\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>\u0110\u1ec3 \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 c\u00e0i \u0111\u1eb7t v\u00e0 k\u1ebft n\u1ed1i API, b\u1ea1n c\u00f3 th\u1ec3 li\u00ean h\u1ec7 tr\u1ef1c ti\u1ebfp v\u1edbi \u0111\u1ed9i ng\u0169 Vbee qua c\u00e1c k\u00eanh:<\/p>\n\n<ul>\n<li>Hotline: 024 9999 3399<\/li>\n<li>Zalo: https:\/\/zalo.me\/vbeeai<\/li>\n<li>Facebook: https:\/\/www.facebook.com\/vbeeai<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under GPLv2 or later. See https:\/\/www.gnu.org\/licenses\/gpl-2.0.html for the license text.<\/p>\n\n<p>All plugin code and bundled assets are released under GPLv2 or later, unless otherwise noted.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Create an account at https:\/\/vbee.vn and https:\/\/api.vbee.vn\/apps, then subscribe to a plan.<\/li>\n<li>Create an App ID and Token for your application in the Vbee dashboard.<\/li>\n<li>In WordPress, go to Vbee Setting and enter:\n\n<ul>\n<li>API Address URL (default: https:\/\/api.vbee.vn\/v1\/tts)<\/li>\n<li>App ID<\/li>\n<li>Token<\/li>\n<li>Bit Rate (default: 128)<\/li>\n<li>Speed (default: 1.0)<\/li>\n<li>The voice(s) you want to generate audio for<\/li>\n<\/ul><\/li>\n<li>Go to Posts &gt; All Posts and click \"T\u1ea1o audio\" (Create audio) on any post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20add%20a%20shortcode%20to%20show%20the%20player%3F\"><h3>Do I need to add a shortcode to show the player?<\/h3><\/dt>\n<dd><p>No. The audio player is inserted automatically at the top of a post's content once audio has been generated successfully. There is no supported shortcode. A legacy <code>[vbee_audio]<\/code> tag left over from older versions is treated as a no-op: it will not print as raw text and will not render an extra player.<\/p><\/dd>\n<dt id=\"where%20are%20the%20audio%20files%20stored%3F\"><h3>Where are the audio files stored?<\/h3><\/dt>\n<dd><p>Locally, in <code>wp-content\/uploads\/vbee-audios\/<\/code>, named <code>{post_id}--{voice_code}.mp3<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.8<\/h4>\n\n<ul>\n<li>Fixed WordPress.org Plugin Review pre-review issues:<\/li>\n<li>Text Domain changed from <code>vbee-aivoice<\/code> to <code>vbee-aivoice-text-to-speech<\/code> to match the assigned WordPress.org plugin slug, updated in the plugin header, <code>load_plugin_textdomain()<\/code>, and every translation function call.<\/li>\n<li>Renamed the plugin folder to <code>vbee-aivoice-text-to-speech<\/code> and the main plugin file to <code>vbee-aivoice-text-to-speech.php<\/code> to match the slug.<\/li>\n<li>Removed the inline <code>&lt;style&gt;<\/code> tag previously echoed by the settings page; its CSS now lives in <code>assets\/css\/vbee-admin.css<\/code> and is loaded with <code>wp_enqueue_style()<\/code> only on the Vbee Setting page.<\/li>\n<li>Added the standard <code>if ( ! defined( 'ABSPATH' ) ) { exit; }<\/code> direct-file-access guard to every PHP file in the plugin, replacing the previous non-standard guard.<\/li>\n<li>No functional changes: audio generation, polling, retry, error details, delete, bulk actions, the frontend player, and the <code>x-application-type: WORDPRESS<\/code> header are unchanged.<\/li>\n<\/ul>\n\n<h4>2.1.7<\/h4>\n\n<ul>\n<li>Fixed a WordPress.org submission rejection: Plugin URI and Author URI were identical. Plugin URI is now <code>https:\/\/vbee.vn\/text-to-speech<\/code> (the Vbee Text-to-Speech product page) and Author URI remains <code>https:\/\/vbee.vn<\/code> (the Vbee company website).<\/li>\n<li>No functional changes: audio generation, polling, retry, error details, delete, bulk actions, the frontend player, and the <code>x-application-type: WORDPRESS<\/code> header are unchanged.<\/li>\n<\/ul>\n\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>Renamed the plugin display name to \"Vbee AIVoice - Text to Speech\" (removed the word \"Plugin\"), in the plugin header Plugin Name, the readme title, the readme metadata, changelog mentions, and the privacy-policy display text, per WordPress.org's restriction on using \"Plugin\" in a plugin's display name\/permalink.<\/li>\n<li>Folder (<code>vbee-aivoice<\/code>), main plugin file (<code>vbee-aivoice.php<\/code>), and text domain (<code>vbee-aivoice<\/code>) are unchanged.<\/li>\n<li>No functional changes: audio generation, polling, retry, error details, delete, bulk actions, the frontend player, and the <code>x-application-type: WORDPRESS<\/code> header are unchanged.<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>Renamed the plugin to \"Vbee AIVoice - Text to Speech\" (plugin header Plugin Name, readme title, and privacy-policy display text) for keyword optimization; the plugin's technical function names were not changed.<\/li>\n<li>Renamed the plugin folder to <code>vbee-aivoice<\/code> and the main plugin file to <code>vbee-aivoice.php<\/code>.<\/li>\n<li>Changed the text domain from <code>vbee-text-to-speech<\/code> to <code>vbee-aivoice<\/code> in the plugin header, <code>load_plugin_textdomain()<\/code>, and every translation function call.<\/li>\n<li>Added <code>vietnamese voice<\/code> and <code>ai voice<\/code> tags and updated the readme short description.<\/li>\n<li>No functional changes: audio generation, polling, retry, error details, delete, bulk actions, the frontend player, and the <code>x-application-type: WORDPRESS<\/code> header are unchanged.<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Updated the plugin header Description (shown in WordPress Admin &gt; Plugins) to the full Vietnamese marketing copy plus Zalo\/Facebook contact links, kept on a single line with no HTML.<\/li>\n<li>Updated the readme Description section to match the same Vietnamese copy, and updated the Support section's Zalo link to https.<\/li>\n<li>No functional changes: audio generation, polling, retry, error details, delete, bulk actions, the frontend player, and the <code>x-application-type: WORDPRESS<\/code> header are unchanged.<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>Added the official Vbee Terms of Use and Privacy Policy URLs to the \"External Service\" section, replacing the previous TODO placeholders.<\/li>\n<li>Updated readme Contributors to <code>vbeeai<\/code> and Description to include the Vietnamese marketing copy and Vbee contact channels, plus a new \"Support\" section with the same contact details.<\/li>\n<li>Renamed the plugin folder and main plugin file to the <code>vbee-text-to-speech<\/code> slug for WordPress.org consistency (see final report for details).<\/li>\n<li>Cleaned up the plugin header Description to short, plain text (no contact info, no HTML).<\/li>\n<li>No functional changes: audio generation, polling, retry, error details, delete, bulk actions, the frontend player, and the <code>x-application-type: WORDPRESS<\/code> header are unchanged.<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Text Domain changed from <code>vbee<\/code> to <code>vbee-text-to-speech<\/code> to match the intended plugin slug; all translation function calls and the <code>load_plugin_textdomain()<\/code> call were updated to match.<\/li>\n<li>Reformatted the Vbee Terms of Use \/ Privacy Policy links in the \"External Service\" section into explicit TODO markers -- the official URLs were not available and were intentionally not invented; they must be filled in before submission.<\/li>\n<li>No functional changes: audio generation, polling, retry, error details, delete, bulk actions, the frontend player, and the <code>x-application-type: WORDPRESS<\/code> header are unchanged.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Prepared for WordPress.org Plugin Directory submission: cleaned up the plugin header (removed HTML markup and contact info, added License \/ License URI), rewrote readme.txt in standard WordPress.org format, added LICENSE.txt, and added an \"External Service\" section disclosing exactly what data is sent to the Vbee API and when.<\/li>\n<li>Added a short, non-intrusive admin notice on the Vbee Setting page near the App ID\/Token fields disclosing that post text is sent to Vbee when audio is created, including the <code>x-application-type: WORDPRESS<\/code> header.<\/li>\n<li>Added suggested Privacy Policy content via <code>wp_add_privacy_policy_content()<\/code> (Settings -&gt; Privacy -&gt; Policy Guide).<\/li>\n<li>Replaced the bundled loading GIF with a CSS-only spinner and removed <code>assets\/images\/vbee-load.gif<\/code> (unclear image licensing) along with non-essential release files (<code>.gitignore<\/code>, a stale CSS source map).<\/li>\n<li>No change to tracking or data sent: <code>x-application-type: WORDPRESS<\/code> remains the only tracking-related header; no install ID or website tracking was added.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Added the <code>x-application-type: WORDPRESS<\/code> header to every request the plugin sends to the Vbee API (Create TTS request and Get Request status polling), so Vbee's backend can attribute requests to the WordPress plugin. No new endpoint, no install ID, and no site\/domain\/user data is sent.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Removed the <code>[vbee_audio]<\/code> shortcode as a supported feature. The audio player now only ever appears via automatic insertion at the top of the post content when that post has valid audio (<code>check_audio = 1<\/code>).<\/li>\n<li>Older posts that still contain a literal <code>[vbee_audio]<\/code> tag no longer show it as raw text on the frontend; the tag is now a no-op that renders nothing and does not affect auto-insertion.<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Fix: Get Request polling now normalizes every status alias Vbee may return (COMPLETED\/SUCCESS\/DONE, PROCESSING\/IN_PROGRESS\/QUEUED, FAILED\/FAILURE) and reads the audio link from any of <code>audioLink<\/code>, <code>audio_link<\/code>, or nested <code>data<\/code>\/<code>result<\/code> objects.<\/li>\n<li>Fix: transient\/unclear Get Request errors (empty response, HTTP 5xx, \"not found\", timeouts) no longer immediately fail the whole post; they are treated as retryable and polling\/\"Ki\u1ec3m tra l\u1ea1i\" can recover once Vbee actually finishes.<\/li>\n<li>Added raw Get Request debug meta (<code>_vbee_last_get_http_code<\/code>, <code>_vbee_last_get_raw_body<\/code>, <code>_vbee_last_get_response<\/code>) alongside the existing per-voice debug meta.<\/li>\n<li>Admin column now offers a \"Ki\u1ec3m tra l\u1ea1i\" action on both \"\u0110ang t\u1ea1o audio\" and \"Convert audio l\u1ed7i\" rows, which re-checks the existing request instead of creating a new one.<\/li>\n<li>Added a \"Chi ti\u1ebft l\u1ed7i\" action on failed rows that copies full debug info (voices, request IDs, last status\/error, last Get Request response, last download result) to the clipboard for bug reports.<\/li>\n<li>REST callback now accepts the same status\/field aliases as polling, and secret\/request_id mismatches are logged without wrongly marking a voice as permanently failed.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Fix: polling and the REST callback could leave a post stuck on \"Convert audio l\u1ed7i\" even though Vbee had already generated the audio.<\/li>\n<li>Added detailed per-voice debug\/error meta (<code>_vbee_voice_states<\/code>, <code>_vbee_last_status<\/code>, <code>_vbee_last_error<\/code>, <code>_vbee_last_request_id<\/code>, <code>_vbee_last_audio_link<\/code>, <code>_vbee_last_download_result<\/code>) so failures show a real reason instead of a generic message.<\/li>\n<li>Local audio detection now requires the mp3 to exist AND have a size greater than 0 before it is considered valid.<\/li>\n<li>The REST callback now updates only the voice it was called for and recalculates the post's overall status from all requested voices, instead of one voice's callback deciding the whole post's state.<\/li>\n<li>Admin list now shows the real failure reason (with a tooltip) instead of a generic \"Convert audio l\u1ed7i\".<\/li>\n<li>Admin JS no longer permanently marks a post as failed just because the browser's polling timeout was reached; it offers a \"Ki\u1ec3m tra l\u1ea1i\" action that re-checks the existing request instead of creating a new one.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Packaging update.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Rewritten for the new Vbee async TTS API (api.vbee.vn), PHP 8 compatibility, REST webhook callback, and multi-voice support.<\/li>\n<\/ul>","raw_excerpt":"Vbee AIVoice helps convert WordPress post content into natural-sounding Vietnamese audio using the Vbee Text-to-Speech API.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=341713"}],"author":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vbeeai"}],"wp:attachment":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341713"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341713"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341713"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341713"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341713"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}