{"id":399940,"date":"2026-11-10T08:57:01","date_gmt":"2026-11-10T08:57:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-provider-for-deapi\/"},"modified":"2026-11-10T09:28:00","modified_gmt":"2026-11-10T09:28:00","slug":"ai-provider-for-deapi","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ai-provider-for-deapi\/","author":23600308,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.1.4","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"AI Provider for deAPI","header_author":"deAPI","header_description":"deAPI image and video generation, image editing, text-to-speech and embedding models for the WordPress AI Client.","last_updated":"2026-11-10 09:28:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/deapi-ai\/ai-provider-for-deapi","header_author_uri":"https:\/\/deapi.ai","rating":0,"author_block_rating":0,"active_installs":0,"downloads":139,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"deapi","date":"2026-11-10 09:28:00","revision":3793994}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3793928,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3793928,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3793928,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3793928,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3793928,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3793994,"resolution":"1","location":"assets","locale":"","width":1280,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3793994,"resolution":"2","location":"assets","locale":"","width":1280,"height":880},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3793994,"resolution":"3","location":"assets","locale":"","width":1280,"height":560},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3793994,"resolution":"4","location":"assets","locale":"","width":1280,"height":960}},"screenshots":{"1":"deAPI connected under Settings &gt; Connectors.","2":"An image generated with deAPI from Media &gt; Generate Image (AI plugin).","3":"Refining a generated image with a text instruction: deAPI edits it with FLUX.2 [klein].","4":"An audio version of a post created with deAPI text-to-speech (Text to Speech feature of the AI plugin)."}},"plugin_section":[],"plugin_tags":[2353,25308,25198,16722,256940],"plugin_category":[],"plugin_contributors":[291769],"plugin_business_model":[],"class_list":["post-399940","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-connector","plugin_tags-image-generation","plugin_tags-text-to-speech","plugin_tags-video-generation","plugin_contributors-deapi","plugin_committers-deapi"],"banners":{"banner":"https:\/\/ps.w.org\/ai-provider-for-deapi\/assets\/banner-772x250.png?rev=3793928","banner_2x":"https:\/\/ps.w.org\/ai-provider-for-deapi\/assets\/banner-1544x500.png?rev=3793928","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/ai-provider-for-deapi\/assets\/icon.svg?rev=3793928","icon":"https:\/\/ps.w.org\/ai-provider-for-deapi\/assets\/icon.svg?rev=3793928","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ai-provider-for-deapi\/assets\/screenshot-1.png?rev=3793994","caption":"deAPI connected under Settings &gt; Connectors."},{"src":"https:\/\/ps.w.org\/ai-provider-for-deapi\/assets\/screenshot-2.png?rev=3793994","caption":"An image generated with deAPI from Media &gt; Generate Image (AI plugin)."},{"src":"https:\/\/ps.w.org\/ai-provider-for-deapi\/assets\/screenshot-3.png?rev=3793994","caption":"Refining a generated image with a text instruction: deAPI edits it with FLUX.2 [klein]."},{"src":"https:\/\/ps.w.org\/ai-provider-for-deapi\/assets\/screenshot-4.png?rev=3793994","caption":"An audio version of a post created with deAPI text-to-speech (Text to Speech feature of the AI plugin)."}],"raw_content":"<!--section=description-->\n<p>This plugin adds <a href=\"https:\/\/deapi.ai\">deAPI<\/a> as a provider for the WordPress AI Client, which is part of WordPress 7.0. Once it is active and an API key is saved under Settings &gt; Connectors, any plugin built on the AI Client can generate and edit images, generate videos, create speech and compute embeddings with deAPI.<\/p>\n\n<p>deAPI runs open-source models on a distributed GPU network and charges per request, with no subscription.<\/p>\n\n<p><strong>Supported models<\/strong><\/p>\n\n<ul>\n<li>Image generation: FLUX.1 [schnell], Z-Image Turbo, Z-Anime Distill and FLUX.2 [klein] 4B.<\/li>\n<li>Image editing: FLUX.2 [klein] 4B, with up to three input images.<\/li>\n<li>Video generation: LTX-2.5 22B (3-10 seconds) and MiniMax H3 33B Turbo (8 seconds), from text or from a first-frame image. Sizes: 768x768, 1344x768, 768x1344, 1024x768 and 768x1024. Output is MP4.<\/li>\n<li>Text-to-speech: Kokoro (41 voices in 7 languages), Chatterbox and Qwen3 TTS CustomVoice. Output is MP3.<\/li>\n<li>Embeddings: BGE-M3 (1024 dimensions). Requires WordPress 7.2 or later.<\/li>\n<\/ul>\n\n<p>The plugin lists only the models available to your deAPI account. deAPI has no chat models, so text features such as title or excerpt generation keep using your other AI providers.<\/p>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<ul>\n<li>WordPress 7.0 or later (the plugin loads on 6.9 but does nothing without the AI Client).<\/li>\n<li>A deAPI account and API key. You can <a href=\"https:\/\/app.deapi.ai\/register\">create an account<\/a>.<\/li>\n<\/ul>\n\n<p><strong>Source code<\/strong><\/p>\n\n<p>The plugin ships its full, unminified source. Development happens on <a href=\"https:\/\/github.com\/deapi-ai\/ai-provider-for-deapi\">GitHub<\/a>, where you can report issues and run the tests.<\/p>\n\n<p>The model classes follow the structure of the <a href=\"https:\/\/wordpress.org\/plugins\/ai-provider-for-openai\/\">AI Provider for OpenAI<\/a> plugin by the WordPress AI Team, which is licensed under GPLv2 or later.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the deAPI API at <code>https:\/\/oai.deapi.ai\/v1<\/code> to list the models available to your account and to run the generation requests that plugins send through the WordPress AI Client. Nothing is sent until an API key is configured.<\/p>\n\n<ul>\n<li>When you save an API key under Settings &gt; Connectors, and when the AI Client needs the model list, the plugin sends your API key to <code>https:\/\/oai.deapi.ai\/v1\/models<\/code>.<\/li>\n<li>When a plugin asks the AI Client for an image, an image edit, a video, speech or embeddings and deAPI is selected, the plugin sends your API key, the prompt or input text, any source images, and the requested options (model, size, number of images, video length, voice) to the matching deAPI endpoint. For videos it then checks the job status every 5 seconds and downloads the finished file from the same API.<\/li>\n<li>Generated images may be returned as links to <code>https:\/\/results.deapi.ai<\/code>, which the AI Client may download.<\/li>\n<\/ul>\n\n<p>The plugin sends no other data and makes no requests in the background.<\/p>\n\n<p>deAPI <a href=\"https:\/\/deapi.ai\/terms-of-service\">Terms of Service<\/a> and <a href=\"https:\/\/deapi.ai\/privacy-policy\">Privacy Policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Create an API key in the <a href=\"https:\/\/app.deapi.ai\/settings\/api-keys\">deAPI dashboard<\/a>.<\/li>\n<li>Go to Settings &gt; Connectors, find deAPI and paste the key. WordPress checks the key with deAPI when you save it.<\/li>\n<\/ol>\n\n<p>You can also set the key with the <code>DEAPI_API_KEY<\/code> environment variable or a <code>DEAPI_API_KEY<\/code> constant in <code>wp-config.php<\/code>.<\/p>\n\n<p>To try it, install the <a href=\"https:\/\/wordpress.org\/plugins\/ai\/\">AI<\/a> plugin, turn on Image Generation and Editing under Settings &gt; AI, then open Media &gt; Generate Image. Its Text to Speech feature also works with deAPI and creates an audio version of a post from the editor sidebar.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20deapi%20features%20are%20not%20available%3F\"><h3>Which deAPI features are not available?<\/h3><\/dt>\n<dd><p>Transcription, music generation and the other deAPI endpoints are not part of this plugin, because the WordPress AI Client does not support them yet or deAPI does not offer them through its OpenAI-compatible gateway.<\/p><\/dd>\n<dt id=\"why%20does%20image%20generation%20take%20a%20few%20seconds%3F\"><h3>Why does image generation take a few seconds?<\/h3><\/dt>\n<dd><p>deAPI waits for the GPU job to finish before it answers. Most images take 5 to 30 seconds, edits can take longer. The plugin allows up to 5 minutes per request.<\/p><\/dd>\n<dt id=\"how%20long%20does%20video%20generation%20take%3F\"><h3>How long does video generation take?<\/h3><\/dt>\n<dd><p>Usually 30 seconds to 2 minutes. The AI Client waits for the finished MP4, so call it from WP-CLI, a cron event or a background job rather than a normal page request, where the PHP time limit (often 30 seconds) can stop it first. Set the length with the <code>seconds<\/code> custom option, for example <code>['customOptions' =&gt; ['seconds' =&gt; 5]]<\/code>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20choose%20a%20voice%3F\"><h3>How do I choose a voice?<\/h3><\/dt>\n<dd><p>Pass a voice ID through the AI Client, for example <code>af_nova<\/code> or <code>bm_george<\/code> for Kokoro. The OpenAI voice names (<code>alloy<\/code>, <code>echo<\/code>, <code>fable<\/code>, <code>onyx<\/code>, <code>nova<\/code>, <code>shimmer<\/code>) also work. The default voice is <code>alloy<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: image generation and editing, video generation, text-to-speech and embeddings.<\/li>\n<\/ul>","raw_excerpt":"deAPI image and video generation, image editing, text-to-speech and embeddings with open models for the WordPress AI Client.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/399940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=399940"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/deapi"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=399940"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=399940"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=399940"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=399940"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=399940"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=399940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}