හැදින්වීම
ImageEditor.ai වේදිකා API වෙත සාදරයෙන් පිළිගනිමු!
සෑම විශේෂාංගයක්ම නිර්මාණය කර ඇත්තේ අපගේ පරිශීලකයින්ට ImageEditor.ai හි 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 | අවශ්යයි | ඔබට නිර්මාණය කිරීමට අවශ්ය රූපය කුමක්දැයි AI හට පවසන්න. | හාවා පාසල් යන, නූගත් ස්ටයිල් ටැටූ කලාව |
negative_terms | විකල්ප | බැහැර කළ යුතු දේ AI ට කියන්න. | අනුපිටපත්, දුර්වල ලෙස අඳින ලද මුහුණ, රෝගී, දුර්වල ලෙස ඇඳ ඇති ඇඟිලි, කැත, නොපැහැදිලි, කාටූන්, ඩිස්නි, රාමුවෙන් පිටත, කපන ලද |
dimension | විකල්ප | ආලේඛ්ය හෝ භූ දර්ශන රූප ලබා ගන්න, හිස් හෝ ශුන්ය නම් "පෝට්රේට්" අගය පෙරනිමි වේ. | portrait හෝ landscape |
fix_faces | විකල්ප | ප්රතිඵල රූපවල මුහුණු සවි කිරීමට AI හට ඉඩ දෙන්න, නොයවන්නේ නම් False value පෙරනිමිය වේ. | 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 | අවශ්යයි | ඔබේ රූපය මත පදනම්ව ඔබට අවශ්ය දේ AI ට කියන්න. | පූස් පැටවුන්ගේ බඳුන |
replacing | විකල්ප | ඉහත ඔබේ විමසුම මත පදනම්ව ඔබට ඔබේ රූපයේ යමක් ප්රතිස්ථාපනය කිරීමට අවශ්ය නම් AI වෙත පවසන්න | පළතුරු සහ පළතුරු කඳ |
negative_terms | විකල්ප | බැහැර කළ යුතු දේ AI ට කියන්න. | අනුපිටපත්, දුර්වල ලෙස අඳින ලද මුහුණ, රෝගී, දුර්වල ලෙස ඇඳ ඇති ඇඟිලි, කැත, නොපැහැදිලි, කාටූන්, ඩිස්නි, රාමුවෙන් පිටත, කපන ලද |
fix_faces | විකල්ප | ප්රතිඵල රූපවල මුහුණු සවි කිරීමට AI හට ඉඩ දෙන්න, නොයවන්නේ නම් False value පෙරනිමිය වේ. | true හෝ false |
outpaint | විකල්ප | ආරම්භක රූපයක් ලබා දීමෙන්, AI හට එහි "වටපිටාව" ජනනය කළ හැක. | true හෝ false |
upscale | විකල්ප | AI විසින් විශාල පරිමාණය කළ රූපයක් ලබා දෙනු ඇත. | true හෝ false |