Skip to main content

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 error code and a human-readable message. 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, read error instead. The OAuth token endpoints keep their RFC 6749 error and error_description shape 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 answered 400 invalid_request and now answers 413 request_too_large.
  • X-API-Version is now sent on every response, including refusals, rather than only on the ones that reached a handler.
  • On a 429, error is now one of rate_limit_exceeded, generation_limit_exceeded or too_many_failed_attempts rather than a sentence. The limit, window, reset_time and retry_after fields 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_large and 503 service_unavailable are 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 generation scope. A grant that carries scopes without this one is refused with 403 insufficient_scope. If your application was registered without generation among 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.
  • content must 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

  • width and height on 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 variation option to sort_strategy parameter. 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 language parameter 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_files array 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.
  • 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_strategy field 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 content
    • random: Randomize the order of visual layouts
  • Add new warning code visual_id_with_random_sort: Warns when using sort_strategy: random with specific visual_id or visual_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_ids warning being returned in too many cases where it should not be
  • Fix number_of_visuals not being respected when color_mode=both is 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 warnings field 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 specific visual_ids are requested but the content is too long or doesn't fit. Resolution: Try reducing text length, using different visual IDs, or omitting visual_ids to let the system choose appropriate layouts automatically.
  • invalid_style_id: The requested style_id could not be found or applied. The system generated visuals using the default style instead. Resolution: Verify the style_id is 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 content length 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_mode parameter for specifying the text extraction mode for processing the content.

v0.8.0 (2025-10-06)​

Added

  • Add color_mode parameter for specifying the color mode of the generated visual. This replaces the deprecated inverted_color parameter.

Deprecated​

  • Deprecate inverted_color parameter in favor of color_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 svg and png exports

v0.6.2 (2025-08-29)​

Fixed

  • Improve orientation handling to better match requested orientation
  • Fix case where requests were failing due to an internal error

v0.6.1 (2025-08-21)​

Fixed

  • Fix orientation not 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 ppt export (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 orientation parameter for specifying the orientation of the generated visual

Deprecated​

  • Deprecate context_before and context_after parameters in favor of context (will be removed in a future version)

v0.4.0 (2025-08-01)​

Added

  • Support for visual_query and visual_queries parameters 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_id not being used during visual request processing

v0.2.3 (2025-07-22)​

Fixed

  • Fix number_of_visuals not being optional

v0.2.2 (2025-07-21)​

Added

  • Initial release of the Napkin AI API