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

# AI SDK - Fournisseur Aihubmix

> Utilisez Aihubmix comme fournisseur de grands modèles dans l'AI SDK, en accédant à de très nombreux modèles avec une seule clé.

[Site officiel](https://ai-sdk.dev/providers/community-providers/aihubmix)

## Fonctionnalités prises en charge

Le fournisseur Aihubmix prend en charge les fonctionnalités d'IA suivantes, afin que votre produit ne soit plus limité à être piloté par un LLM :

* **Génération de texte** : générer du contenu textuel à l'aide de divers modèles
* **Texte en streaming** : streaming de texte en temps réel
* **Génération d'images** : créer des images à partir de prompts textuels
* **Embeddings vectoriels** : embeddings de texte individuels et par lots
* **Génération d'objets** : génération de données structurées
* **Objets en streaming** : streaming en temps réel de données structurées
* **Synthèse vocale** : synthèse vocale à partir de texte
* **Transcription** : conversion de la parole en texte
* **Outils** : recherche web et autres outils

## Installation

Aihubmix est disponible dans le module `@aihubmix/ai-sdk-provider`. Installez-le via [@aihubmix/ai-sdk-provider](https://www.npmjs.com/package/@aihubmix/ai-sdk-provider) :

<CodeGroup>
  ```bash ai 4.3 theme={null}
  npm i @aihubmix/ai-sdk-provider@0.0.1
  ```

  ```bash ai 5 beta theme={null}
  npm i @aihubmix/ai-sdk-provider
  ```
</CodeGroup>

## Instance du fournisseur

Vous pouvez importer l'instance par défaut du fournisseur, `aihubmix`, depuis `@aihubmix/ai-sdk-provider` :

```ts theme={null}
import { aihubmix } from '@aihubmix/ai-sdk-provider';
```

## Configuration

Définissez votre clé API Aihubmix en tant que variable d'environnement pour un accès sécurisé :

```bash theme={null}
export AIHUBMIX_API_KEY="your-api-key-here"
```

Ou passez-la directement au fournisseur :

```ts theme={null}
import { createAihubmix } from '@aihubmix/ai-sdk-provider';

const aihubmix = createAihubmix({
  apiKey: 'your-api-key-here',
});
```

## Utilisation

Importez les fonctions nécessaires :

```ts theme={null}
import { createAihubmix } from '@aihubmix/ai-sdk-provider';
import { 
  generateText, 
  streamText, 
  generateImage, 
  embed, 
  embedMany, 
  generateObject, 
  streamObject, 
  generateSpeech, 
  transcribe 
} from 'ai';
import { z } from 'zod';
```

Exemples de différents types d'appels de génération d'IA :

<CodeGroup>
  ```ts Generate Text theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { generateText } from 'ai';

  const { text } = await generateText({
    model: aihubmix('o4-mini'),
    prompt: 'Write a vegetarian lasagna recipe for 4 people.',
  });
  ```

  ```ts Claude Model theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { generateText } from 'ai';

  const { text } = await generateText({
    model: aihubmix('claude-3-7-sonnet-20250219'),
    prompt: 'Explain quantum computing in simple terms.',
  });
  ```

  ```ts Gemini Model theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { generateText } from 'ai';

  const { text } = await generateText({
    model: aihubmix('gemini-2.5-flash'),
    prompt: 'Create a Python script to sort a list of numbers.',
  });
  ```

  ```ts Stream Text theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { streamText } from 'ai';

  const result = streamText({
    model: aihubmix('gpt-3.5-turbo'),
    prompt: 'Write a short story about a robot learning to paint.',
    maxOutputTokens: 256,
    temperature: 0.3,
    maxRetries: 3,
  });

  let fullText = '';
  for await (const textPart of result.textStream) {
    fullText += textPart;
    process.stdout.write(textPart);
  }

  console.log('\nUsage:', await result.usage);
  console.log('Finish Reason:', await result.finishReason);
  ```

  ```ts Generate Object theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { generateObject } from 'ai';
  import { z } from 'zod';

  const result = await generateObject({
    model: aihubmix('gpt-4o-mini'),
    schema: z.object({
      recipe: z.object({
        name: z.string(),
        ingredients: z.array(
          z.object({
            name: z.string(),
            amount: z.string(),
          }),
        ),
        steps: z.array(z.string()),
      }),
    }),
    prompt: 'Generate a lasagna recipe.',
  });

  console.log(JSON.stringify(result.object.recipe, null, 2));
  console.log('Token Usage:', result.usage);
  console.log('Finish Reason:', result.finishReason);
  ```

  ```ts Stream Object theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { streamObject } from 'ai';
  import { z } from 'zod';

  const result = await streamObject({
    model: aihubmix('gpt-4o-mini'),
    schema: z.object({
      recipe: z.object({
        name: z.string(),
        ingredients: z.array(
          z.object({
            name: z.string(),
            amount: z.string(),
          }),
        ),
        steps: z.array(z.string()),
      }),
    }),
    prompt: 'Generate a lasagna recipe.',
  });

  for await (const objectPart of result.partialObjectStream) {
    console.log(objectPart);
  }

  console.log('Token Usage:', result.usage);
  console.log('Final Object:', result.object);
  ```

  ```ts Tool Calling theme={null}
  // The Aihubmix provider supports various tools, including web search:
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { generateText } from 'ai';

  const { text } = await generateText({
    model: aihubmix('gpt-4'),
    prompt: 'What are the latest developments in AI?',
    tools: {
      webSearchPreview: aihubmix.tools.webSearchPreview({
        searchContextSize: 'high',
      }),
    },
  });
  ```

  ```ts Image Generation theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { generateImage } from 'ai';

  const { image } = await generateImage({
    model: aihubmix.image('gpt-image-1'),
    prompt: 'A beautiful sunset in the mountains',
  });
  ```

  ```ts Speech Synthesis theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { generateSpeech } from 'ai';

  const { audio } = await generateSpeech({
    model: aihubmix.speech('tts-1'),
    text: 'Hello, this is a test of speech synthesis.',
  });

  // Save the audio file
  await saveAudioFile(audio);
  console.log('Audio generated successfully:', audio);
  ```

  ```ts Transcription theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { transcribe } from 'ai';

  const { text } = await transcribe({
    model: aihubmix.transcription('whisper-1'),
    audio: audioFile,
  });
  ```

  ```ts Vector Embedding theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { embed } from 'ai';

  const { embedding } = await embed({
    model: aihubmix.embedding('text-embedding-ada-002'),
    value: 'Hello, world!',
  });
  ```

  ```ts Batch Embedding theme={null}
  import { aihubmix } from '@aihubmix/ai-sdk-provider';
  import { embedMany } from 'ai';

  const { embeddings, usage } = await embedMany({
    model: aihubmix.embedding('text-embedding-3-small'),
    values: [
      'A sunny day at the beach',
      'A rainy afternoon in the city',
      'A snowy night in the mountains',
    ],
  });

  console.log('Embeddings:', embeddings);
  console.log('Usage:', usage);
  ```
</CodeGroup>

## Ressources connexes :

* [Fournisseur Aihubmix](https://v5.ai-sdk.dev/providers/community-providers/aihubmix)
* [AI SDK](https://ai-sdk.dev/docs)

***

Dernière mise à jour : 2026-06-01
