> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sunra.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# जावा

[![मावेन सेंट्रल संस्करण](https://img.shields.io/maven-central/v/ai.sunra.client/sunra-client)](https://search.maven.org/artifact/ai.sunra.client/sunra-client)

### परिचय

जावा के लिए क्लाइंट लाइब्रेरी Sunra की सेवाओं के साथ बातचीत करने के लिए एक उपयोग में आसान इंटरफ़ेस प्रदान करती है।

### स्थापना

क्लाइंट को अपने प्रोजेक्ट में एकीकृत करने के लिए, मावेन या ग्रेडेल का उपयोग करके निर्भरता जोड़ें:

<CodeGroup>
  ```kotlin Gradle theme={null}
  implementation("ai.sunra.client:sunra-client:0.1.5")
  ```

  ```xml Maven theme={null}
  <dependency>
      <groupId>ai.sunra.client</groupId>
      <artifactId>sunra-client</artifactId>
      <version>0.1.5</version>
  </dependency>
  ```
</CodeGroup>

### सुविधाएँ

#### एंडपॉइंट्स को कॉल करना

Sunra एक कतार प्रणाली के माध्यम से एंडपॉइंट अनुरोधों का प्रबंधन करता है, जिससे विश्वसनीयता और मापनीयता सुनिश्चित होती है। अनुरोध सबमिट करने और परिणाम की प्रतीक्षा करने के लिए `subscribe` विधि का उपयोग करें।

**उदाहरण:**

```java theme={null}
import ai.sunra.client.*;
import ai.sunra.client.queue.*;
import java.util.Map;
import com.google.gson.JsonObject;
import java.util.function.Consumer;

ClientConfig config = ClientConfig.builder()
    .withCredentials(CredentialsResolver.fromEnv())
    .build();

SunraClient client = SunraClient.withConfig(config);
Map<String, Object> input = Map.of(
    "prompt", "पार्क में दौड़ता हुआ एक कुत्ता");

Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
    String status = update.getStatus().toString();
    String message = String.format("\nस्थिति अद्यतन: %s, अनुरोध आईडी: %s",
        status, update.getRequestId());
    System.out.println(message);
};

SubscribeOptions<JsonObject> options = SubscribeOptions.<JsonObject>builder()
    .input(input)
    .resultType(JsonObject.class)
    .onQueueUpdate(statusUpdateHandler)
    .logs(true)
    .build();

// सदस्यता अनुरोध को एक चर में सहेजें और इसे प्रिंट करें
Output<JsonObject> response = client.subscribe("black-forest-labs/flux-kontext-pro/text-to-image", options);
System.out.println("पूरा हुआ!");
System.out.println(response.getData());
```

#### कतार प्रबंधन

इन विधियों से अपने अनुरोधों का प्रबंधन करें:

##### अनुरोध सबमिट करना

एक अनुरोध सबमिट करें और बाद में उपयोग के लिए `request_id` प्राप्त करें।

**उदाहरण:**

```java theme={null}
import ai.sunra.client.*;
import ai.sunra.client.queue.*;
import java.util.Map;
import com.google.gson.JsonObject;
import java.util.function.Consumer;

ClientConfig config = ClientConfig.builder()
    .withCredentials(CredentialsResolver.fromEnv())
    .build();

SunraClient client = SunraClient.withConfig(config);
Map<String, Object> input = Map.of(
    "prompt", "पार्क में दौड़ता हुआ एक कुत्ता");

Consumer<QueueStatus.StatusUpdate> statusUpdateHandler = update -> {
    String status = update.getStatus().toString();
    String message = String.format("\nस्थिति अद्यतन: %s, अनुरोध आईडी: %s",
        status, update.getRequestId());
    System.out.println(message);
};

SubscribeOptions<JsonObject> options = SubscribeOptions.<JsonObject>builder()
    .input(input)
    .resultType(JsonObject.class)
    .onQueueUpdate(statusUpdateHandler)
    .logs(true)
    .build();

// सदस्यता अनुरोध को एक चर में सहेजें और इसे प्रिंट करें
var request = client.queue().submit("black-forest-labs/flux-kontext-pro/text-to-image", options);
```

##### अनुरोध की स्थिति की जाँच करना

अनुरोध की स्थिति प्राप्त करें।

**उदाहरण:**

```java theme={null}
import ai.sunra.client.*;
import ai.sunra.client.queue.*;

ClientConfig config = ClientConfig.builder()
    .withCredentials(CredentialsResolver.fromEnv())
    .build();

SunraClient client = SunraClient.withConfig(config);
var job = client.queue().status(QueueStatusOptions.withRequestId("pd_eTYYuw4EqYLzRBHgnAMHA8zH"));
```

##### अनुरोध के परिणाम प्राप्त करना

एक पूर्ण अनुरोध का परिणाम प्राप्त करें।

**उदाहरण:**

```java theme={null}
import ai.sunra.client.*;
import ai.sunra.client.queue.*;

ClientConfig config = ClientConfig.builder()
    .withCredentials(CredentialsResolver.fromEnv())
    .build();

SunraClient client = SunraClient.withConfig(config);
var result = client.queue().result(QueueStatusOptions.withRequestId("pd_eTYYuw4EqYLzRBHgnAMHA8zH"));
```

#### फ़ाइल अपलोड

<Note>अभी तक लागू नहीं किया गया है।</Note>

<Note>अधिकतम फ़ाइल आकार: 100MB</Note>

### सहायता

सहायता या चर्चा के लिए हमारे समुदाय में शामिल हों:

* **डिस्कॉर्ड समुदाय**: [हमसे जुड़ें](https://discord.gg/897qCzvCcU)
* **गिटहब रिपोजिटरी**: [यहां जाएं](https://github.com/sunra-ai/sunra-clients)

हम आपकी सहायता के लिए यहां हैं!
