curl --request POST \
--url https://api.deapi.ai/api/v1/client/txt2img/price-calculation \
--header 'Accept: <accept>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "A beautiful sunset over mountains",
"model": "Flux_2_Klein_4B_BF16",
"width": 512,
"height": 512,
"guidance": 7.5,
"steps": 4,
"seed": 42,
"negative_prompt": "blur, darkness, noise",
"loras": [
{
"name": "style_lora",
"weight": 0.75
}
]
}
'import requests
url = "https://api.deapi.ai/api/v1/client/txt2img/price-calculation"
payload = {
"prompt": "A beautiful sunset over mountains",
"model": "Flux_2_Klein_4B_BF16",
"width": 512,
"height": 512,
"guidance": 7.5,
"steps": 4,
"seed": 42,
"negative_prompt": "blur, darkness, noise",
"loras": [
{
"name": "style_lora",
"weight": 0.75
}
]
}
headers = {
"Accept": "<accept>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Accept: '<accept>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
prompt: 'A beautiful sunset over mountains',
model: 'Flux_2_Klein_4B_BF16',
width: 512,
height: 512,
guidance: 7.5,
steps: 4,
seed: 42,
negative_prompt: 'blur, darkness, noise',
loras: [{name: 'style_lora', weight: 0.75}]
})
};
fetch('https://api.deapi.ai/api/v1/client/txt2img/price-calculation', 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/v1/client/txt2img/price-calculation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'A beautiful sunset over mountains',
'model' => 'Flux_2_Klein_4B_BF16',
'width' => 512,
'height' => 512,
'guidance' => 7.5,
'steps' => 4,
'seed' => 42,
'negative_prompt' => 'blur, darkness, noise',
'loras' => [
[
'name' => 'style_lora',
'weight' => 0.75
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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/v1/client/txt2img/price-calculation"
payload := strings.NewReader("{\n \"prompt\": \"A beautiful sunset over mountains\",\n \"model\": \"Flux_2_Klein_4B_BF16\",\n \"width\": 512,\n \"height\": 512,\n \"guidance\": 7.5,\n \"steps\": 4,\n \"seed\": 42,\n \"negative_prompt\": \"blur, darkness, noise\",\n \"loras\": [\n {\n \"name\": \"style_lora\",\n \"weight\": 0.75\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Accept", "<accept>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
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/v1/client/txt2img/price-calculation")
.header("Accept", "<accept>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"A beautiful sunset over mountains\",\n \"model\": \"Flux_2_Klein_4B_BF16\",\n \"width\": 512,\n \"height\": 512,\n \"guidance\": 7.5,\n \"steps\": 4,\n \"seed\": 42,\n \"negative_prompt\": \"blur, darkness, noise\",\n \"loras\": [\n {\n \"name\": \"style_lora\",\n \"weight\": 0.75\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deapi.ai/api/v1/client/txt2img/price-calculation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Accept"] = '<accept>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"A beautiful sunset over mountains\",\n \"model\": \"Flux_2_Klein_4B_BF16\",\n \"width\": 512,\n \"height\": 512,\n \"guidance\": 7.5,\n \"steps\": 4,\n \"seed\": 42,\n \"negative_prompt\": \"blur, darkness, noise\",\n \"loras\": [\n {\n \"name\": \"style_lora\",\n \"weight\": 0.75\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"price": 0.25
}
}{
"data": {},
"message": "<string>",
"errors": [
"<unknown>"
],
"statusCode": 123
}{
"data": {},
"message": "<string>",
"errors": [
"<unknown>"
],
"statusCode": 123
}{
"message": "The selected model does not support Text To Image.",
"errors": {
"model": [
"The selected model does not support Text To Image."
]
}
}{
"message": "Too Many Attempts."
}Text-to-Image Price Calculation
Endpoint for calculating price for text2img inference
curl --request POST \
--url https://api.deapi.ai/api/v1/client/txt2img/price-calculation \
--header 'Accept: <accept>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "A beautiful sunset over mountains",
"model": "Flux_2_Klein_4B_BF16",
"width": 512,
"height": 512,
"guidance": 7.5,
"steps": 4,
"seed": 42,
"negative_prompt": "blur, darkness, noise",
"loras": [
{
"name": "style_lora",
"weight": 0.75
}
]
}
'import requests
url = "https://api.deapi.ai/api/v1/client/txt2img/price-calculation"
payload = {
"prompt": "A beautiful sunset over mountains",
"model": "Flux_2_Klein_4B_BF16",
"width": 512,
"height": 512,
"guidance": 7.5,
"steps": 4,
"seed": 42,
"negative_prompt": "blur, darkness, noise",
"loras": [
{
"name": "style_lora",
"weight": 0.75
}
]
}
headers = {
"Accept": "<accept>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Accept: '<accept>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
prompt: 'A beautiful sunset over mountains',
model: 'Flux_2_Klein_4B_BF16',
width: 512,
height: 512,
guidance: 7.5,
steps: 4,
seed: 42,
negative_prompt: 'blur, darkness, noise',
loras: [{name: 'style_lora', weight: 0.75}]
})
};
fetch('https://api.deapi.ai/api/v1/client/txt2img/price-calculation', 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/v1/client/txt2img/price-calculation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'A beautiful sunset over mountains',
'model' => 'Flux_2_Klein_4B_BF16',
'width' => 512,
'height' => 512,
'guidance' => 7.5,
'steps' => 4,
'seed' => 42,
'negative_prompt' => 'blur, darkness, noise',
'loras' => [
[
'name' => 'style_lora',
'weight' => 0.75
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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/v1/client/txt2img/price-calculation"
payload := strings.NewReader("{\n \"prompt\": \"A beautiful sunset over mountains\",\n \"model\": \"Flux_2_Klein_4B_BF16\",\n \"width\": 512,\n \"height\": 512,\n \"guidance\": 7.5,\n \"steps\": 4,\n \"seed\": 42,\n \"negative_prompt\": \"blur, darkness, noise\",\n \"loras\": [\n {\n \"name\": \"style_lora\",\n \"weight\": 0.75\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Accept", "<accept>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
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/v1/client/txt2img/price-calculation")
.header("Accept", "<accept>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"A beautiful sunset over mountains\",\n \"model\": \"Flux_2_Klein_4B_BF16\",\n \"width\": 512,\n \"height\": 512,\n \"guidance\": 7.5,\n \"steps\": 4,\n \"seed\": 42,\n \"negative_prompt\": \"blur, darkness, noise\",\n \"loras\": [\n {\n \"name\": \"style_lora\",\n \"weight\": 0.75\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deapi.ai/api/v1/client/txt2img/price-calculation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Accept"] = '<accept>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"A beautiful sunset over mountains\",\n \"model\": \"Flux_2_Klein_4B_BF16\",\n \"width\": 512,\n \"height\": 512,\n \"guidance\": 7.5,\n \"steps\": 4,\n \"seed\": 42,\n \"negative_prompt\": \"blur, darkness, noise\",\n \"loras\": [\n {\n \"name\": \"style_lora\",\n \"weight\": 0.75\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"price": 0.25
}
}{
"data": {},
"message": "<string>",
"errors": [
"<unknown>"
],
"statusCode": 123
}{
"data": {},
"message": "<string>",
"errors": [
"<unknown>"
],
"statusCode": 123
}{
"message": "The selected model does not support Text To Image.",
"errors": {
"model": [
"The selected model does not support Text To Image."
]
}
}{
"message": "Too Many Attempts."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
application/json Body
Image generation parameters
The main prompt for image generation
"A beautiful sunset over mountains"
The model to use for image generation. Available models can be retrieved via the GET /api/v1/client/models endpoint.
"Flux_2_Klein_4B_BF16"
Width of the generated image in pixels
512
Height of the generated image in pixels
512
Guidance scale for the generation
7.5
Number of inference steps. The accepted range is model-specific - read info.limits.min_steps / info.limits.max_steps for your model from the Model Selection endpoint before sending the request; a value outside that range is rejected with 422. For the example model Flux_2_Klein_4B_BF16 the only accepted value is 4.
x >= 14
Random seed for generation
42
Elements to avoid in the generated image
"blur, darkness, noise"
Array of LoRA models to apply
Show child attributes
Show child attributes
Response
Calculated price for text2img inference.
Show child attributes
Show child attributes
Was this page helpful?