Skip to content

feat(api): expose image tool call metadata - #987

Open
markstuart-oai wants to merge 1 commit into
mainfrom
castiron/promotions/pr-78
Open

feat(api): expose image tool call metadata#987
markstuart-oai wants to merge 1 commit into
mainfrom
castiron/promotions/pr-78

Conversation

@markstuart-oai

Copy link
Copy Markdown
Contributor

Summary

Add image tool call metadata accessors and service-account API-key expiry options.

Changes

  • Expose optional, nullable action, background, output format, and revised prompt on image tool calls.
  • Preserve existing quality, custom dimensions, and legacy image-call input types.
  • Add optional service-account API-key expiry controls and expiry timestamps.
  • Refresh API documentation links.

Castiron-Internal-PR: openai/openai-java-internal#78
Castiron-Source-SHA: e7e2a45dfead76784c66718dc11ea22ecfb00ef7
Castiron-Public-Base-SHA: 3ae2730
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Castiron custom code

✅ No new custom-code files detected.

55 mixed files remain; 0 existing customizations changed; 12 generated baselines changed.

Compared 3ae2730ac13ff64977e3d08a. Generated baselines verified.

File Result Current custom patch
openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionCreateParams.kt Generated baseline changed +42 / −57
openai-java-core/src/main/kotlin/com/openai/models/embeddings/Embedding.kt Generated baseline changed +53 / −17
openai-java-core/src/main/kotlin/com/openai/models/embeddings/EmbeddingCreateParams.kt Generated baseline changed +2 / −1
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseCreateParams.kt Generated baseline changed +58 / −0
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionToolCall.kt Generated baseline changed +16 / −0
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionWebSearch.kt Generated baseline changed +22 / −22
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt Generated baseline changed +9 / −0
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseTextConfig.kt Generated baseline changed +23 / −0
openai-java-core/src/main/kotlin/com/openai/services/async/ResponseServiceAsync.kt Generated baseline changed +46 / −0
openai-java-core/src/main/kotlin/com/openai/services/async/chat/ChatCompletionServiceAsync.kt Generated baseline changed +48 / −0
openai-java-core/src/main/kotlin/com/openai/services/blocking/ResponseService.kt Generated baseline changed +45 / −0
openai-java-core/src/main/kotlin/com/openai/services/blocking/chat/ChatCompletionService.kt Generated baseline changed +48 / −0
43 existing customizations unchanged
  • openai-java-core/src/main/kotlin/com/openai/models/audio/AudioResponseFormat.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionMessageFunctionToolCall.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionToolMessageParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/videos/Video.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/BetaServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/BetaServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/ResponseServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/WebhookServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/WebhookServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/audio/TranscriptionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/finetuning/checkpoints/PermissionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/BetaService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/BetaServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/ResponseServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/WebhookService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/WebhookServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/audio/TranscriptionServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/finetuning/checkpoints/PermissionServiceImpl.kt
  • openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponseFunctionWebSearchTest.kt
  • openai-java-core/src/test/kotlin/com/openai/models/beta/responses/BetaResponsesServerEventTest.kt
  • openai-java-core/src/test/kotlin/com/openai/models/responses/ResponseFunctionWebSearchTest.kt
  • openai-java-core/src/test/kotlin/com/openai/models/responses/ResponsesServerEventTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/CompletionServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/ImageServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/ResponseServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/WebhookServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/audio/TranscriptionServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/beta/ResponseServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/beta/ThreadServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/beta/threads/RunServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/async/chat/ChatCompletionServiceAsyncTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/CompletionServiceTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/ImageServiceTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/ResponseServiceTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/WebhookServiceTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/audio/TranscriptionServiceTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/beta/ResponseServiceTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/beta/ThreadServiceTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/beta/threads/RunServiceTest.kt
  • openai-java-core/src/test/kotlin/com/openai/services/blocking/chat/ChatCompletionServiceTest.kt

3 more in the full report.

A changed generated baseline means this report cannot reliably identify which handwritten lines changed.

Inspect the custom-code diff

Download the exact patch produced by this run (requires repository access):

gh run download 34317507215 --repo openai/openai-java \
  --name castiron-custom-code-34317507215-1 --dir /tmp/castiron-custom-code-34317507215-1
git apply --stat /tmp/castiron-custom-code-34317507215-1/custom-code.patch
cat /tmp/castiron-custom-code-34317507215-1/custom-code.patch

Or reproduce it from an SDK checkout containing the vendored reporter:

git fetch --no-tags origin 3ae2730ac13f70aacdc32b4b7a1a4d621c2ef858 f64977e3d08a043de6963b509c67cbe227a63057
python3 scripts/castiron/custom_code_report.py report \
  --base 3ae2730ac13f70aacdc32b4b7a1a4d621c2ef858 \
  --head f64977e3d08a043de6963b509c67cbe227a63057 --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-f64977e3d08a
cat /tmp/castiron-custom-code-f64977e3d08a/custom-code.patch

This is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR.

Full report and patch

@markstuart-oai
markstuart-oai marked this pull request as ready for review September 9, 2026 06:04
@markstuart-oai
markstuart-oai requested a review from a team as a code owner September 9, 2026 06:04
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-09T06:08:19.138469Z f64977e Draft marked ready
🔒 Security Review Completed 2026-09-09T06:10:19.695260Z f64977e Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@openai-sdks

openai-sdks Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

OkTest Summary

236/236 SDK tests passed in 20.561s for Java SDK PR #987.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 882ms
tests/chat-completions-create.test.ts ✅ Passed 796ms
tests/chat-completions-stream.test.ts ✅ Passed 940ms
tests/files-content-binary.test.ts ✅ Passed 309ms
tests/files-create-multipart.test.ts ✅ Passed 344ms
tests/files-list-pagination.test.ts ✅ Passed 299ms
tests/initialize-config.test.ts ✅ Passed 254ms
tests/instance-isolation.test.ts ✅ Passed 200ms
tests/models-list.test.ts ✅ Passed 279ms
tests/responses-background-lifecycle.test.ts ✅ Passed 325ms
tests/responses-body-method-errors.test.ts ✅ Passed 573ms
tests/responses-cancel-timeout.test.ts ✅ Passed 275ms
tests/responses-cancel.test.ts ✅ Passed 453ms
tests/responses-compact-retries.test.ts ✅ Passed 618ms
tests/responses-compact.test.ts ✅ Passed 287ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 988ms
tests/responses-create-advanced.test.ts ✅ Passed 1.567s
tests/responses-create-disconnect.test.ts ✅ Passed 1.045s
tests/responses-create-errors.test.ts ✅ Passed 306ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 298ms
tests/responses-create-retries.test.ts ✅ Passed 430ms
tests/responses-create-stream-failures.test.ts ✅ Passed 299ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 288ms
tests/responses-create-stream-wire.test.ts ✅ Passed 8.171s
tests/responses-create-stream.test.ts ✅ Passed 316ms
tests/responses-create-terminal-states.test.ts ✅ Passed 391ms
tests/responses-create-timeout.test.ts ✅ Passed 217ms
tests/responses-create.test.ts ✅ Passed 394ms
tests/responses-delete.test.ts ✅ Passed 316ms
tests/responses-input-items-errors.test.ts ✅ Passed 449ms
tests/responses-input-items-list.test.ts ✅ Passed 630ms
tests/responses-input-items-options.test.ts ✅ Passed 496ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 296ms
tests/responses-input-tokens-count.test.ts ✅ Passed 367ms
tests/responses-malformed-inputs.test.ts ✅ Passed 6.677s
tests/responses-not-found-errors.test.ts ✅ Passed 433ms
tests/responses-parse.test.ts ✅ Passed 764ms
tests/responses-retrieve-retries.test.ts ✅ Passed 1.049s
tests/responses-retrieve.test.ts ✅ Passed 368ms
tests/responses-stored-method-errors.test.ts ✅ Passed 1.059s
tests/retry-behavior.test.ts ✅ Passed 3.783s
tests/sdk-error-shape.test.ts ✅ Passed 542ms

View OkTest run #34317485454

SDK merge (43feb8f297ce) · head (f64977e3d08a) · base (3ae2730ac13f) · OkTest (08ec4299e769)

@jbeckwith-oai jbeckwith-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the exact public promotion. Its SDK content matches the already-reviewed internal candidate, apart from the expected public generation marker and a correct README typo fix. Existing required fields remain required; new metadata is optional/nullable, custom size strings remain accepted, and exact-head CI/API compatibility checks are green.

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