# Submitting a book to MyBookIllustrator — instructions for automated agents # https://mybookillustrator.com/agents.txt # Last updated: 2026-11-02 If you are an automated agent acting for a human author, this file is the whole contract. The HTML form at /author-showcase.html#author-submission-form does the same thing, but it needs a JavaScript token handshake, so read this instead of driving the DOM. There is no API key and no account. Every submission is confirmed by email, and that click is what makes the listing public. You cannot complete a submission without the human. -------------------------------------------------------------------------------------- ## 1. Get a submission token curl -s -c cookies.txt https://mybookillustrator.com/showcase/token.php Returns JSON: { "success": true, "csrf_token": "...", # send back as csrf_token "form_token": "...", # send back as form_token "form_started_at": 1793644685, # send back as form_started_at (integer) "expires_in": 7200, # seconds this token stays valid "min_seconds_before_submit": 5, # wait at least this long before POSTing "image_uploads_enabled": true, # if false, stop: uploads are paused "max_cover_bytes": 6291456, "max_author_photo_bytes": 6291456, "max_request_bytes": 16777216, "submit_url": "https://mybookillustrator.com/showcase/submit.php", "content_type": "multipart/form-data", "required_fields": [ ... ], "required_files": ["book_cover"], "consent_values": ["yes"] } You MUST keep the cookie from this request. The token is bound to that session. ## 2. Wait Wait at least `min_seconds_before_submit` seconds. A faster POST is rejected with HTTP 422 ("Please take a few seconds to review the submission before sending it."). ## 3. POST the submission `multipart/form-data` to `submit_url`, sending the cookie, with `Accept: application/json` so errors come back as JSON instead of HTML. Fields (all text fields are plain text; HTML is rejected): csrf_token from step 1 form_token from step 1 form_started_at from step 1, as-is author_name private contact name, 2-100 chars email private contact email; the verification link goes here public_author_name display name or pen name (defaults to author_name) book_title 2-160 chars publication_status one of: Published | Available for preorder | Coming soon | Work in progress reader_age 2-60 chars, free text (e.g. "ages 4-8") story_summary 40-900 chars author_bio 20-650 chars story_value optional, max 500 chars public_book_link optional, https only public_author_link optional, https only adult_confirmation must be "yes" (submitter is 18+) rights_confirmation must be "yes" (holds display rights) accuracy_confirmation must be "yes" immediate_publication must be "yes" (listing appears once email is verified) child_privacy_confirmation must be "yes" (no child's private information) minor_image_confirmation must be "yes" (no photographs of children) showcase_terms must be "yes" File: book_cover required. JPEG, PNG or WebP. Sent as a normal file part. author_photo optional. Must show an adult. Public text fields must not contain URLs, email addresses, or phone numbers — the spam filter rejects them. Put links in public_book_link / public_author_link. Example: curl -s -b cookies.txt -X POST https://mybookillustrator.com/showcase/submit.php \ -H "Accept: application/json" \ -F "csrf_token=$CSRF" -F "form_token=$FORM" -F "form_started_at=$STARTED" \ -F "author_name=Jane Doe" -F "email=jane@example.com" \ -F "public_author_name=Jane Doe" -F "book_title=The Kite That Waited" \ -F "publication_status=Published" -F "reader_age=ages 4-8" \ -F "story_summary=..." -F "author_bio=..." \ -F "adult_confirmation=yes" -F "rights_confirmation=yes" \ -F "accuracy_confirmation=yes" -F "immediate_publication=yes" \ -F "child_privacy_confirmation=yes" -F "minor_image_confirmation=yes" \ -F "showcase_terms=yes" \ -F "book_cover=@cover.jpg;type=image/jpeg" ## 4. Outcomes 200 {"success":true,"status":"check-email", ...} pending, waiting for the human 409 that book has already been submitted (fingerprint match) 422 a field failed validation; the message names the problem 403 token missing, expired, or invalid — go back to step 1 429 rate limited from this IP; wait and retry 503 submissions are paused globally; do not retry in a loop ## 5. Hand back to the human Tell the author that a verification email is on its way and that clicking the link is what publishes the listing. That email also contains their private management link, which is the only way to edit or remove the book later. Do not try to fetch or guess that link. ## Rules - One book per submission. Re-submitting the same title, author and summary is rejected. - Do not create listings for books the submitter does not have the rights to publish. - Do not attempt to remove or edit an existing listing without the management link. - Covers are re-encoded and stripped of metadata; only the processed copy is published.