Mawu Oyamba
Takulandilani ku API ya nsanja ya ImageEditor.ai!
Chilichonse chimapangidwa kuti chithandizire ogwiritsa ntchito kupanga kapena kusintha mosavuta zithunzi ndi AI padongosolo la ImageEditor.ai.
Kuti mupeze kiyi yanu ya API chonde pitani patsamba la akaunti .
Ulalo Wokhazikika Woyambira
Ulalo wokhazikika wa ImageEditor.ai API ndi: <b>https://api.imageeditor.ai/v1/</b>
Zindikirani: pazifukwa zachitetezo, ma API onse a ImageEditor.ai amatumizidwa pa HTTPS kokha.
Chilolezo
Kuti mugwiritse ntchito ImageEditor.ai API, mufunika kiyi ya API yomwe imalumikizidwa ku akaunti yanu.
Mtengo wovomerezeka uyenera kutumizidwa muzopempha za Headers.
Authorization: <api_key>
Pangani zithunzi
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"terms": "kalulu kupita kusukulu, mbuli kalembedwe mphini luso",
"is_sfw": True,
"negative_terms": "nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.",
"dimension": "landscape",
"fix_faces": True,
"make_tile": False,
"upscale": False,
"threesixty": False,
}
base_api_url = "https://api.imageeditor.ai"
api_url = f"{base_api_url}/v1"
def download_file(url, local_filename):
url = f"{base_api_url}/{url}"
with requests.get(url, stream=True) as r:
with open(local_filename, "wb") as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
r = requests.post(
url=f"{api_url}/create-image/",
json=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get("error"):
print(params)
return
r = requests.post(
url=f"{api_url}/results/",
data=params
)
data = r.json()
finished = data.get("finished")
while not finished:
if int(data.get("queue_count")) > 0:
print("queue: %s" % data.get("queue_count"))
time.sleep(5)
results = get_results(params)
results = json.dumps(results)
if results:
break
if finished:
for f in data.get("files"):
print(f.get("url"))
download_file("%s" % f.get("url"), "%s" % f.get("filename"))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Create image
curl -X POST \
https://api.imageeditor.ai/v1/create-image/ \
-H 'Authorization: api_key' \
-H 'Content-Type: application/json' \
-d '{
"terms": "kalulu kupita kusukulu, mbuli kalembedwe mphini luso",
"is_sfw": true,
"negative_terms": "nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.",
"dimension": "landscape",
"fix_faces": true,
"make_tile": false,
"upscale": false,
"threesixty": false
}'
Get created image URL
curl -X POST \
https://api.imageeditor.ai/v1/results/ \
-F 'uuid=response_uuid'
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);
$headers = array("Authorization: api_key");
$file_list = ['/test_files/test.jpeg'];
$api_url = "https://api.imageeditor.ai/v1/edit-image/";
$results_url = "https://api.imageeditor.ai/v1/results/";
function download_file($url, $filename){
$curl = curl_init();
$url = "https://api.imageeditor.ai" . $url;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
$data = curl_exec($curl);
$error = curl_error($curl);
curl_close ($curl);
# Make sure destionation path exists
$destination_path = "/path/to/result/files/";
$destination_file = fopen($destination_path . $filename, "w+");
fwrite($destination_file, $data);
fclose($destination_file);
}
function convert_files($file_list, $headers, $api_url) {
$post_data['terms'] = 'kalulu kupita kusukulu, mbuli kalembedwe mphini luso';
$post_data['is_sfw'] = true;
$post_data['negative_terms'] = 'nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.';
$post_data['dimension'] = 'landscape';
$post_data['fix_faces'] = true;
$post_data['make_tile'] = false;
$post_data['upscale'] = false;
$post_data['threesixty'] = false;
foreach ($file_list as $index => $file) {
$post_data['file[' . $index . ']'] = curl_file_create(
realpath($file),
mime_content_type($file),
basename($file)
);
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $api_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
curl_close($curl);
return json_decode($content);
}
function get_results($params, $results_url, $headers) {
if ($params->error) {
print_r($params->error);
return;
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $results_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = json_decode(curl_exec($curl));
curl_close($curl);
if ($content->finished == false) {
if (intval($content->queue_count) > 0) {
print_r("queue: $content->queue_count");
}
sleep(5);
$results = get_results($params, $results_url, $headers);
return;
}
foreach ($content->files as $f) {
download_file($f->url, $f->filename);
}
}
$resp = convert_files($file_list, $headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');
let file_list = ['/test_files/sala.png']
const api_url = 'https://api.imageeditor.ai/v1/create-image/'
const results_url = 'https://api.imageeditor.ai/v1/results/'
function convertFiles(file_list) {
let data = {
"terms": "kalulu kupita kusukulu, mbuli kalembedwe mphini luso",
"is_sfw": true,
"negative_terms": "nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.",
"dimension": "landscape",
"fix_faces": true,
"make_tile": false,
"upscale": false,
"threesixty": false,
};
for (var i = 0; i < file_list.length; i++) {
formData['files'] = fs.createReadStream(file_list[i]);
}
request({
url: api_url,
method: 'post',
json: data,
headers: {
"Authorization": "api_key",
"Content-Type": "application/json",
}
}, function (err, res, body) {
if (err) {
console.error(err);
return err;
}
getResults(JSON.parse(body));
});
}
function getResults(data) {
if (data.error) {
console.error(data);
return data.error;
}
request({
url: results_url,
method: 'post',
formData: data
}, function (e, r, body) {
response = JSON.parse(body);
console.log(response);
if (!response.finished) {
setTimeout(
function () {
getResults(data);
}, 1000
);
}
console.log(response);
})
}
convertFiles(file_list);
Yankho
/path/to/local/result.jpg
Pempho la HTTP
POST /create-image/
Funso magawo
Parameter | Mtundu | Kufotokozera | Chitsanzo |
---|---|---|---|
is_sfw | Zosankha | Khazikitsani "true" ngati "migwirizano" ili yazithunzi za akulu | true kapena false |
terms | Chofunikira | Uzani AI kuti mukufuna kupanga chithunzi chanji. | kalulu kupita kusukulu, mbuli kalembedwe mphini luso |
negative_terms | Zosankha | Uzani AI zomwe ziyenera kuchotsedwa. | nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa. |
dimension | Zosankha | Pezani zithunzi kapena mawonekedwe, mtengo wa "portrait" ndiwokhazikika ngati mulibe kanthu kapena mulibe. | portrait kapena landscape |
fix_faces | Zosankha | Lolani AI ikonze nkhope muzithunzi zotsatila, Phindu labodza ndilokhazikika ngati silikutumiza. | true kapena false |
make_tile | Zosankha | Khazikitsani true ngati mukufuna chithunzi chomwe chingagwiritsidwe ntchito ngati chitsanzo. | true kapena false |
upscale | Zosankha | AI ibweretsanso chithunzi chokulirapo. | true kapena false |
threesixty | Zosankha | AI ibweza chithunzi cha 360ยบ. | true kapena false |
Sinthani zithunzi
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"terms": "Mbale wa mphaka",
"is_sfw": True,
"replacing": "zipatso ndi tsinde la zipatso",
"negative_terms": "",
"fix_faces": True,
"outpaint": False,
"upscale": False,
}
file_path = "path/to/test.jpeg"
base_api_url = "https://api.imageeditor.ai"
api_url = f"{base_api_url}/v1"
def download_file(url, local_filename):
url = f"{base_api_url}/{url}"
with requests.get(url, stream=True) as r:
with open(local_filename, "wb") as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file_path}", "rb"))')]
r = requests.post(
url=f"{api_url}/edit-image/",
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get("error"):
print(params)
return
r = requests.post(
url=f"{api_url}/results/",
data=params
)
data = r.json()
finished = data.get("finished")
while not finished:
if int(data.get("queue_count")) > 0:
print("queue: %s" % data.get("queue_count"))
time.sleep(5)
results = get_results(params)
results = json.dumps(results)
if results:
break
if finished:
for f in data.get("files"):
print(f.get("url"))
download_file("%s" % f.get("url"), "%s" % f.get("filename"))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Sinthani zithunzi
curl -X POST \
https://api.imageeditor.ai/v1/edit-image/ \
-H 'Authorization: api_key' \
-F 'files=@test_files/test.jpeg' \
-F 'terms=Mbale wa mphaka' \
-F 'is_sfw=true' \
-F 'replacing=zipatso ndi tsinde la zipatso' \
-F 'negative_terms=' \
-F 'fix_faces=true' \
-F 'outpaint=false' \
-F 'upscale=false'
Get result image
curl -X POST \
https://api.imageeditor.ai/v1/results/ \
-F 'uuid=response_uuid'
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);
$headers = array("Authorization: api_key");
$file_list = ['/test_files/test.jpeg'];
$api_url = "https://api.imageeditor.ai/v1/edit-image/";
$results_url = "https://api.imageeditor.ai/v1/results/";
function download_file($url, $filename){
$curl = curl_init();
$url = "https://api.imageeditor.ai" . $url;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
$data = curl_exec($curl);
$error = curl_error($curl);
curl_close ($curl);
# Make sure destionation path exists
$destination_path = "/path/to/result/files/";
$destination_file = fopen($destination_path . $filename, "w+");
fwrite($destination_file, $data);
fclose($destination_file);
}
function convert_files($file_list, $headers, $api_url) {
$post_data['terms'] = 'kalulu kupita kusukulu, mbuli kalembedwe mphini luso';
$post_data['is_sfw'] = true;
$post_data['replacing'] = 'zipatso ndi tsinde la zipatso';
$post_data['negative_terms'] = '';
$post_data['fix_faces'] = true;
$post_data['outpaint'] = false;
$post_data['upscale'] = false;
foreach ($file_list as $index => $file) {
$post_data['file[' . $index . ']'] = curl_file_create(
realpath($file),
mime_content_type($file),
basename($file)
);
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $api_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
curl_close($curl);
return json_decode($content);
}
function get_results($params, $results_url, $headers) {
if ($params->error) {
print_r($params->error);
return;
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $results_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = json_decode(curl_exec($curl));
curl_close($curl);
if ($content->finished == false) {
if (intval($content->queue_count) > 0) {
print_r("queue: $content->queue_count");
}
sleep(5);
$results = get_results($params, $results_url, $headers);
return;
}
foreach ($content->files as $f) {
download_file($f->url, $f->filename);
}
}
$resp = convert_files($file_list, $headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');
let file_list = ['/test_files/test.jpeg']
const api_url = 'https://api.imageeditor.ai/v1/edit-image/'
const results_url = 'https://api.imageeditor.ai/v1/results/'
function convertFiles(file_list) {
let formData = {
"terms": "kalulu kupita kusukulu, mbuli kalembedwe mphini luso",
"is_sfw": true,
"negative_terms": "nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.",
"dimension": "landscape",
"fix_faces": true,
"make_tile": false,
"upscale": false,
"threesixty": false,
};
for (var i = 0; i < file_list.length; i++) {
formData['files'] = fs.createReadStream(file_list[i]);
}
request({
url: api_url,
method: 'post',
formData: formData,
headers: {
"Authorization": "api_key",
"Content-Type": "multipart/form-data",
}
}, function (err, res, body) {
if (err) {
console.error(err);
return err;
}
getResults(JSON.parse(body));
});
}
function getResults(data) {
if (data.error) {
console.error(data);
return data.error;
}
request({
url: results_url,
method: 'post',
formData: data
}, function (e, r, body) {
response = JSON.parse(body);
console.log(response);
if (!response.finished) {
setTimeout(
function () {
getResults(data);
}, 1000
);
}
console.log(response);
})
}
convertFiles(file_list);
Yankho
/path/to/local/result.jpg
Pempho la HTTP
POST /edit-image/
Funso magawo
Parameter | Mtundu | Kufotokozera | Chitsanzo |
---|---|---|---|
is_sfw | Zosankha | Khazikitsani "true" ngati "migwirizano" ili yazithunzi za akulu | true kapena false |
terms | Chofunikira | Uzani AI zomwe mukufuna kutengera chithunzi chanu. | Mbale wa mphaka |
replacing | Zosankha | Uzani AI ngati mukufuna kusintha china chake pachithunzi chanu kutengera zomwe mwalemba pamwambapa | zipatso ndi tsinde la zipatso |
negative_terms | Zosankha | Uzani AI zomwe ziyenera kuchotsedwa. | nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa. |
fix_faces | Zosankha | Lolani AI ikonze nkhope muzithunzi zotsatila, Phindu labodza ndilokhazikika ngati silikutumiza. | true kapena false |
outpaint | Zosankha | Popeza chithunzi choyambira, AI imatha kupanga "zozungulira" | true kapena false |
upscale | Zosankha | AI ibweretsanso chithunzi chokulirapo. | true kapena false |