---
title: "Migrating from Other Services to 1折AI"
description: "Migrate item by item across address, key, model, protocol, and features, while keeping the original configuration for rollback."
headingIds: {"Check Four Configuration Items Together":"section-1","Verify in Order":"section-2","Scope of Environment Variables":"section-3","Rollback When Switching Fails":"section-4"}
---

<aside className="docs-publication" data-pagefind-ignore>

Documentation maintained by [1ZheAI](https://1zheai.com/en/editorial/#publisher). [Sources and corrections](https://1zheai.com/en/editorial/).

Found an error? [Contact support](mailto:support@1zheai.com) with the page address and a description. Do not send API keys or account credentials.

</aside>
Save the original configuration before migrating. First verify in a separate terminal or development environment, and only change your commonly used tools or production services after confirming success.

## Check Four Configuration Items Together

| Configuration | How to write it in 1折AI | Common mistakes |
| --- | --- | --- |
| OpenAI Base URL | `https://1zheai.com/v1` | Writing an extra `/chat/completions`, or omitting `/v1` |
| Anthropic Base URL | `https://1zheai.com` | The SDK appends `/v1` once again |
| API key | A key created in this site's console | Reusing the key from the old provider |
| Model ID | The full ID returned by this site's `/v1/models` | Reusing names with a `vendor/` prefix or a custom suffix |

Raw HTTP requests require the full endpoint path; SDKs and desktop tools usually only require the Base URL. Refer to [the corresponding tool tutorial ](/en/docs/integrations/) for details.

## Verify in Order

<Steps>
<Step title="Check the model list">

Call once according to [the model query API ](/en/docs/api-models/). If it fails, first fix the address, credentials, or access conditions; do not adjust multiple business parameters at the same time.

</Step>
<Step title="Get a minimal text request working">

Choose [Chat Completions ](/en/docs/api-chat-completions/), [Responses ](/en/docs/api-responses/), or [Messages ](/en/docs/api-messages/). Keep the protocol required by the original client, and remove optional parameters first.

</Step>
<Step title="Restore business features one by one">

Verify streaming, multi-turn history, tool calls, and other required capabilities in turn. Add only one item at a time, and keep comparable error responses. Success with plain text does not mean that all of an Agent's file, search, and auxiliary model features are compatible.

</Step>
<Step title="Verify where requests actually come from">

Confirm the request time and model in [the call log ](/en/docs/usage-logs/). Restart terminals, IDEs, or background services that need to reload configuration, to avoid them still using the old environment variables.

</Step>
</Steps>

## Scope of Environment Variables

`export` in the terminal only affects the current shell and child processes started afterward. Desktop applications, containers, scheduled tasks, and system services may use a different set of environments; configure credentials where the program actually runs.

Fields with the same name in configuration files may also override environment variables. Tools such as Claude Code and Codex each refer to their own tutorials; do not pile all provider variables into the global shell configuration at once.

## Rollback When Switching Fails

Restore the previously saved provider, address, and model configuration, and restart the client. If you are migrating a production workload, first verify with a small number of requests before expanding the scope; keep the application-layer configuration switching method so the service can be restored easily.

If you are unsure whether a feature is available, check the model catalog or contact support. Do not assume this site offers the same services just because other platforms provide Embeddings, Batch, or a particular proprietary image model.
