Site is back up after fixing a hardware failure
Donmai

Not being able to upload from skeb

Posted under Bugs & Features

You can use the direct image URL to upload. It'll even automatically link to the Skeb page on upload without the need to change the link manually. I personally use the Upload to Danbooru extension to right-click the image and upload. What it won't do is grab any commentary...

@Alixiron If you want to get your images unwatermarked you can do this with one simple trick

Extract your Skeb creds

  • Open any Skeb.jp page
  • Ensure you're logged in
  • Open dev tools in your browser, for example by clicking F12 in Chrome or Firefox
  • From local storage copy the value of token property, example
  • From cookies copy the value of request_key cookie, example
Update: a value of user-agent header is needed too
  • Press F12 to open dev tools and refresh the page (F5), this is important
  • Open network tab and check any of the calls, scroll to "Request Headers"
  • Copy the value of User-Agent, example

Get the unwatermarked image

In order to do it automatically you will need a help of your system to call Skeb API.

Here is a curl query template which gets the response with the unwatermarked image URL

curl https://skeb.jp/api/users/<artist_name>/works/<commission_number> -H 'Authorization: Bearer <your_extracted_token>' -H 'Cookie: request_key=<your_extracted_request_key>' -H 'User-Agent: <user_agent>'

Notice that the URL after curl keyword is not an URL to the web page, it points to API. For example https://skeb.jp/@usumeshirouchan/works/65 (webpage) becomes https://skeb.jp/api/users/usumeshirouchan/works/65 (API call).

After all is said and done a real query can look like this:

Show
curl https://skeb.jp/api/users/usumeshirouchan/works/65 -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp...' -H 'Cookie: request_key=fb58e6fc:aed...' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
Use system console

Here are useful one-line scripts in Powershell (built natively in Windows)

Get unwatermarked image URL
curl https://skeb.jp/api/users/<skeb_artist_name>/works/<commission_number> -H 'Authorization: Bearer <your_extracted_token>' -H 'Cookie: request_key=<your_extracted_request_key>' -H 'User-Agent: <user_agent>' | ConvertFrom-Json -AsHashtable | Select-Object -ExpandProperty 'article_image_url'

Copy paste the link in output and download it from your browser.

For Linux I guess you can Bash and replace the pipeline | ConvertFrom-Json -AsHashtable | Select-Object -ExpandProperty 'article_image_url' with | jq -r '.article_image_url' but I didn't test it myself.

Download unwatermarked image
curl (curl https://skeb.jp/api/users/<skeb_artist_name>/works/<commission_number> -H 'Authorization: Bearer <your_extracted_token>' -H 'Cookie: request_key=<your_extracted_request_key>' -H 'User-Agent: <user_agent>' | ConvertFrom-Json -AsHashtable | Select-Object -ExpandProperty 'article_image_url') -o "<output_path>"

output_path is a target path to the file in your system, for example "C:/Test/output.jpg", the image will be saved as such.
My local results

Use Postman

Alternatively to system console you can download Postman program and use it to call the API.
Open a new tab, paste the API url, fill the headers with creds, click Send button and that's it. Example
CTRL + click the link and it opens in your browser.

Upload the file to Danbooru

- Copy paste the webpage link as a source
- Copy paste the commentary
- Tag meticulously
- Don't forget about skeb commission!
- Post it
- Make the world a better place

Remarks

It's enough to configure it once, after that you only need to replace an artist name & a work number and press Enter.
As always only the first image in a Skeb collection is free of the sample watermark.

Freshly uploaded Murasame-chan

Updated

Freshblink said:

This method you describe sounds kind of like an exploit, yeah it's there for the taking but isn't this basically like taking a private / paid image?

Well if its fine, why not.

Not even remotely close. This is literally just using the API, which is like, the normal thing to do.

SonMati69 said:

Show

@Alixiron If you want to get your images unwatermarked you can do this with one simple trick

Extract your Skeb creds

  • Open any Skeb.jp page
  • Ensure you're logged in
  • Open dev tools in your browser, for example by clicking F12 in Chrome or Firefox
  • From local storage copy the value of token property, example
  • From cookies copy the value of request_key cookie, example

Get the unwatermarked image

In order to do it automatically you will need a help of your system to call Skeb API.

Here is a curl query template which gets the response with the unwatermarked image URL

curl https://skeb.jp/api/users/<skeb_artist_name>/works/<commission_number> -H 'Authorization: Bearer <your_extracted_token>' -H 'Cookie: request_key=<your_extracted_request_key>' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'

Notice that the URL after curl keyword is not an URL to the web page, it points to API. For example https://skeb.jp/@usumeshirouchan/works/65 (webpage) becomes https://skeb.jp/api/users/usumeshirouchan/works/65 (API call).
User-Agent part is a random, but valid source of the request, it's necessary to represent yourself as a web browser.
After all is said and done a real query can look like this:

Show
curl https://skeb.jp/api/users/usumeshirouchan/works/65 -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJkYXRhIjp...' -H 'Cookie: request_key=fb58e6fc:aed...' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
Use system console

Here are useful one-line scripts in Powershell (built natively in Windows)

Get unwatermarked image URL
curl https://skeb.jp/api/users/<skeb_artist_name>/works/<commission_number> -H 'Authorization: Bearer <your_extracted_token>' -H 'Cookie: request_key=<your_extracted_request_key>' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' | ConvertFrom-Json -AsHashtable | Select-Object -ExpandProperty 'article_image_url'

Copy paste the link in output and download it from your browser.

For Linux I guess you can Bash and replace the pipeline | ConvertFrom-Json -AsHashtable | Select-Object -ExpandProperty 'article_image_url' with | jq -r '.article_image_url' but I didn't test it myself.

Download unwatermarked image
curl (curl https://skeb.jp/api/users/<skeb_artist_name>/works/<commission_number> -H 'Authorization: Bearer <your_extracted_token>' -H 'Cookie: request_key=<your_extracted_request_key>' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' | ConvertFrom-Json -AsHashtable | Select-Object -ExpandProperty 'article_image_url') -o "<output_path>"

output_path is a target path to the file in your system, for example "C:/Test/output.jpg", the image will be saved as such.
My local results

Use Postman

Alternatively to system console you can download Postman program and use it to call the API.
Open a new tab, paste the API url, fill the headers with creds, click Send button and that's it. Example
CTRL + click the link and it opens in your browser.

Upload the file to Danbooru

- Copy paste the webpage link as a source
- Copy paste the commentary
- Tag meticulously
- Don't forget about skeb commission!
- Post it
- Make the world a better place

Remarks

It's enough to configure it once, after that you only need to replace an artist name & a work number and press Enter.
As always only the first image in a Skeb collection is free of the sample watermark.

Freshly uploaded Murasame-chan

Had some errors with the curl one for some reason but postman worked like a charm while also being easy to setup following your example. Thanks a lot.

Updated

Update

It seems that Skeb backend uses the value of User-Agent header to validate the request, so it cannot be random.
My 3 months old creds became invalid when combined with user-agent from another browser.
A trio of bearer token, request key cookie and user-agent header is used to tell Skeb API: "Hello, I'm a real user from the browser, totally not some scrapper~"

I updated the tutorial above, here is the short of it:

  • Open any Skeb page, for example: https://skeb.jp/@rinkaito1231/works/3
  • Press F12 to open dev tools and refresh the page (F5), this is important
  • Open network tab and check any of the calls, scroll to "Request Headers"
  • Copy the value of User-Agent, example

This time I did more tests, I signed out and in to Skeb to check whether it works with refreshed creds, fake values, etc

Thanks to @Dead_Princess for reporting the issue :thumbsup:

1