Skip to main content

An API wrapper for the PixAI

Project description

Pix-Chan

PixAIというサイトのPython用APIラッパー、すぐ対策されそう

>> pip install pix-chan <<

使い方

example.py

from Pix_Chan import PixAI

pix=PixAI("メールアドレス","パスワード",login=False,proxy=None)#login=Falseでアカウント生成される、生成されたアカウントには3000クオータがついてくる
print(pix.token)
print(pix.user_id)#ユーザーIDはアンケート以外に用途なしな上に自動入力
pix.claim_daily_quota()#デイリー報酬の10000クオータを手に入れる、すでに受け取っていたらエラーになる
pix.claim_questionnaire_quota()#アンケートに答えて15000クオータを手に入れる、これもすでに受け取っていたらエラーになる
#アカウント生成したら合計で28000クオータ手に入る

pix=PixAI("メールアドレス","パスワード",proxy=None)#loginはデフォルトでTrue、トークンログインもあるけどべつにしなくていい
print(pix.get_quota())#ゆいいつintで数字だけ返ってくる
query_id=pix.generate_image("プロンプト")
#プロンプトは, で区切る、例えば 1girl, pinkなど
#widthとheightをintで指定できる、なんと課金しなくても課金専用の解像度でリクエストしてもちゃんと生成される...
#x4=Trueにして4枚同時生成、後述するメディアIDのリストに4つIDが格納されるようになる
#エロは規制されることがけっこうある (特にloliや固有名詞 + nakedみたいな)
#直接的な表現を控えると通ったりする (loli, nakedは生成されないけど、loli, no clothは生成される)
#query_idがクエリーIDになる、これはstr
media_ids=pix.get_task_by_id(query_id)#クエリーIDからメディアIDを取得する、リストが返ってくる
for media_id in media_ids:
    print(pix.get_media(media_id))#メディアIDを使って、生成された画像のURLを取得してお仕事完了

media_ids=pix.get_latest_task()#クエリーIDがわからなくても1番最後にリクエストしたタスクを取得する、これもリストでメディアIDが返ってくる
media_ids=pix.get_all_tasks()#すべてのタスクを取得する、リストにリストが格納される -> [["メディアID","メディアID","メディアID","メディアID"],["メディアID"],["メディアID"]] 的な

#コメントで書いてあるのが全部、悪用したら対策されるのが早くなりそう

もう少し知る

ログイン / アカウント生成

pix=PixAI("メールアドレス","パスワード",login=False,proxy=None)

login=Trueがデフォルトで、Falseにしたら入力したメールアドレスとパスワードでアカウントを作成する
レート制限は思ったより緩いけどちゃんとかかる
アカウント生成にメールアドレス認証は不用 (2024/10/18) なのでテキトーなメールアドレスを入力してOK
これだけで3000クオータ (PixAIの通貨で、デフォルト設定で1枚生成するのに2200クオータ消費する) 入ったアカウントが手に入る

無料ゲットQuota

pix.claim_daily_quota()#デイリー報酬の10000クオータを手に入れる、すでに受け取っていたらエラーになる
pix.claim_questionnaire_quota()#アンケートに答えて15000クオータを手に入れる、これもすでに受け取っていたらエラーになる

1日1回ログインボーナスで10000クオータもらえる、デフォルト設定なら2200クオータ / 1枚 なので4つ生成できる
アンケート報酬のクオータはアカウントごとに1回、15000クオータもらえる
アンケートはGoogleFormsにユーザーIDを入れて回答されたものを送信するとクオータ入手クエストのとこから申請できるようになる
pix.claim_questionnaire_quota()はフォーム送信と申請を自動化している
これでアカウント生成すると28000クオータチャージされたアカウントが手に入るということ...
クオータが尽きたら次のアカウントを生成してまた画像生成すればOK、対策されるまでは遊べる

画像生成をリクエスト

query_id=pix.generate_image("プロンプト")
#プロンプトは, で区切る、例えば 1girl, pinkなど
#widthとheightをintで指定できる、なんと課金しなくても課金専用の解像度でリクエストしてもちゃんと生成される...
#x4=Trueにして4枚同時生成、後述するメディアIDのリストに4つIDが格納されるようになる
#エロは規制されることがけっこうある (特にloliや固有名詞 + nakedみたいな)
#直接的な表現を控えると通ったりする (loli, nakedは生成されないけど、loli, no clothは生成される)
#query_idがクエリーIDになる、これはstr

コメントに書いてある通り、プロンプトと必要あれば横幅・高さをintで指定したり、x4=Trueで4枚同時に生成したりできる
この時、課金アカウント限定の解像度を指定してもふつうに生成できてしまう...
AI画像生成を使う人のほとんどはえっちな絵を生成したくて使っていると思うけど、けっこう厳しくてプロンプトに趣味を盛り込むとことごとく弾かれる
どういう判定かはよくわからない -> nsfw は弾かれないけど naked は弾かれる、loli, nsfw は弾かれるけど loli, no cloth は弾かれない し、なんか別のプロンプトまぜてるとうまくいったりいかなかったり
ただ裸でいいなら無難に 欲しい特徴, no cloth だけ書いて4枚生成ガチャしてお気に入りを探そう
ソースコードには samplingSteps samplingMethod cfgScale seed modelId ...など生成に使える引数は1通りあるけどこだわるならそこだけ自分で修正してください...

本当にこだわるならStableDiffusionとか使った方がいいけど、VRAM 4GBあってもろくに生成できないからハードル高いよ(泣)

生成された画像を確認

media_ids=pix.get_task_by_id(query_id)#クエリーIDからメディアIDを取得する、リストが返ってくる
for media_id in media_ids:
    print(pix.get_media(media_id))#メディアIDを使って、生成された画像のURLを取得してお仕事完了

example.pyにはクエリーIDがわからない時用の pix.get_latest_task() や全取得の pix.get_all_tasks() も書いてあるけど画像生成をリクエストする際にクエリーIDが返されるので基本的にはIDからタスクをゲットすると思う
あたりまえだけど生成が終わってないのに画像URLを取得することはできない -> なので生成が終わってないタスクに関しては None を返すようにしてる
ようするに

while True:
    media_ids=await pix.get_task_by_id(gen_id)
    if media_ids:
        break
    sleep(10)
#ここから生成された画像のURLを取得する処理を書いたり

いずれメディアIDの入ったリストが返ってくるのでそれまでWhileで無限ループでOK

for media_id in media_ids:
    print(pix.get_media(media_id))#メディアIDを使って、生成された画像のURLを取得してお仕事完了

pix.get_media(media_id) は画像URLだけを返すのでブラウザーで開くなりなにかに埋め込むなりで画像ゲット、これで全部完了

余談

こんなのでいいの?って思うほどアカウントを作りまくって28000クオータ使って無限に画像を生成できる その気になればいつでもすぐに対策できそうな内容ばかりなので動作は保証できません
いちおうアカウント生成 / ログインにinvisible reCaptchaのレスポンスを要求されるけどふつうに入手できるのでBot検知という面ではあんまり役に立ってなかったりする
VRAM 12GB以上のGPU、買いませんか?(買えない)

コンタクト

Discord サーバー / https://discord.gg/aSyaAK7Ktm
Discord ユーザー名 / .taka.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Pix-Chan-1.0.0.tar.gz (11.3 kB view details)

Uploaded Source

File details

Details for the file Pix-Chan-1.0.0.tar.gz.

File metadata

  • Download URL: Pix-Chan-1.0.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for Pix-Chan-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2415352548095c0531d230269176e9b970f0acce00a91e2f55888e04e317e31b
MD5 dd5da5621204cc6b038bb431290c7a46
BLAKE2b-256 148c58c1a0ac57470f4bbe5317d49eba46572d2d1b74967e14317d59fb593797

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page