giriiş
ImageEditor.ai platform API'sine hoş geldiniz!
Her özellik, kullanıcılarımızın AI ile ImageEditor.ai'nin sisteminde görüntüleri daha kolay oluşturmasına veya düzenlemesine yardımcı olmak için tasarlanmıştır.
API anahtarınızı almak için lütfen hesap sayfasına gidin.
Varsayılan Temel URL
ImageEditor.ai API için varsayılan temel URL şudur: <b>https://api.imageeditor.ai/v1/</b>
Not: güvenlik nedeniyle, tüm ImageEditor.ai API'leri yalnızca HTTPS üzerinden sunulur.
yetki
ImageEditor.ai API'sini kullanmak için, hesabınıza bağlı API anahtarına ihtiyacınız olacak.
Yetkilendirme değeri, Başlık isteğinde gönderilmelidir.
Authorization: <api_key>
Görüntüler oluştur
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"terms": "okula giden tavşan cahil tarzı dövme sanatı",
"is_sfw": True,
"negative_terms": "yinelenen, kötü çizilmiş yüz, hastalıklı, kötü çizilmiş parmaklar, çirkin, bulanık, çizgi film, disney, çerçeve dışı, kırpılmış",
"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": "okula giden tavşan cahil tarzı dövme sanatı",
"is_sfw": true,
"negative_terms": "yinelenen, kötü çizilmiş yüz, hastalıklı, kötü çizilmiş parmaklar, çirkin, bulanık, çizgi film, disney, çerçeve dışı, kırpılmış",
"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'] = 'okula giden tavşan cahil tarzı dövme sanatı';
$post_data['is_sfw'] = true;
$post_data['negative_terms'] = 'yinelenen, kötü çizilmiş yüz, hastalıklı, kötü çizilmiş parmaklar, çirkin, bulanık, çizgi film, disney, çerçeve dışı, kırpılmış';
$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": "okula giden tavşan cahil tarzı dövme sanatı",
"is_sfw": true,
"negative_terms": "yinelenen, kötü çizilmiş yüz, hastalıklı, kötü çizilmiş parmaklar, çirkin, bulanık, çizgi film, disney, çerçeve dışı, kırpılmış",
"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);
Cevap
/path/to/local/result.jpg
HTTP İsteği
POST /create-image/
Sorgu parametreleri
Parametre | Tip | Tanım | Örnek |
---|---|---|---|
is_sfw | İsteğe bağlı | "true" ayarlayın | true veya false |
terms | Gerekli | AI'ya hangi görüntüyü oluşturmak istediğinizi söyleyin. | okula giden tavşan cahil tarzı dövme sanatı |
negative_terms | İsteğe bağlı | AI'ya neyin hariç tutulması gerektiğini söyleyin. | yinelenen, kötü çizilmiş yüz, hastalıklı, kötü çizilmiş parmaklar, çirkin, bulanık, çizgi film, disney, çerçeve dışı, kırpılmış |
dimension | İsteğe bağlı | Dikey veya yatay resimler alın, boş veya boşsa "portre" değeri varsayılandır. | portrait veya landscape |
fix_faces | İsteğe bağlı | Yapay zekanın sonuç görüntülerdeki yüzleri düzeltmesine izin verin, gönderilmezse yanlış değer varsayılandır. | true veya false |
make_tile | İsteğe bağlı | Desen olarak kullanılabilecek bir görüntü istiyorsanız true ayarlayın. | true veya false |
upscale | İsteğe bağlı | AI, daha büyük ölçekli bir görüntü döndürür. | true veya false |
threesixty | İsteğe bağlı | AI, 360º bir görüntü döndürür. | true veya false |
Resimleri düzenle
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"terms": "Bir kase yavru kedi",
"is_sfw": True,
"replacing": "meyve ve meyve sapı",
"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))
Resimleri düzenle
curl -X POST \
https://api.imageeditor.ai/v1/edit-image/ \
-H 'Authorization: api_key' \
-F 'files=@test_files/test.jpeg' \
-F 'terms=Bir kase yavru kedi' \
-F 'is_sfw=true' \
-F 'replacing=meyve ve meyve sapı' \
-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'] = 'okula giden tavşan cahil tarzı dövme sanatı';
$post_data['is_sfw'] = true;
$post_data['replacing'] = 'meyve ve meyve sapı';
$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": "okula giden tavşan cahil tarzı dövme sanatı",
"is_sfw": true,
"negative_terms": "yinelenen, kötü çizilmiş yüz, hastalıklı, kötü çizilmiş parmaklar, çirkin, bulanık, çizgi film, disney, çerçeve dışı, kırpılmış",
"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);
Cevap
/path/to/local/result.jpg
HTTP İsteği
POST /edit-image/
Sorgu parametreleri
Parametre | Tip | Tanım | Örnek |
---|---|---|---|
is_sfw | İsteğe bağlı | "true" ayarlayın | true veya false |
terms | Gerekli | AI'ya resminize göre ne istediğinizi söyleyin. | Bir kase yavru kedi |
replacing | İsteğe bağlı | Yukarıdaki isteminize göre görüntünüzdeki bir şeyi değiştirmek isteyip istemediğinizi AI'ya söyleyin. | meyve ve meyve sapı |
negative_terms | İsteğe bağlı | AI'ya neyin hariç tutulması gerektiğini söyleyin. | yinelenen, kötü çizilmiş yüz, hastalıklı, kötü çizilmiş parmaklar, çirkin, bulanık, çizgi film, disney, çerçeve dışı, kırpılmış |
fix_faces | İsteğe bağlı | Yapay zekanın sonuç görüntülerdeki yüzleri düzeltmesine izin verin, gönderilmezse yanlış değer varsayılandır. | true veya false |
outpaint | İsteğe bağlı | Bir başlangıç görüntüsü verildiğinde, AI "çevresini" oluşturabilir | true veya false |
upscale | İsteğe bağlı | AI, daha büyük ölçekli bir görüntü döndürür. | true veya false |