Skip to content

fix(adobe-firefly): default gpt-image detailLevel to maximal (5) - #8863

Merged
diegosouzapw merged 3 commits into
cheaper-inference:release/v3.8.49from
artickc:fix/adobe-firefly-gpt-detail-level-max
Jul 28, 2026
Merged

diegosouzapw merged 3 commits into
cheaper-inference:release/v3.8.49from
artickc:fix/adobe-firefly-gpt-detail-level-max

Conversation

@artickc

@artickc artickc commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

GPT Image 2 (and other Firefly gpt-image family models) send generationSettings.detailLevel (integer 1–5) on generate-async. Output quality is dominated by this field.

Problem

  • Live firefly.adobe.com SPA often defaults to detailLevel: 3 (medium).
  • Our mapper previously defaulted missing quality to "medium"and mappedauto` → 3 as well.
  • Clients that omit quality (or send auto) therefore received mid-tier detail even though max (5) is available and preferred for GPT Image 2.

Change

gptDetailLevel() in adobeFireflyClient.ts:

  • Default / missing / empty / auto / high / 4k / ultra / unknown → 5
  • medium / 2k / standard / hd / 3 → 3
  • low / 1k / 1 → 1

detailLevel was already wired into the gpt-image payload path (buildAdobeImagePayload); this only changes the default to maximal.

Tests

  • Extended unit coverage for default, auto, low, medium, 4k tiers.
  • node --import tsx --test tests/unit/adobe-firefly.test.ts → 41/41 PASS

Scope

  • Image generate only (gpt-image family). Nano/generic models are unchanged.
  • No API surface change; OpenAI-style quality mapping remains.

GPT Image 2 quality is dominated by generationSettings.detailLevel (1-5).
The SPA often defaults to 3 (medium); missing/auto quality previously mapped
to 3 as well. Default now to 5 (high/max) so API clients and Media without
an explicit quality still get maximal detail. Explicit low/medium still honored.
@artickc
artickc requested a review from diegosouzapw as a code owner July 28, 2026 15:38
artickc and others added 2 commits July 28, 2026 14:09
adobeFireflyClient.ts 2317->2322 (+5) — this PR's own growth at the existing
payload-build site. Covered by tests/unit/adobe-firefly.test.ts.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
# Conflicts:
#	config/quality/file-size-baseline.json
@diegosouzapw
diegosouzapw merged commit fff11cb into cheaper-inference:release/v3.8.49 Jul 28, 2026
5 checks passed
diegosouzapw added a commit that referenced this pull request Jul 28, 2026
…redited)

Second aggregation pass, for the PRs merged after the main reconciliation:
#8860, #8861, #8862, #8863, #8865, #8866.

The `### 📝 Maintenance` heading added to the living section in 26a7783 held —
[3.8.47] stays at its 234 bullets instead of absorbing this cycle's maintenance
entries. Credits attached where the fragment carried the number only in its
filename: @HouMinXi (#8860, #8865), @artickc (#8863), @rafaeldrincon (#8866).
#8862 already carried its own link and credit.

[3.8.49]: 1172 -> 1178 bullets · contributors 155 -> 156 · 42 i18n mirrors synced.
@diegosouzapw diegosouzapw mentioned this pull request Jul 28, 2026
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…aper-inference#8863)

* fix(adobe-firefly): default gpt-image detailLevel to maximal (5)

GPT Image 2 quality is dominated by generationSettings.detailLevel (1-5).
The SPA often defaults to 3 (medium); missing/auto quality previously mapped
to 3 as well. Default now to 5 (high/max) so API clients and Media without
an explicit quality still get maximal detail. Explicit low/medium still honored.

* chore(quality): rebaseline adobeFireflyClient + changelog fragment

adobeFireflyClient.ts 2317->2322 (+5) — this PR's own growth at the existing
payload-build site. Covered by tests/unit/adobe-firefly.test.ts.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com>
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…redited)

Second aggregation pass, for the PRs merged after the main reconciliation:
cheaper-inference#8860, cheaper-inference#8861, cheaper-inference#8862, cheaper-inference#8863, cheaper-inference#8865, cheaper-inference#8866.

The `### 📝 Maintenance` heading added to the living section in ae5bf9e held —
[3.8.47] stays at its 234 bullets instead of absorbing this cycle's maintenance
entries. Credits attached where the fragment carried the number only in its
filename: @HouMinXi (cheaper-inference#8860, cheaper-inference#8865), @artickc (cheaper-inference#8863), @rafaeldrincon (cheaper-inference#8866).
cheaper-inference#8862 already carried its own link and credit.

[3.8.49]: 1172 -> 1178 bullets · contributors 155 -> 156 · 42 i18n mirrors synced.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants