Welcome to the JOIP API
The JOIP (Jerk Off Instruction Player) API provides programmatic access to create and manage multimedia slideshows, AI-generated captions, and adult content features.Base URL
All API requests are made to:API Architecture
The JOIP API follows RESTful principles with:- JSON Request/Response Format: All endpoints accept and return JSON
- Session-Based Authentication: Uses secure HTTP-only cookies
- Rate Limiting: Token bucket algorithm protects endpoints
- Consistent Error Handling: Standardized error responses across all endpoints
Core Features
The API provides access to:Sessions Management
Create, update, and manage multimedia slideshow sessions with:- Reddit-based automatic content fetching
- Manual/custom sessions with user uploads
- Session sharing and privacy controls
- AI-generated captions with themed prompts
Smart Captions
Generate NSFW captions for images using:- OpenAI/OpenRouter integration
- Themed caption styles (JOI, Forced-Bi, Beta, CBT, Cuckold)
- Custom AI prompts
- Caption caching with 24-hour TTL
Media Management
Personal media vault with:- Supabase Storage integration
- Bulk upload operations
- User-specific folders and privacy
- Community sharing capabilities
Additional Features
- Babecock Studio: Image composition with layout detection
- AI Undress: Image transformation using Freepik API
- Gaslighter: Reddit content browsing with media replacement
- Scroller: Custom Reddit feeds with autoscroll
Request Format
All POST and PATCH requests should include:Response Format
Successful responses return JSON with relevant data:Common Response Codes
| Code | Description |
|---|---|
200 | Success |
201 | Created |
400 | Bad Request - Invalid input |
401 | Unauthorized - Authentication required |
402 | Payment Required - Insufficient credits |
403 | Forbidden - Permission denied |
404 | Not Found |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error |
503 | Service Unavailable - Feature not configured |
API Endpoints Overview
Sessions
Captions
Media
Community
User
Data Models
Session Object
Media Object
Getting Started
- Authenticate: Login to receive session cookie
- Create a Session: POST to
/api/sessionswith configuration - Manage Content: Upload media or fetch from Reddit
- Generate Captions: Use AI caption endpoints
- Share: Enable sharing and get shareable URLs
SDK and Client Libraries
Currently, the API is designed for direct HTTP requests. Official SDKs are planned for:- JavaScript/TypeScript
- Python
- Ruby
Support
For API support and feature requests:- Check the documentation for detailed endpoint references
- Review error messages for troubleshooting guidance
- Contact support for technical assistance
Next Steps
- Authentication - Learn how to authenticate
- Rate Limiting - Understand rate limits
- Error Handling - Handle API errors properly