diff --git a/.changeset/pretty-keys-greet.md b/.changeset/pretty-keys-greet.md
new file mode 100644
index 0000000000000000000000000000000000000000..b1338505a0e9835a18e3e81cd0430746b67c1617
--- /dev/null
+++ b/.changeset/pretty-keys-greet.md
@@ -0,0 +1,6 @@
+---
+"@llamaindex/openai": patch
+"llamaindex": patch
+---
+
+fix: take init api key into account
diff --git a/packages/llm/openai/src/embedding.ts b/packages/llm/openai/src/embedding.ts
index 3e390c6f8b5312361a151359a8306f750ce3e524..bb6bf4ff2057bcc309a6c6b7718c4304259e18be 100644
--- a/packages/llm/openai/src/embedding.ts
+++ b/packages/llm/openai/src/embedding.ts
@@ -114,7 +114,8 @@ export class OpenAIEmbedding extends BaseEmbedding {
             }),
         );
     } else {
-      this.apiKey = init?.session?.apiKey ?? getEnv("OPENAI_API_KEY");
+      this.apiKey =
+        init?.session?.apiKey ?? init?.apiKey ?? getEnv("OPENAI_API_KEY");
       this.lazySession = async () =>
         import("openai").then(({ OpenAI }) => {
           return (