Get your favorites
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 your favorites.
GET
https://api.waifu.im/fav
Requires
view_favorites
permission.
Query Parameters
Force the API to return images with at least all the provided tags.
Force the API to return images without any of the provided tags.
Force the API to provide only the specified file IDs or signatures.
Force the API to not list the specified file IDs or signatures.
Force or exclude lewd files (only works if included_tags only contain versatile tags and no nsfw only tag). You can provide 'null' to make it random.
Force or prevent the API to return .gif files.
Ordering criteria for the images.
Image orientation criteria.
Return an array of 30 files if true.
Returns the full result without any limit (admins only).
Filter images by width (in pixels). Accepted operators: <=, >=, >, <, !=, =
Filter images by height (in pixels). Accepted operators: <=, >=, >, <, !=, =
Filter images by byte size. Accepted operators: <=, >=, >, <, !=, =
Bearer
followed by a space and your token
200: OK 400: Bad Request 401: Unauthorized 403: Forbidden 404: Not Found 500: Internal Server Error
Copy {
"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
}
]
}
]
}
Copy {"detail":"Bad Request"}
Copy {"detail":"Unauthorized"}
Copy {"detail":"Forbidden"}
Copy {"detail":"Not Found"}
Copy {"detail":"Internal Server Error"}
Here is an example to get your favorites:
Curl Python Javascript
Copy curl -X GET \
'https://api.waifu.im/fav' \
-H 'Accept-Version: v5' \
-H 'Authorization: Bearer TjBY0MBcS3-SEc3Ms6T4GKjHGJkbqM6McejlQdnqo2y47jWNLa4agsWYdJukocDqHpm2zYFO5z2AjMzkUSfLsCz1AgbDhSjKLMIOnhJGFgODgOkSnzaAWzvGZZPdbm6vOTxs2chmz-3DSRVzwQLl__eYE4Wnjtr0aIGzXlo82M0'
Copy 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)
Copy 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);
});
Manage your favorites
Inserts an image into the user
POST
https://api.waifu.im/fav/insert
Requires
manage_favorites
permission.
Bearer
followed by a space and your token
Request Body
The ID of the image to insert.
The user ID of the user whose favorites you want to edit.
200: OK 400: Bad Request 401: Unauthorized 403: Forbidden 404: Not Found 409: Conflict 500: Internal Server Error
Copy {"detail":"Bad Request"}
Copy {"detail":"Unauthorized"}
Copy {"detail":"Forbidden"}
Copy {"detail":"Not Found"}
Copy {"detail":"The image you provided is already in the user favorites, consider using /fav/toggle instead."}
Copy {"detail":"Internal Server Error"}
Here is an example to insert the image ID 8008
into your favorites:
Curl Python Javascript
Copy 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
}'
Copy 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)
Copy 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);
});
Removes an image from the user
POST
https://api.waifu.im/fav/delete
Requires
manage_favorites
permission.
Bearer
followed by a space and your token
Request Body
The ID of the image to remove.
The user ID of the user whose favorites you want to edit.
200: OK 400: Bad Request 401: Unauthorized 403: Forbidden 404: Not Found 500: Internal Server Error
Copy {"detail":"Bad Request"}
Copy {"detail":"Unauthorized"}
Copy {"detail":"Forbidden"}
Copy {"detail":"Not Found"}
Copy {"detail":"Internal Server Error"}
Here is an example to remove the image ID 8008
from your favorites:
Curl Python Javascript
Copy 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
}'
Copy 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)
Copy 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);
});
Toggles an image in the user
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.
Bearer
followed by a space and your token
Request Body
The ID of the image to toggle.
The user ID of the user whose favorites you want to edit.
200: OK If the image was already in the favorites 200: OK If the image was not already in the favorites 400: Bad Request 401: Unauthorized 403: Forbidden 404: Not Found 500: Internal Server Error
Copy {"detail":"Bad Request"}
Copy {"detail":"Unauthorized"}
Copy {"detail":"Forbidden"}
Copy {"detail":"Not Found"}
Copy {"detail":"Internal Server Error"}
Here is an example to toggle the image ID 8008
from your favorites:
Curl Python Javascript
Copy 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
}'
Copy 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)
Copy 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);
});
Last updated 11 months ago