Nellie API Quick Start Guide #
Get started with the Nellie API in 5 minutes.
API Version: v1
Base URL:https://api.nelliewriter.com/v1
Step 1: Get Your Credentials #
1. Get Your API Key #
- Open the Nellie mobile app
- Go to Settings → API Management on mobile, or https://app.nelliewriter.com/api on web
- Select the API Keys tab
- Tap “Create Key”
- Give it a name (e.g., “My Project”)
- Copy the key immediately – it won’t be shown again!
Your API key will look like: nel_abc123def456...
2. Get Your Webhook Secret (Optional) #
If you plan to use webhooks to receive notifications:
- Go to the Webhooks tab
- Copy your Webhook Signing Secret
Your Webhook Secret will look like: whsec_...
Step 2: Make Your First Request #
Replace YOUR_API_KEY with your actual key and run:
curl -X POST https://api.nelliewriter.com/v1/book
-H "X-API-Key: YOUR_API_KEY"
-H "Content-Type: application/json"
-d '{
"prompt": "A mystery story about a missing artifact",
"style": "mystery",
"type": "novel",
"images": true,
"author": "Your Name",
"custom_tone": "Snappy dialogue and high tension",
"model": "2.0",
"output_format": "pdf",
"webhook_url": "https://your-site.com/webhook"
}'
You’ll get back a response like:
{
"success": true,
"requestId": "uuid-of-request",
"status": "queued",
"statusUrl": "https://api.nelliewriter.com/v1/status/uuid-of-request",
"message": "Job queued successfully"
}
Step 3: Check Progress #
Use the requestId to check status:
curl https://api.nelliewriter.com/v1/status/uuid-of-request
Response shows progress:
{
"requestId": "uuid-of-request",
"status": "processing",
"progress": 45,
"messages": [
"Processing.."
],
"creditsUsed": 0
}
Step 4: Get Your Results #
Keep polling until status is "completed":
{
"requestId": "uuid-of-request",
"status": "completed",
"progress": 100,
"resultUrl": "https://api.nelliewriter.com/v1/download/uuid-of-request",
"creditsUsed": 250
}
Download your generated content from the resultUrl!
Parameters Explained #
Required Parameters #
None! All parameters are optional.
Optional Parameters #
- prompt (string, optional)
- Describe what you want Nellie to create.
- If omitted, Nellie will generate a unique prompt for you!
- Example:
"A thriller about a hacker in Tokyo" - style (string, default:
automatic) - Pick from:
automatic,action,horror,history,sci_fi,superhero,mystery,drama,romance,fantasy,adventure,crime,western,comedy,epic,thriller,mythology,folklore,fable,fairy_tale,legend,psychological,suspense,noir,paranormal,dystopian,post_apocalyptic,cyberpunk,alternate_history,gothic,tragedy,surrealism. - type (string, default:
automatic) - Output format options:
automatic,novel,comic,non_fiction,manga,textbook,childrens,self_help,short_story. - images (bool, default:
false) trueto request AI-generated illustrations,falseto skip.- author (string, default:
Nellie) - Attribution that will appear on the generated content.
- custom_tone (string, default:
") - Additional tone or writing guidance layered on top of the style.
- model (string, default:
2.0) - Choose Nellie release
2.0or3.0depending on quality vs. speed. - output_format (string, default:
txt) - Export format options:
txt,pdf,epub,md,html,json. - webhook_url (string, optional)
- A URL that Nellie will POST to when the job is finished (success or failure).
- Eliminates the need to poll for status!
Python Example #
import requests
import time
API_KEY = "nel_your_key_here"
BASE_URL = "https://api.nelliewriter.com/v1"
# Start generation
response = requests.post(
f"{BASE_URL}/book",
headers={
"X-API-Key": API_KEY,
"Content-Type": "application/json",
},
json={
"prompt": "A fantasy adventure in a magical forest",
"style": "fantasy",
"type": "novel",
"images": True,
"author": "AI Writer",
"custom_tone": "Optimistic, whimsical narration",
"model": "3.0",
"output_format": "epub"
}
)
request_id = response.json()["requestId"]
print(f"Started! Request ID: {request_id}")
# Poll for completion
while True:
status = requests.get(f"{BASE_URL}/status/{request_id}").json()
print(f"Progress: {status['progress']}%")
if status['status'] == 'completed':
print("Done! Result:", status['resultUrl'])
break
elif status['status'] == 'failed':
print("Failed:", status.get('errorMessage'))
break
time.sleep(120)
Credits & Pricing #
Each generation consumes credits based on:
- Content length
- Number of images
- AI model used
Typical costs:
- Full book: 250 credits (Nellie 2.0), 500 credits (Nellie 3.0)
Purchase credits in the Nellie app.
Need Help? #
- Full Documentation: See (OVERVIEW.md)
- Email Support: support@buzzleco.com
- Check Status: View your API keys and usage in the app or on the site
Tips #
✅ DO
- Poll every 120 seconds
- Store your API key securely
- Handle errors with retry logic
- Check your credit balance
❌ DON’T
- Share your API key publicly
- Poll faster than every 120 seconds
- Commit keys to git repositories
- Assume instant completion (advanced generations take up to 80 minutes)
That’s it! You’re ready to generate books with the Nellie API. 🎉