Увод
Добродошли у АПИ платформе Валлпаперс.аи!
Свака функција је дизајнирана да помогне нашим корисницима да лакше креирају позадине помоћу вештачке интелигенције на систему Валлпаперс.аи.
Да бисте добили свој АПИ кључ, идите на страницу налога .
Подразумевани основни УРЛ
Подразумевани основни УРЛ за Валлпаперс.аи АПИ је: хттпс: //апи.валлпаперс.аи/в1/
Напомена: из безбедносних разлога, сви ТЛДВаи.цом АПИ-ји се служе само преко ХТТПС-а.
Овлашћење
Да бисте користили Валлпаперс.аи АПИ, биће вам потребан АПИ кључ који је повезан са вашим налогом .
Вредност ауторизације треба послати у захтеву заглавља.
Authorization: <api_key>
Креирајте позадину
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"terms": "зец иде у школу, неук стил тетоважа",
"dimension": "desktop",
}
base_api_url = "https://api.wallpapers.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-wallpaper/",
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.wallpapers.ai/v1/create-wallpaper/ \
-H 'Authorization: api_key' \
-H 'Content-Type: application/json' \
-d '{
"terms": "зец иде у школу, неук стил тетоважа",
"dimension": "desktop",
}'
Одговор
curl -X POST \
https://api.wallpapers.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.wallpapers.ai/v1/edit-image/";
$results_url = "https://api.wallpapers.ai/v1/results/";
function download_file($url, $filename){
$curl = curl_init();
$url = "https://api.wallpapers.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['dimension'] = 'desktop';
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.wallpapers.ai/v1/create-wallpaper/'
const results_url = 'https://api.wallpapers.ai/v1/results/'
function convertFiles(file_list) {
let data = {
"terms": "зец иде у школу, неук стил тетоважа",
"dimension": "desktop",
};
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);
Reponse
/path/to/local/result.jpg
ХТТП захтев
POST /create-wallpaper/
Параметри упита
Параметар | Тип | Опис | |
---|---|---|---|
terms | Потребан | Реците АИ коју позадину желите да направите. | зец иде у школу, неук стил тетоважа |
dimension | Опционо | Набавите позадину за десктоп или телефоне, вредност "desktop" је подразумевана ако је празна или нула. | desktop или phone |