@@ -93,32 +93,32 @@ print(chatCompletion.choices.first.message.content);
9393
9494## 📊 API Coverage (2025)
9595
96- | API feature | Status | Details |
97- | --------------| --------| ----------|
98- | ** 📋 [ Responses] ( #-responses ) ** | ✅ Complete | excluding stream functionality |
99- | ** 💭 [ Conversations] ( #-conversations ) ** | ✅ Complete | All |
100- | ** 🎵 [ Audio] ( #-audio ) ** | ✅ Complete | All |
101- | ** 🎬 [ Videos] ( #-videos ) ** | 🗓️ planned | - |
102- | ** 🎨 [ Images] ( #-images ) ** | ✅ Complete | All |
103- | ** 🎨 [ Images Streaaming] ( #-images-streaaming ) ** | 🗓️ planned | - |
104- | ** 📊 [ Embeddings] ( #-embeddings ) ** | ✅ Complete | All |
105- | ** ⚖️ [ Evals] ( #️-evals ) ** | 🗓️ planned | - |
106- | ** 🔧 [ Fine-tuning] ( #-fine-tuning ) ** | 🧩 70% Complete | missing newer endpoints |
107- | ** 📊 [ Graders] ( #-graders ) ** | ✅ Complete | All |
108- | ** 📦 [ Batch] ( #-batch ) ** | 🗓️ planned | - |
109- | ** 📁 [ Files] ( #-files ) ** | ✅ Complete | All |
110- | ** 📤 [ Uploads] ( #-uploads ) ** | 🗓️ planned | - |
111- | ** 🤖 [ Models] ( #-models ) ** | ✅ Complete | All |
112- | ** 🛡️ [ Moderation] ( #️-moderation ) ** | ✅ Complete | All|
113- | ** 🗃️ [ Vector Stores] ( #️-vector-stores ) ** | 🗓️ planned | - |
114- | ** 💬 ChatKit** | ❌ NOt planned | Beta feature |
115- | ** 📦 [ Containers] ( #-containers ) ** | 🗓️ planned | - |
116- | ** 🕛 [ Real-time] ( #-real-time ) ** | 🗓️ planned | - |
117- | ** 💬 [ Chat Completions] ( #-chat-completions ) ** | ✅ Complete | excluding stream functionality |
118- | ** 🤖 Assistants** | NOt planned | beta feature |
119- | ** 🤖 [ Administration] ( #-administration ) ** | 🗓️ planned | - |
120- | ** 📝 Completions (Legacy)** | ✅ Complete | Create, Stream, Log probabilities |
121- | ** ✏️ Edits (Legacy)** | ✅ Complete | Text editing (deprecated by OpenAI) |
96+ | API feature | Status | Details | Last Updated |
97+ | --------------| --------| ----------| -------------- |
98+ | ** 📋 [ Responses] ( #-responses ) ** | ✅ Complete | All | 11-08-2025 17:33:39 |
99+ | ** 💭 [ Conversations] ( #-conversations ) ** | ✅ Complete | All | 11-08-2025 17:38:56 |
100+ | ** 🎵 [ Audio] ( #-audio ) ** | ✅ Complete | All | 11-08-2025 17:42:54 |
101+ | ** 🎬 [ Videos] ( #-videos ) ** | 🗓️ planned | - ||
102+ | ** 🎨 [ Images] ( #-images ) ** | ✅ Complete | All | 11-08-2025 17:53:45 |
103+ | ** 🎨 [ Images Streaaming] ( #-images-streaaming ) ** | 🗓️ planned | - ||
104+ | ** 📊 [ Embeddings] ( #-embeddings ) ** | ✅ Complete | All | 11-08-2025 17:56:30 |
105+ | ** ⚖️ [ Evals] ( #️-evals ) ** | ✅ Complete | All | 11-08-2025 21:04:36 |
106+ | ** 🔧 [ Fine-tuning] ( #-fine-tuning ) ** | 🧩 70% Complete | missing newer endpoints ||
107+ | ** 📊 [ Graders] ( #-graders ) ** | ✅ Complete | All ||
108+ | ** 📦 [ Batch] ( #-batch ) ** | 🗓️ planned | - ||
109+ | ** 📁 [ Files] ( #-files ) ** | ✅ Complete | All ||
110+ | ** 📤 [ Uploads] ( #-uploads ) ** | 🗓️ planned | - ||
111+ | ** 🤖 [ Models] ( #-models ) ** | ✅ Complete | All ||
112+ | ** 🛡️ [ Moderation] ( #️-moderation ) ** | ✅ Complete | All||
113+ | ** 🗃️ [ Vector Stores] ( #️-vector-stores ) ** | 🗓️ planned | - ||
114+ | ** 💬 ChatKit** | ❌ NOt planned | Beta feature ||
115+ | ** 📦 [ Containers] ( #-containers ) ** | 🗓️ planned | - ||
116+ | ** 🕛 [ Real-time] ( #-real-time ) ** | 🗓️ planned | - ||
117+ | ** 💬 [ Chat Completions] ( #-chat-completions ) ** | ✅ Complete | excluding stream functionality ||
118+ | ** 🤖 Assistants** | NOt planned | beta feature ||
119+ | ** 🤖 [ Administration] ( #-administration ) ** | 🗓️ planned | - ||
120+ | ** 📝 Completions (Legacy)** | ✅ Complete | Create, Stream, Log probabilities ||
121+ | ** ✏️ Edits (Legacy)** | ✅ Complete | Text editing (deprecated by OpenAI) ||
122122
123123---
124124
@@ -146,12 +146,6 @@ await OpenAI.instance.responses.delete(
146146 responseId: "response-id-here",
147147);
148148
149- // Update response
150- OpenAIResponseModel updatedResponse = await OpenAI.instance.responses.update(
151- "response-id",
152- // ... update parameters
153- );
154-
155149// Cancel response
156150OpenAiResponse response = await OpenAI.instance.responses.cancel(
157151 responseId: "response-id-here",
@@ -163,16 +157,24 @@ OpenAiResponseInputItemsList response = await OpenAI.instance.responses.listInpu
163157 limit: 10,
164158);
165159
160+
161+ // Get input token counts
162+ int inputTokens = await OpenAI.instance.responses.getInputTokenCounts(
163+ model: "gpt-5",
164+ input: "Your input text here",
165+ );
166166```
167167
168168#### 💭 Conversations
169169
170170``` dart
171171// Create conversation
172172OpenAIConversation conversation = await OpenAI.instance.conversations.create(
173- items: [
174- // ...
175- ],
173+ items: [{
174+ "type": "message",
175+ "role": "user",
176+ "content": "Hello!",
177+ }],
176178 metadata: {
177179 "key": "value",
178180 "another_key": "another_value",
@@ -318,7 +320,79 @@ OpenAIEmbeddingsModel embedding = await OpenAI.instance.embedding.create(
318320
319321#### ⚖️ Evals
320322
321- // (To be implemented)
323+ ``` dart
324+ // Create eval
325+ OpenAIEval eval = await OpenAI.instance.evals.create(
326+ dataSourceConfig: RequestDatatSourceConfig.logs(),
327+ );
328+
329+ // Get eval
330+ OpenAIEval eval = await OpenAI.instance.evals.get(
331+ evalId: "eval-id-here",
332+ );
333+
334+ // Update eval
335+ OpenAIEval updatedEval = await OpenAI.instance.evals.update(
336+ evalId: "eval-id-here",
337+ metadata: {
338+ "key": "new_value",
339+ },
340+ );
341+
342+ // Delete eval
343+ await OpenAI.instance.evals.delete(
344+ evalId: "eval-id-here",
345+ );
346+
347+ // List evals
348+ OpenAIEvalsList evalsList = await OpenAI.instance.evals.list(
349+ limit: 10,
350+ );
351+
352+ // Get eval runs.
353+ OpenAIEvalRunsList evalRuns = await OpenAI.instance.evals.getRuns(
354+ evalId: "eval-id-here",
355+ limit: 3,
356+ );
357+
358+ // Get Eval run
359+ OpenAIEvalRun evalRun = await OpenAI.instance.evals.getRun(
360+ evalId: "eval-id-here",
361+ runId: "run-id-here",
362+ );
363+
364+ // Create run
365+ OpenAIEvalRun createdRun = await OpenAI.instance.evals.createRun(
366+ evalId: "eval-id-here",
367+ dataSource: EvalRunDataSource.jsonl(),
368+ );
369+
370+ // Cancel run
371+ OpenAIEvalRun canceledRun = await OpenAI.instance.evals.cancel(
372+ evalId: "eval-id-here",
373+ runId: "run-id-here",
374+ );
375+
376+ // Delete run
377+ await OpenAI.instance.evals.deleteRun(
378+ evalId: "eval-id-here",
379+ runId: "run-id-here",
380+ );
381+
382+ // Get output item of eval run.
383+ OpenAIEvalRunOutputItem outputItem = await OpenAI.instance.evals.getEvalRunOutputItem(
384+ evalId: "eval-id-here",
385+ runId: "run-id-here",
386+ outputItemIdn: "item-id-here",
387+ );
388+
389+ // Get eval run output items.
390+ OpenAIEvalRunOutputItemsList outputItems = await OpenAI.instance.evals.getEvalRunOutputItems(
391+ evalId: "eval-id-here",
392+ runId: "run-id-here",
393+ limit: 10,
394+ );
395+ ```
322396
323397#### 🔧 Fine-tuning
324398
0 commit comments