curl --request POST \
--url https://api.deapi.ai/api/v2/prompts/enhancements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form 'prompt=A beautiful landscape with mountains' \
--form 'negative_prompt=blurry, low quality' \
--form type=images.generations \
--form model_slug=Flux1schnell \
--form 'image=<string>'import requests
url = "https://api.deapi.ai/api/v2/prompts/enhancements"
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "multipart/form-data"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const form = new FormData();
form.append('prompt', 'A beautiful landscape with mountains');
form.append('negative_prompt', 'blurry, low quality');
form.append('type', 'images.generations');
form.append('model_slug', 'Flux1schnell');
form.append('image', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.deapi.ai/api/v2/prompts/enhancements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.deapi.ai/api/v2/prompts/enhancements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.deapi.ai/api/v2/prompts/enhancements"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.deapi.ai/api/v2/prompts/enhancements")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deapi.ai/api/v2/prompts/enhancements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"prompt": "<string>",
"negative_prompt": "<string>"
}{
"message": "Client account is suspended. If you believe this is a mistake, contact us."
}{
"message": "The selected model does not support Text To Image.",
"errors": {
"model": [
"This model is not available on your plan. Please upgrade to access it."
]
}
}{
"message": "Too Many Attempts."
}Prompt Booster
Rewrites a prompt for a specific model using a guide configured for that model and inference type. Requires a guide for your model_slug + type pair — call the /price sibling first, which runs the same check for free and quotes the fee.
curl --request POST \
--url https://api.deapi.ai/api/v2/prompts/enhancements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form 'prompt=A beautiful landscape with mountains' \
--form 'negative_prompt=blurry, low quality' \
--form type=images.generations \
--form model_slug=Flux1schnell \
--form 'image=<string>'import requests
url = "https://api.deapi.ai/api/v2/prompts/enhancements"
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "multipart/form-data"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const form = new FormData();
form.append('prompt', 'A beautiful landscape with mountains');
form.append('negative_prompt', 'blurry, low quality');
form.append('type', 'images.generations');
form.append('model_slug', 'Flux1schnell');
form.append('image', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.deapi.ai/api/v2/prompts/enhancements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.deapi.ai/api/v2/prompts/enhancements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.deapi.ai/api/v2/prompts/enhancements"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.deapi.ai/api/v2/prompts/enhancements")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deapi.ai/api/v2/prompts/enhancements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"prompt\"\r\n\r\nA beautiful landscape with mountains\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"negative_prompt\"\r\n\r\nblurry, low quality\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"type\"\r\n\r\nimages.generations\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model_slug\"\r\n\r\nFlux1schnell\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"image\"\r\n\r\n<string>\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"prompt": "<string>",
"negative_prompt": "<string>"
}{
"message": "Client account is suspended. If you believe this is a mistake, contact us."
}{
"message": "The selected model does not support Text To Image.",
"errors": {
"model": [
"This model is not available on your plan. Please upgrade to access it."
]
}
}{
"message": "Too Many Attempts."
}- Set
type(v2 dot notation) andmodel_slugto pick the right guide. - For
images.editsandvideos.animations, also send the sourceimage(URL, data-URI, base64, or file). - Synchronous — the enhanced prompt is returned directly in the response body (
{ prompt, negative_prompt }).
prompt, type, model_slug (plus image for images.edits / videos.animations). The returned negative_prompt is provided for compatibility and is ignored by models that do not support negative prompts (e.g. FLUX.2 Klein).Accepted type values
images.generations, images.edits, videos.generations, videos.animations, audio.speech, audio.music
Only prompt-driven inference types have a booster. Upscaling, background removal, OCR, transcription and embeddings are not supported and are rejected with 422.
Example (image-to-image)
curl -X POST "https://api.deapi.ai/api/v2/prompts/enhancements" \
-H "Authorization: Bearer <TOKEN>" \
-F "prompt=Make it look like a digital photo" \
-F "type=images.edits" \
-F "model_slug=Flux_2_Klein_4B_BF16" \
-F "image=@source.jpg"
prompt to the matching generation endpoint (e.g. POST /api/v2/images/edits).Authorizations
Sanctum personal access token, sent as Authorization: Bearer <token>. The token is opaque — it carries no claims and no embedded expiry, so do not attempt to decode it. Issue and revoke tokens from your account dashboard.
Body
3"A beautiful landscape with mountains"
3"blurry, low quality"
Inference type, v2 dot notation. Only prompt-driven types are boostable.
images.generations, images.edits, videos.generations, videos.animations, audio.speech, audio.music "images.generations"
"Flux1schnell"
Reference image. Required for images.edits/videos.animations. Supported formats: JPEG, PNG, BMP, GIF, WebP.
Was this page helpful?