This error indicates a Cloudinary configuration issue. Follow these steps to resolve it:
In Val Town, go to your project β Environment Variables and verify these are set:
Required:
CLOUDINARY_CLOUD_NAME- Your Cloudinary cloud name
Choose ONE of these options:
Option A: Unsigned Upload (Easier)
CLOUDINARY_UPLOAD_PRESET- Your unsigned upload preset name
Option B: Signed Upload
CLOUDINARY_API_KEY- Your Cloudinary API keyCLOUDINARY_API_SECRET- Your Cloudinary API secret
- Go to Cloudinary Dashboard
- Sign up for a free account if you don't have one
- Copy your credentials from the dashboard:
- Cloud Name: Found at the top of the dashboard
- API Key: Found in the "Account Details" section
- API Secret: Found in the "Account Details" section (click "Reveal")
For easier setup, create an unsigned upload preset:
- In Cloudinary dashboard, go to Settings β Upload
- Scroll down to Upload presets
- Click Add upload preset
- Set Signing Mode to Unsigned
- Give it a name (e.g., "opencloset")
- Click Save
- Add
CLOUDINARY_UPLOAD_PRESET=your_preset_nameto Val Town environment variables
Use the debug tool in ChatGPT:
Test my Cloudinary configuration
This will run the opencloset.test_cloudinary tool and show you:
- Which environment variables are set
- Whether a test upload works
- Specific error messages if something is wrong
Solution: Your Cloudinary account might be suspended or the cloud name is incorrect.
- Verify your account is active in the Cloudinary dashboard
- Double-check the cloud name spelling
Solution: Your API credentials are incorrect.
- Re-copy the API key and secret from Cloudinary dashboard
- Make sure there are no extra spaces in the environment variables
Solution: The upload preset doesn't exist or is named incorrectly.
- Check the preset name in Cloudinary dashboard
- Ensure it's set to "Unsigned" mode
Solution: There's an issue with the signed upload.
- Try using an unsigned upload preset instead
- Verify your API secret is correct
If you want to test Cloudinary directly, you can use curl:
# Test unsigned upload curl -X POST \ https://api.cloudinary.com/v1_1/YOUR_CLOUD_NAME/image/upload \ -F "file=https://images.unsplash.com/photo-1521572163474-6864f9cf17ab" \ -F "upload_preset=YOUR_PRESET_NAME"
Replace YOUR_CLOUD_NAME and YOUR_PRESET_NAME with your actual values.
Make sure your environment variables are set exactly like this in Val Town:
CLOUDINARY_CLOUD_NAME=mycloud
CLOUDINARY_UPLOAD_PRESET=opencloset
NOT like this:
CLOUDINARY_CLOUD_NAME="mycloud" β (no quotes)
CLOUDINARY_CLOUD_NAME= mycloud β (no spaces)
If you're still having issues:
- Run the test tool: "Test my Cloudinary configuration"
- Check the server logs in Val Town for detailed error messages
- Verify your Cloudinary account is active and not suspended
- Try creating a new upload preset with a different name
- Cloudinary account created
- Cloud name copied to
CLOUDINARY_CLOUD_NAME - Upload preset created and set to "Unsigned"
- Preset name copied to
CLOUDINARY_UPLOAD_PRESET - Test tool shows "β Test upload successful"
- Try uploading a clothing photo: "Add this to my closet as a top"