Favorites
Last updated
Last updated
By default, this endpoint returns all images in the user favorites, meaning it will also returns lewd images if there are some in the user favorites.
GET
https://api.waifu.im/fav
Requires
view_favorites
permission.
Name | Type | Description |
---|---|---|
{
"images": [
{
"signature": "85d7aa55941c7087",
"extension": ".jpg",
"image_id": 7622,
"favorites": 3,
"dominant_color": "#dfcdc5",
"source": "https://www.pixiv.net/en/artworks/95981691",
"artist": {
"artist_id": 54,
"name": "大熊まい",
"patreon": null,
"pixiv": "https://www.pixiv.net/users/29449",
"twitter": "https://twitter.com/m_okuma0831",
"deviant_art": null
},
"uploaded_at": "2022-04-07T13:51:47.979181Z",
"liked_at": "2022-04-07T14:07:46.455245Z",
"is_nsfw": false,
"width": 1406,
"height": 1875,
"byte_size": 1538007,
"url": "https://cdn.waifu.im/7622.jpg",
"preview_url": "https://www.waifu.im/preview/7622/",
"tags": [
{
"tag_id": 12,
"name": "waifu",
"description": "A female anime/manga character.",
"is_nsfw": false
}
]
}
]
}
{"detail":"Bad Request"}
{"detail":"Unauthorized"}
{"detail":"Forbidden"}
{"detail":"Not Found"}
{"detail":"Internal Server Error"}
Here is an example to get your favorites:
curl -X GET \
'https://api.waifu.im/fav' \
-H 'Accept-Version: v5' \
-H 'Authorization: Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0'
import requests
url = 'https://api.waifu.im/fav'
headers = {
'Accept-Version': 'v5',
'Authorization': 'Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0',
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
# Process the response data as needed
else:
print('Request failed with status code:', response.status_code)
const apiUrl = 'https://api.waifu.im/fav';
const headers = new Headers();
headers.append('Accept-Version', 'v5');
headers.append('Authorization', 'Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0');
fetch(apiUrl, { headers })
.then(response => {
if (response.ok) {
return response.json();
} else {
throw new Error('Request failed with status code: ' + response.status);
}
})
.then(data => {
// Process the response data as needed
console.log(data);
})
.catch(error => {
console.error('An error occurred:', error.message);
});
POST
https://api.waifu.im/fav/insert
Requires
manage_favorites
permission.
{"state":"INSERTED"}
{"detail":"Bad Request"}
{"detail":"Unauthorized"}
{"detail":"Forbidden"}
{"detail":"Not Found"}
{"detail":"The image you provided is already in the user favorites, consider using /fav/toggle instead."}
{"detail":"Internal Server Error"}
Here is an example to insert the image ID 8008
into your favorites:
curl -X POST \
'https://api.waifu.im/fav/insert' \
-H 'Content-Type: application/json' \
-H 'Accept-Version: v5' \
-H 'Authorization: Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0' \
-d '{
"image_id": 8008
}'
import requests
url = 'https://api.waifu.im/fav/insert'
headers = {
'Accept-Version': 'v5',
'Authorization': 'Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0',
'Content-Type': 'application/json',
}
data = {
'image_id': 8008
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
data = response.json()
# Process the response data as needed
else:
print('Request failed with status code:', response.status_code)
const apiUrl = 'https://api.waifu.im/fav/insert';
const headers = new Headers();
headers.append('Accept-Version', 'v5');
headers.append('Authorization', 'Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0');
headers.append('Content-Type', 'application/json');
const data = {
image_id: 8008
};
fetch(apiUrl, {
method: 'POST',
headers: headers,
body: JSON.stringify(data)
})
.then(response => {
if (response.ok) {
return response.json();
} else {
throw new Error('Request failed with status code: ' + response.status);
}
})
.then(data => {
// Process the response data as needed
console.log(data);
})
.catch(error => {
console.error('An error occurred:', error.message);
});
POST
https://api.waifu.im/fav/delete
Requires
manage_favorites
permission.
{"state":"DELETED"}
{"detail":"Bad Request"}
{"detail":"Unauthorized"}
{"detail":"Forbidden"}
{"detail":"Not Found"}
{"detail":"Internal Server Error"}
Here is an example to remove the image ID 8008
from your favorites:
curl -X POST \
'https://api.waifu.im/fav/delete' \
-H 'Content-Type: application/json' \
-H 'Accept-Version: v5' \
-H 'Authorization: Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0' \
-d '{
"image_id": 8008
}'
import requests
url = 'https://api.waifu.im/fav/delete'
headers = {
'Accept-Version': 'v5',
'Authorization': 'Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0',
'Content-Type': 'application/json',
}
data = {
'image_id': 8008
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
data = response.json()
# Process the response data as needed
else:
print('Request failed with status code:', response.status_code)
const apiUrl = 'https://api.waifu.im/fav/delete';
const headers = new Headers();
headers.append('Accept-Version', 'v5');
headers.append('Authorization', 'Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0');
headers.append('Content-Type', 'application/json');
const data = {
image_id: 8008
};
fetch(apiUrl, {
method: 'POST',
headers: headers,
body: JSON.stringify(data)
})
.then(response => {
if (response.ok) {
return response.json();
} else {
throw new Error('Request failed with status code: ' + response.status);
}
})
.then(data => {
// Process the response data as needed
console.log(data);
})
.catch(error => {
console.error('An error occurred:', error.message);
});
POST
https://api.waifu.im/fav/toggle
If the image is already in the user's favorites, it will be removed. If it was not in the favorites, it will be inserted.
Requires manage_favorites
permission.
{"state":"DELETED"}
{"state":"INSERTED"}
{"detail":"Bad Request"}
{"detail":"Unauthorized"}
{"detail":"Forbidden"}
{"detail":"Not Found"}
{"detail":"Internal Server Error"}
Here is an example to toggle the image ID 8008
from your favorites:
curl -X POST \
'https://api.waifu.im/fav/toggle' \
-H 'Content-Type: application/json' \
-H 'Accept-Version: v5' \
-H 'Authorization: Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0' \
-d '{
"image_id": 8008
}'
import requests
url = 'https://api.waifu.im/fav/toggle'
headers = {
'Accept-Version': 'v5',
'Authorization': 'Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0',
'Content-Type': 'application/json',
}
data = {
'image_id': 8008
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
data = response.json()
# Process the response data as needed
else:
print('Request failed with status code:', response.status_code)
const apiUrl = 'https://api.waifu.im/fav/toggle';
const headers = new Headers();
headers.append('Accept-Version', 'v5');
headers.append('Authorization', 'Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0');
headers.append('Content-Type', 'application/json');
const data = {
image_id: 8008
};
fetch(apiUrl, {
method: 'POST',
headers: headers,
body: JSON.stringify(data)
})
.then(response => {
if (response.ok) {
return response.json();
} else {
throw new Error('Request failed with status code: ' + response.status);
}
})
.then(data => {
// Process the response data as needed
console.log(data);
})
.catch(error => {
console.error('An error occurred:', error.message);
});
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|