What's new in Napkin AI API
All notable changes to the Napkin AI API are documented here.
Versions 1.1.17 to 1.1.27 were documented retrospectively and were never returned in X-API-Version: responses at the time reported the version then deployed. Every date on this page is the date the change was merged; it reaches production with the release that carries it.
v1.2.0 (2026-09-20)
Changed — action may be required
- Every failed call to a visual endpoint now answers JSON with a stable machine-readable
errorcode and a human-readablemessage. Errors that previously came back as plain text (authentication, validation, not found, expired, internal, an unrouted path, a method an endpoint does not serve, a rejected browser origin) now come back in that envelope. If you were reading an error body as text, readerrorinstead. The OAuth token endpoints keep their RFC 6749erroranderror_descriptionshape for everything their own handlers answer; four refusals are shared with every endpoint and now reach an OAuth caller in the new envelope instead — an oversized body, a rejected origin, a path that routes nowhere, and a method an endpoint does not serve. An oversized OAuth body previously answered400 invalid_requestand now answers413 request_too_large. X-API-Versionis now sent on every response, including refusals, rather than only on the ones that reached a handler.- On a
429,erroris now one ofrate_limit_exceeded,generation_limit_exceededortoo_many_failed_attemptsrather than a sentence. Thelimit,window,reset_timeandretry_afterfields are unchanged.
Added
- Errors, limits and stability: every error code, which failures are worth retrying, how to pace against the rate limit headers, and what we promise about changes.
402 no_credits,413 request_too_largeand503 service_unavailableare now documented in the API reference. The API already answered them.- The rate limit headers are documented on the responses that carry them.
v1.1.27 (2026-09-18)
Changed — action may be required
- Generating a visual with an OAuth access token requires the
generationscope. A grant that carries scopes without this one is refused with403 insufficient_scope. If your application was registered withoutgenerationamong its scopes, ask us to add it and have your users authorize again.
v1.1.26 (2026-09-14)
Changed — action may be required
- A request body above the accepted size is refused.
contentmust contain at least one word. Punctuation, symbols and whitespace on their own are refused with a validation error.
Fixed
- A request made shortly after a top-up is no longer refused for want of credits.
- A failed request reports a reason code where one is available.
- Brand fonts render reliably in exports.
v1.1.25 (2026-09-11)
Fixed
- Failed downloads and failed authentication report a more accurate status.
v1.1.24 (2026-09-08)
Fixed
- Credits are charged once per visual request.
v1.1.23 (2026-09-07)
Fixed
- A request that cannot be completed reports a final status instead of remaining pending.
v1.1.22 (2026-09-03)
Improved
- The documented style list matches the built-in styles the API serves.
v1.1.21 (2026-09-03)
Added
- Generated exports carry provenance metadata marking them as AI-generated, so software can detect them.
v1.1.20 (2026-09-02)
Fixed
widthandheighton generated files report the file's actual dimensions.
v1.1.19 (2026-08-20)
Improved
- [Internal] Internal maintenance
v1.1.18 (2026-06-10)
Improved
- Faster visual generation.
v1.1.17 (2026-04-03)
Improved
- Documentation names the brand identifier as
style_id, matching the field the API takes.
v1.1.16 (2026-03-20)
Fixed
- [Internal] Internal bug fixes
v1.1.15 (2026-03-11)
Fixed
- [Internal] Internal bug fixes
v1.1.14 (2026-03-02)
Fixed
- [Internal] Internal bug fixes
v1.1.13 (2026-02-20)
Improved
- [Internal] Internal structural updates
v1.1.12 (2026-02-20)
Fixed
- [Internal] Internal bug fixes
v1.1.11 (2026-02-19)
Fixed
- Fix issue where position of watermark was not being respected
v1.1.10 (2026-02-19)
Fixed
- Fix issue where some users were still getting watermarks on their visuals even though they have a paid plan
v1.1.9 (2026-02-13)
Improved
- [Internal] Internal structural updates
v1.1.8 (2026-02-12)
Improved
- [Internal] Internal structural updates
v1.1.7 (2026-02-11)
Improved
- [Internal] Internal structural updates
v1.1.6 (2026-02-11)
Fixed
- Fix invoice billing mode
v1.1.5 (2026-02-10)
Improved
- [Internal] Internal structural updates
v1.1.4 (2026-02-06)
Added
- Add
variationoption tosort_strategyparameter. This strategy increases variety in visual layout results.
v1.1.3 (2026-02-06)
Improved
- [Internal] Refactor API core code
v1.1.2 (2026-02-04)
Fixed
- Return 401 instead of 403 when token expired
v1.1.1 (2026-02-03)
Fixed
- Update API request error messages to provide more context and clarity
v1.1.0 (2026-02-02)
Improved
- [Internal] Stabilize API processing
v1.0.0 (2026-01-29)
Added
- Support Napkin AI account authentication using API tokens. See Get Your API Token section for more information.
v0.13.0 (2026-01-26)
Changed
- Make
languageparameter optional but strongly recommended. If not specified, the system will auto-detect the language.
v0.12.0 (2026-01-22)
Added
-
Add new error field to visual request status responses. This field contains an error object with a message and code when the request failed or encountered a critical issue. If this field is present, the
generated_filesarray will be empty.- Available error codes:
no_credits: The user does not have enough credits to complete the request. Purchase more credits or wait for credits to refresh.no_visuals: The system could not generate any visuals for the given content. Try simplifying the content or using different parameters.
- Available error codes:
-
Add new warning codes to visual request status responses:
some_visuals_failed_orientation_control: Some visuals failed orientation control and were returned.not_enough_visuals: The system could not generate the requested number of visuals. Fewer visuals than requested are returned.
v0.11.0 (2026-01-16)
Added
- [Internal] Important internal changes related to an upcoming feature. No impact on the current API usage.
v0.10.5 (2025-12-15)
Fixed
- [Internal] Fix processing issue related to fonts
v0.10.4 (2025-12-04)
Fixed
- [Internal] Fix rate limit handling
v0.10.3 (2025-12-03)
Improved
- [Internal] Internal structural updates
v0.10.2 (2025-12-02)
Improved
- [Internal] Add more internal logging and monitoring
v0.10.1 (2025-12-01)
Fixed
- [Internal] Fix internal issue related to watermark handling
v0.10.0 (2025-11-19)
Improved
- [Internal] Performance improvements and fix latency issues
Added
- Add
sort_strategyfield to visual creation requests. This optional field allows you to control how visual layouts are sorted when multiple options are available:relevance(default): Sort by relevance to the contentrandom: Randomize the order of visual layouts
- Add new warning code
visual_id_with_random_sort: Warns when usingsort_strategy: randomwith specificvisual_idorvisual_ids. This combination may not produce the expected randomization since you've already constrained the visual selection.
v0.9.1 (2025-11-13)
Fixed
- Fix
missing_visual_idswarning being returned in too many cases where it should not be - Fix
number_of_visualsnot being respected whencolor_mode=bothis specified
v0.9.0 (2025-11-13)
Fixed
- Fix visual results sorting and quality control
v0.8.6 (2025-11-12)
Improved
- [Internal] Internal structural updates
v0.8.5 (2025-11-11)
Added
- Add
warningsfield to visual request status responses. This field contains an array of warnings about non-critical issues that occurred during processing, allowing you to understand partial failures where some visuals were generated successfully but others encountered issues.
Available warning codes:
missing_visual_ids: Some requested visual layouts could not be generated because the content does not fit the layout. This occurs when specificvisual_idsare requested but the content is too long or doesn't fit. Resolution: Try reducing text length, using different visual IDs, or omittingvisual_idsto let the system choose appropriate layouts automatically.invalid_style_id: The requestedstyle_idcould not be found or applied. The system generated visuals using the default style instead. Resolution: Verify thestyle_idis correct by checking the available styles.
v0.8.4 (2025-10-17)
Improved
- [Internal] Internal structural updates
v0.8.3 (2025-10-13)
Improved
- Validate
contentlength to ensure it does not exceed the maximum allowed length (100,000 bytes)
v0.8.2 (2025-10-07)
Improved
- [Internal] Internal structural updates
v0.8.1 (2025-10-06)
Added
- Add
text_extraction_modeparameter for specifying the text extraction mode for processing the content.
v0.8.0 (2025-10-06)
Added
- Add
color_modeparameter for specifying the color mode of the generated visual. This replaces the deprecatedinverted_colorparameter.
Deprecated
- Deprecate
inverted_colorparameter in favor ofcolor_mode(will be removed in a future version)
v0.7.2 (2025-10-01)
Improved
- [Internal] Improve internal logging and monitoring
v0.7.1 (2025-09-30)
Fixed
- Deprioritize flipped visuals in results
- Improve language output consistency
v0.7.0 (2025-08-29)
Added
- Add support for custom fonts in
svgandpngexports
v0.6.2 (2025-08-29)
Fixed
- Improve
orientationhandling to better match requested orientation - Fix case where requests were failing due to an internal error
v0.6.1 (2025-08-21)
Fixed
- Fix
orientationnot correctly being applied to visuals
Improved
- Make processing faster in case several visuals are specified in the request
v0.6.0 (2025-08-14)
Added
- Support for
pptexport (PowerPoint). Note: PPT export does not support custom fonts — any non-default fonts will be substituted with system defaults when generating slides.
v0.5.1 (2025-08-12)
Added
- Add
orientationparameter for specifying the orientation of the generated visual
Deprecated
- Deprecate
context_beforeandcontext_afterparameters in favor ofcontext(will be removed in a future version)
v0.4.0 (2025-08-01)
Added
- Support for
visual_queryandvisual_queriesparameters for searching visual types
v0.3.2 (2025-07-30)
Improved
- Make processing faster in case several visuals are specified in the request (using
visual_ids)
v0.3.1 (2025-07-25)
Improved
- Make processing faster in case several visuals are generated using the same visual ID
v0.3.0 (2025-07-24)
Added
- Support of custom styles for visual requests (see available styles for more information)
v0.2.4 (2025-07-23)
Fixed
- Fix
style_idnot being used during visual request processing
v0.2.3 (2025-07-22)
Fixed
- Fix
number_of_visualsnot being optional
v0.2.2 (2025-07-21)
Added
- Initial release of the Napkin AI API