# Migrare da OpenAI e Anthropic

> Porta il codice esistente su NotHoly cambiando l'URL base, la chiave e l'ID del modello.


| Usi | Cambia |
|---|---|
| SDK di OpenAI | `base_url="https://api.notholy.com/v1"`, `api_key=NOTHOLY_API_KEY`, `model="notholy-specter"` |
| SDK di Anthropic | `base_url="https://api.notholy.com"`, `api_key=NOTHOLY_API_KEY`, `model="notholy-specter"` |
| HTTP diretto | Stessi percorsi sotto `https://api.notholy.com/v1` |

```bash test
curl https://api.notholy.com/v1/chat/completions \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "notholy-specter", "messages": [{"role": "user", "content": "ping"}]}'
```

## Cosa si comporta in modo diverso

- Responses non conserva stato. `previous_response_id` restituisce 400.
- `cache_control` viene ignorato. La cache è automatica.
- Le fonti PDF `document` in Messages restituiscono 400.
- Gli strumenti lato server non vengono eseguiti. Solo i tuoi strumenti function.
- `n` deve essere 1.
- Non c'è ancora un modello di embedding.
- Gli endpoint di batch, fine-tuning, assistants, audio e generazione di immagini non esistono.

## Prossimi passi

- [SDK](/it/getting-started/sdks)
