Migrando da OpenAI
A Assistants API da OpenAI está sendo desligada — aqui ela continua: troque a base URL e a chave.
Atualizado em 10 de ago. de 2026
A OpenAI marcou a Assistants API para desligamento definitivo. Se a sua aplicação depende de assistentes, threads e runs, você não precisa reescrevê-la para outro paradigma: a HINOW mantém a mesma superfície, ativamente. A migração são três mudanças — base URL, chave e modelo.
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["HINOW_API_KEY"], # hi_...
base_url="https://api.hinow.ai/v1",
)
assistant = client.beta.assistants.create(
model="hinow/himax",
name="Analista",
instructions="Você é um analista objetivo.",
)
run = client.beta.threads.create_and_run_poll(
assistant_id=assistant.id,
thread={"messages": [{"role": "user", "content": "Qual a capital da França?"}]},
)
print(run.status) # completedimport OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.HINOW_API_KEY, // hi_...
baseURL: 'https://api.hinow.ai/v1',
});
const assistant = await client.beta.assistants.create({
model: 'hinow/himax',
name: 'Analista',
instructions: 'Você é um analista objetivo.',
});
const run = await client.beta.threads.createAndRunPoll({
assistant_id: assistant.id,
thread: { messages: [{ role: 'user', content: 'Qual a capital da França?' }] },
});
console.log(run.status); // completed- Objetos e campos —
assistant,thread,thread.message,thread.run,thread.run.step,file,vector_store, com os mesmos nomes de campos e envelopes de lista (first_id,last_id,has_more). - Estados do run —
queued→in_progress→requires_action→completed/incomplete/failed/cancelled/expired. - Eventos de streaming —
thread.run.*,thread.run.step.*,thread.message.*,done/[DONE]. - Erros —
{"error": {"message", "type", "param", "code"}}. - Ferramentas —
file_search,function(comrequires_action/submit_tool_outputs) e o formato docode_interpreter. - Paginação —
limit,order,after,before.
| Tema | Aqui |
|---|---|
| Modelo | Use o catálogo HINOW — hinow/himax é a recomendação. Os nomes de modelo usados no código antigo são aceitos como alias e mapeados para o catálogo. |
Header OpenAI-Beta | Desnecessário; se o SDK enviar, é ignorado. |
| Run concorrente | Segundo run na mesma thread → 400 invalid_request_error (na OpenAI o código variou entre versões — trate pelo type). |
| Prazo do run | 10 minutos, incluindo a espera em requires_action. |
| Upload | Até 25 MB por arquivo. |
| Listar threads | GET /v1/threads existe aqui (extensão) — a OpenAI nunca ofereceu. |
code_interpreter | Aceito para compatibilidade; execução em desenvolvimento — veja a página Interpretador de código. |
Cobrança transparente
Cada run cobra apenas as chamadas de modelo que fizer, na mesma tabela do chat/completions — o usage do run (prompt, completion e total de tokens) mostra exatamente o que foi consumido.
Esta página foi útil?

