Оршил
ImageEditor.ai платформ API-д тавтай морил!
Онцлог бүр нь манай хэрэглэгчдэд ImageEditor.ai систем дээр хиймэл оюун ухаан ашиглан зураг үүсгэх, засахад туслах зорилготой юм.
API түлхүүрээ авахын тулд бүртгэлийн хуудас руу очно уу.
Өгөгдмөл үндсэн URL
ImageEditor.ai API-н үндсэн URL нь: <b>https://api.imageeditor.ai/v1/</b>
Анхаарна уу: Аюулгүй байдлын үүднээс ImageEditor.ai бүх API-г зөвхөн HTTPS-ээр ашигладаг.
Зөвшөөрөл
ImageEditor.ai API ашиглахын тулд танд өөрийн бүртгэлтэй холбогдсон API түлхүүр хэрэгтэй болно.
Зөвшөөрлийн утгыг Толгойн хүсэлтэд илгээх ёстой.
Authorization: <api_key>
Зураг үүсгэх
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"terms": "туулай сургуульд явах, мунхаг маягийн шивээсний урлаг",
"is_sfw": True,
"negative_terms": "давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан",
"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": "туулай сургуульд явах, мунхаг маягийн шивээсний урлаг",
"is_sfw": true,
"negative_terms": "давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан",
"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'] = 'туулай сургуульд явах, мунхаг маягийн шивээсний урлаг';
$post_data['is_sfw'] = true;
$post_data['negative_terms'] = 'давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан';
$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": "туулай сургуульд явах, мунхаг маягийн шивээсний урлаг",
"is_sfw": true,
"negative_terms": "давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан",
"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);
Хариулт
/path/to/local/result.jpg
HTTP хүсэлт
POST /create-image/
Асуулгын параметрүүд
Параметр | Төрөл | Тодорхойлолт | Жишээ |
---|---|---|---|
is_sfw | Сонголттой | "Нөхцөл "true" гэж тохируулна уу | true эсвэл false |
terms | Шаардлагатай | Та ямар дүрс бүтээхийг хүсч байгаагаа хиймэл оюун ухаанд хэлээрэй. | туулай сургуульд явах, мунхаг маягийн шивээсний урлаг |
negative_terms | Сонголттой | AI-д юуг хасах ёстойг хэл. | давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан |
dimension | Сонголттой | Хөрөг эсвэл ландшафтын зураг авах, хоосон эсвэл хоосон байвал "хөрөг" утга нь анхдагч байна. | portrait эсвэл landscape |
fix_faces | Сонголттой | AI-д үр дүнгийн зураг дээрх нүүр царайг засахыг зөвшөөрнө үү. Хэрэв илгээхгүй бол худал утга нь анхдагч байна. | true эсвэл false |
make_tile | Сонголттой | Хэрэв та загвар болгон ашиглаж болох зураг авахыг хүсвэл true тохируулна уу. | true эсвэл false |
upscale | Сонголттой | AI нь томруулсан дүрсийг буцаана. | true эсвэл false |
threesixty | Сонголттой | AI нь 360º дүрсийг буцаана. | true эсвэл false |
Зургийг засах
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"terms": "Муурын зулзагатай аяга",
"is_sfw": True,
"replacing": "жимс, жимсгэний иш",
"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))
Зургийг засах
curl -X POST \
https://api.imageeditor.ai/v1/edit-image/ \
-H 'Authorization: api_key' \
-F 'files=@test_files/test.jpeg' \
-F 'terms=Муурын зулзагатай аяга' \
-F 'is_sfw=true' \
-F 'replacing=жимс, жимсгэний иш' \
-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'] = 'туулай сургуульд явах, мунхаг маягийн шивээсний урлаг';
$post_data['is_sfw'] = true;
$post_data['replacing'] = 'жимс, жимсгэний иш';
$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": "туулай сургуульд явах, мунхаг маягийн шивээсний урлаг",
"is_sfw": true,
"negative_terms": "давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан",
"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);
Хариулт
/path/to/local/result.jpg
HTTP хүсэлт
POST /edit-image/
Асуулгын параметрүүд
Параметр | Төрөл | Тодорхойлолт | Жишээ |
---|---|---|---|
is_sfw | Сонголттой | "Нөхцөл "true" гэж тохируулна уу | true эсвэл false |
terms | Шаардлагатай | Өөрийн зураг дээр үндэслэн хиймэл оюун ухаанд юу хүсч байгаагаа хэлээрэй. | Муурын зулзагатай аяга |
replacing | Сонголттой | Хэрэв та дээрх зааварт үндэслэн өөрийн зурган дээрх ямар нэг зүйлийг солихыг хүсвэл хиймэл оюун ухаанд хэлээрэй | жимс, жимсгэний иш |
negative_terms | Сонголттой | AI-д юуг хасах ёстойг хэл. | давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан |
fix_faces | Сонголттой | AI-д үр дүнгийн зураг дээрх нүүр царайг засахыг зөвшөөрнө үү. Хэрэв илгээхгүй бол худал утга нь анхдагч байна. | true эсвэл false |
outpaint | Сонголттой | Анхны дүрсийг өгвөл хиймэл оюун ухаан нь түүний "орчноо" үүсгэж чадна. | true эсвэл false |
upscale | Сонголттой | AI нь томруулсан дүрсийг буцаана. | true эсвэл false |