removing ollama | adding altbot alttext grabbing

Altbot generates very got alt texts. we just use these instead of using ollama. ollama is not very got when it comes to alt text...
This commit is contained in:
D5k H3h authored and GitHub committed 2025-01-20 16:55:34 +01:00
1 parent 097a195841
commit f42269d8b5
1 file changed
+54 -14
+54 -14
View File
@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# Please fill out! # Please fill out!
INSTANCE_URL="https://botsin.space" # Mastodon Instance INSTANCE_URL="https://mastodon.social" # Mastodon Instance
ACCESS_TOKEN="my_bot_token" # Mastodon Access Token ACCESS_TOKEN="my_bot_token" # Mastodon Access Token
SUBREDDIT="memes" # Subreddit (must be Image Only, like r/memes) SUBREDDIT="memes" # Subreddit (must be Image Only, like r/memes)
@@ -35,40 +35,80 @@ if [ $(du -m /tmp/$filename | awk '{print $1}') -gt 8 ]; then # Check if the fil
mv /tmp/ff.$filename /tmp/$filename mv /tmp/ff.$filename /tmp/$filename
fi fi
ffmpeg -i /tmp/$filename /tmp/meme.gen.png
alt=$(ollama run llava "Describe the meme. do not use more than 1000 characters /tmp/meme.gen.png")
ollama stop llava
alt=$(echo $alt | sed 's/"//g' | sed 's/^[[:space:]]*//; s/[[:space:]]*$//')
echo $alt
rm /tmp/meme.gen.png
# Upload the image and get the media ID # Upload the image and get the media ID
MEDIA_ID=$(curl -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \ MEDIA_ID=$(curl -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-F "file=@/tmp/$filename" \ -F "file=@/tmp/$filename" \
-F "description=AI generated Alt Text: $alt" \
"$INSTANCE_URL/api/v1/media" \ "$INSTANCE_URL/api/v1/media" \
| jq -r '.id') | jq -r '.id')
if [ "$tags" = "null" ]; then # Check if the Post is NSFW if [ "$tags" = "null" ]; then # Check if the Post is NSFW
# Post the status with the image # Post the status with the image
curl -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \ status=$(curl -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-F "status=$title -F "status=$title
($url) #SFW" \ ($url) #SFW" \
-F "media_ids[]=$MEDIA_ID" \ -F "media_ids[]=$MEDIA_ID" \
"$INSTANCE_URL/api/v1/statuses" "$INSTANCE_URL/api/v1/statuses")
else else
# Post the status with the image and make it NSFW # Post the status with the image and make it NSFW
curl -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \ status=$(curl -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-F "status=$title -F "status=$title
($url) #NSFW" \ ($url) #NSFW" \
-F "sensitive=true" \ -F "sensitive=true" \
-F "media_ids[]=$MEDIA_ID" \ -F "media_ids[]=$MEDIA_ID" \
"$INSTANCE_URL/api/v1/statuses" "$INSTANCE_URL/api/v1/statuses")
fi fi
rm /tmp/$filename # Delete the Image rm /tmp/$filename # Delete the Image
# Now getting alt text from altbot. | this is temporary until i finally figure stuff out.
sleep 120
status=$(echo $status | jq -r '.id')
alt=$(curl -X GET "https://mastodon.social/api/v1/statuses/$status/context")
alt=$(echo $alt | jq '.descendants[] | select(.account.acct == "altbot@fuzzies.wtf" and (.content | contains("generated using Gemini"))) | .content' | head -n 1)
alt=$(echo "$alt" | sed -e 's/<p>/\n/g' -e 's/<\/p>/\n/g' -e 's/<[^>]*>//g' -e 's/@reddit_memebot//')
alt=$(echo "$alt" | sed 's/ */ /g' | sed 's/^ //;s/ $//')
alt=$(echo "$alt" | sed 's/^"//;s/"$//')
if [ -n "$alt" ]; then
# bad: using the same code twice
if [ "$tags" = "null" ]; then # Check if the Post is NSFW
# Post the status with the image
status_edit=$(curl -X PUT -H "Authorization: Bearer $ACCESS_TOKEN" \
-F "status=$title
($url) #SFW" \
-F "media_ids[]=$MEDIA_ID" \
-F "media_attributes={\"id\":\"$MEDIA_ID\",\"description\":\"$description\"}" \
"$INSTANCE_URL/api/v1/statuses/$status")
else
# Post the status with the image and make it NSFW
status_edit=$(curl -X PUT -H "Authorization: Bearer $ACCESS_TOKEN" \
-F "status=$title
($url) #NSFW" \
-F "sensitive=true" \
-F "media_ids[]=$MEDIA_ID" \
-F "media_attributes={\"id\":\"$MEDIA_ID\",\"description\":\"$description\"}" \
"$INSTANCE_URL/api/v1/statuses/$status")
fi
else
echo "There is no alt text, not editing the post"
fi
echo $status_edit